Оновлення ОС Debian Linux

Версія від 14:52, 14 липня 2017, створена Dubyk (обговореннявнесок) (Мета-пакунок ядра)

Стисло про оновлення ОС Debian GNU/Linux…

Оновлення Debian 8 Jessie » Stretch 9

Попередні перевірки пакетів

Вивчаємо список неповністю встановлених пакунків зі станом Half-Installed або Failed-Config.

dpkg --audit

Вивчаємо список відкладених пакунків

dpkg --get-selections | grep 'hold$'

За необхідності оновлюємо ключі

apt-get install debian-keyring debian-archive-keyring

Поновлення існуючої системи

Доводимо Debian Jessie до актуального стану

apt-get update
apt-get upgrade
apt-get dist-upgrade

Якщо Ви налаштували APT на установку деяких пакунків з дистрибутива, відмінного від стабільного (наприклад, тестувального), можливо, доведеться змінити налаштування фіксації в APT (зберігаються у файлі /etc/apt/preferences та теці /etc/apt/preferences.d/), щоб стало можливим оновлення пакунків до версії нового стабільного випуску. Більш детальну інформацію про фіксацію пакунків в APT можна знайти у apt_preferences(5).

У чистій системі немає файлу та каталог пустий, — варто їх почистити і у старій системі перед оновленням.

Закоментувати у /etc/apt/apt.conf

# APT::Default-Release "wheezy";

(якщо таке є)

Видаляємо забуті пакунки:

apt-get autoremove

Видаліть пакунки, які були звантажені при встановленні раніше:

apt-get clean

Репозитарій Stretch

Редагуємо /etc/apt/sources.list та файли у теці /etc/apt/sources.list.d

deb      http://security.debian.org/debian-security stretch/updates main
deb-src  http://security.debian.org/debian-security stretch/updates main

deb      http://ftp.ua.debian.org/debian/ jessie-updates main contrib non-free
deb-src  http://ftp.ua.debian.org/debian/ jessie-updates main contrib non-free

deb      http://ftp.ua.debian.org/debian/  stretch main contrib non-free
deb-src  http://ftp.ua.debian.org/debian/  stretch main contrib non-free
#deb     http://http.us.debian.org/debian/ stretch main contrib non-free
#deb-src http://http.us.debian.org/debian/ stretch main contrib non-free

Оновлення

Оновлюємо список доступних в Debian Stretch пакунків

apt-get update

У деяких випадках виконання відразу повного оновлення (як описано далі) може привести до вилучення великого числа пакунків, які Ви хочете залишити. Тому рекомендуємо проводити оновлення у дві стадії — спочатку мінімальне оновлення, щоб розібратися з конфліктами, а потім повне оновлення, як описано у розділі 4.4.5, „Оновлення системи“.

apt-get upgrade

Це приведе до оновлення лише тих пакунків, які можна оновити без необхідності вилучення або встановлення інших пакунків. Мінімальне оновлення системи також може виявитися корисним, якщо у системі мало вільного місця й повне оновлення запустити через це неможливо.

Після виконання попередніх кроків тепер можна приступити, власне, до оновлення. Виконайте команду:

apt-get dist-upgrade

Ця команда зробить повне оновлення системи, встановивши останні доступні версії усіх пакунків і розв’язавши усі змінені між випусками залежності. При необхідності будуть встановлені нові пакунки (зазвичай, це нові версії бібліотек або перейменовані пакунки) і вилучені усі застарілі пакунки, що викликають конфлікти.

Зауважте: при оновленні пакунків, в конфігураційні файли яких Ви вносили зміни, оновлювач питатиметься у вас що робити: чи встановити новий типовий файл конфігурації, залишити ваш змінений старий чи показати між ними різницю. Якщо суттєвих відмінностей між версіями цього пакунка не було, можна залишати старий файл налаштування. В іншому випадку збережіть копію старого файлу налаштування, виберіть встановлення нового і перенесіть зі старого в новий необхідні вам зміни.

Вилучення застарілих пакунків

Коли команда apt-get dist-upgrade закінчила роботу, «формально» оновлення завершено, але перед перезавантаженням слід виконати ще кілька дій. При оновленні з Jessie до Stretch краще вичистити старі пакунки перед першим перезавантаженням. Зокрема, застарілі системні сценарії запуску можуть призводити до виникнення помилок. Подробиці про те, як знаходити і вичищати вилучені пакунки, див. у розділі 4.8.1 „Вичищення вилучених пакунків“.

Видаляємо старі пакунки Jessie

apt-get autoremove

Розв’язання проблем зі залежностями

Можлива ситуація, коли структура залежностей в системі може бути настільки порушена, що буде потрібно ручне втручання.

Спробуйте

apt-get -f install
dpkg --configure --pending
aptitude upgrade
aptitude upgrade --full-resolver

Наступні команди відображають список усіх вилучених пакунків, чиї файли настройки все ще залишаються в системі (якщо такі є):

dpkg -l | awk '/^rc/ { print $2 }'

Ці пакунки можуть бути вилучені за допомогою команди apt-get purge. Припустимо, хочете вичистити усі ці пакунки за один раз, для цього можна використовувати наступну команду:

apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

Якщо використовуєте aptitude, можете використовувати такі альтернативи наведеним вище командам:

aptitude search '~c'
aptitude purge  '~c'

Можливо, ще раз знадобиться запуск

apt-get autoremove
apt-get clean

Мета-пакунок ядра

При виконанні dist-upgrade з jessie до stretch настійно рекомендується встановити метапакунок linux-image-* (якщо Ви не зробили цього раніше).

aptitude install linux-image-amd64

або

aptitude install linux-image-686

Перевірка версії

apt-get install lsb-core
lsb_release -a
Distributor ID:    Debian
Description:    Debian GNU/Linux 9.0 (stretch)
Release:    9.0
Codename:    stretch

Посилання

Оновлення Debian 6 Squeeze » Wheezy 7

Поновлення існуючої системи

apt-get update
apt-get upgrade
apt-get dist-upgrade

Репозитарій Wheezy

У /etc/apt/sources.list додати рядки

deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

deb http://ftp.us.debian.org/debian wheezy-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian wheezy-updates main contrib non-free

Рядки репозитаріїв Squeeze слід закоментувати.

Оновити перелік пакунків:

apt-get update

Мінімальне оновлення системи

У деяких випадках виконання відразу повного оновлення (як описано далі) може призвести до вилучення великого числа пакунків, які Ви захочете залишити.

Для цього спочатку виконайте:

apt-get upgrade

Це призведе до оновлення лише тих пакунків, які можна оновити без необхідності вилучення чи встановлення інших пакунків.

При цьому будуть запитання від Debconf:

                                           ┌────────────────────────────┤ Налаштування console-data ├────────────────────────────┐
                                           │ Розкладка клавіатури описує розташування символів на клавіатурі.                    │ 
                                           │                                                                                     │ 
                                           │ -'Вибрати розкладку зі списку архітектур': вибрати одну з наперед визначених        │ 
                                           │  розкладок для вашої архітектури (рекомендовано для не-USB клавіатур);              │ 
                                           │ -'Не чіпати розкладку': не переписувати розкладку в /etc/console яка керується      │ 
                                           │  вручну за допомогою install-keymap(8);                                             │ 
                                           │ -'Залишити розкладку ядра': не завантажувати розкладку при наступному завантаженні  │ 
                                           │  системи;                                                                           │ 
                                           │ -'Вибрати розкладку з повного списку': показати всі визначені розкладки.            │ 
                                           │  Рекомендується при використанні клавіатур для іншої архітектури (часто - USB).     │ 
                                           │                                                                                     │ 
                                           │ Правила встановлення розкладки:                                                     │ 
                                           │                                                                                     │ 
                                           │                       Вибрати розкладку зі списку архітектур                        │ 
                                           │                       Не чіпати розкладку                                           │ 
                                           │                       Залишити розкладку ядра                                       │ 
                                           │                       Вибрати розкладку з повного списку                            │ 
                                           │                                                                                     │ 
                                           │                                                                                     │ 
                                           │                       <Гаразд>                       <Скасувати>                    │ 
                                           │                                                                                     │ 
                                           └─────────────────────────────────────────────────────────────────────────────────────┘ 

Вибираємо „Не чіпати розкладку“.

┌──────────────────────────────────────────────────────────────────────────┤ Configuring libc6 ├───────────────────────────────────────────────────────────────────────────┐
│                                                                                                                                                                          │ 
│ There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may  │ 
│ cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart.  You can choose this option   │ 
│ to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade.              │ 
│                                                                                                                                                                          │ 
│ Restart services during package upgrades without asking?                                                                                                                 │ 
│                                                                                                                                                                          │ 
│                                                    <Yes>                                                       <No>                                                      │ 
│                                                                                                                                                                          │ 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ 

Вибираємо „Yes“.

Оновлення системи

Після виконання попередніх кроків тепер можна приступити, власне, до оновлення. Виконайте команду:

apt-get dist-upgrade

Ця команда зробить повне оновлення системи, встановивши останні доступні версії усіх пакунків та розв’язавши усі змінені між випусками залежності. При необхідності будуть встановлені нові пакунки (зазвичай, це нові версії бібліотек або перейменовані пакунки) та вилучені усі застарілі пакунки, що викликають конфлікти.

Також при цьому будуть запитання від Debconf:

                                    ┌──────────────────────────────┤ Налаштування keyboard-configuration ├──────────────────────────────┐
                                    │ Будь ласка, виберіть актуальну розкладку клавіатури.                                              │ 
                                    │                                                                                                   │ 
                                    │ Розкладка клавіатури:                                                                             │ 
                                    │                                                                                                   │ 
                                    │     Англійська (США)                                                                              │ 
                                    │     Англійська (США) - Англійська (альтернативна інтернаціональна Дворака без сліпих клавіш)      │ 
                                    │     Англійська (США) - Англійська (Дворак)                                                        │ 
                                    │     Англійська (США) - Англійська (Дворака для шульги)                                            │ 
                                    │     Англійська (США) - Англійська (Дворак для правші)                                             │ 
                                    │     Англійська (США) - Англійська (інтернаціональна Дворака зі сліпими клавішами)                 │ 
                                    │     Англійська (США) - Англійська (інтернаціональна зі сліпими клавішами AltGr)                   │ 
                                    │     Англійська (США) - Англійська (класична Дворака)                                              │ 
                                    │     Англійська (США) - Англійська (Коулмак)                                                       │ 
                                    │     Англійська (США) - Англійська (перемикання розкладки клавішею «помножити/ділити»)             │ 
                                    │     Англійська (США) - Англійська (програмістський Дворак)                                        │ 
                                    │     Англійська (США) - Англійська (США, альтернативна інтернаціональна)                           │ 
                                    │     Англійська (США) - Англійська (США, з символом євро на клавіші 5)                             │ 
                                    │     Англійська (США) - Англійська (США, інтернаціональна зі сліпими клавішами)                    │ 
                                    │     Англійська (США) - Англійська (Macintosh)                                                     │ 
                                    │     Англійська (США) - Російська (США, фонетична)                                                 │ 
                                    │     Англійська (США) - Сербо-хорватська (США)                                                     │ 
                                    │     Англійська (США) - Cherokee                                                                   │ 
                                    │     Інша                                                                                          │ 
                                    │                                                                                                   │ 
                                    │                                                                                                   │ 
                                    │                            <Гаразд>                            <Скасувати>                        │ 
                                    │                                                                                                   │ 
                                    └───────────────────────────────────────────────────────────────────────────────────────────────────┘ 

Вибираємо „Англійська (США)“.


                            ┌────────────────────────────────────────┤ Налаштування mysql-server-5.1 ├─────────────────────────────────────────┐                              
                            │ While not mandatory, it is highly recommended that you set a password for the MySQL administrative "root" user.  │                              
                            │                                                                                                                  │                              
                            │ If this field is left blank, the password will not be changed.                                                   │                              
                            │                                                                                                                  │                              
                            │ New password for the MySQL "root" user:                                                                          │                              
                            │                                                                                                                  │                              
                            │ ________________________________________________________________________________________________________________ │                              
                            │                                                                                                                  │                              
                            │                                                      <Гаразд>                                                    │                              
                            │                                                                                                                  │                              
                            └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘                              

Вказуємо відповідний пароль.

Вирішення залежностей

Можлива ситуація , коли структура залежностей в системі може бути настільки порушена, що буде потрібно ручне втручання.

Спробуйте

apt-get -f install
dpkg --configure --pending

В окремому випадку це вилучало пакунки console-terminus libdigest-sha1-perl mysql-server-5.1 mysql-server-core-5.1

При значній зміні версії варто встановити типові налаштування для нового пакунка, а пізніше внести необхідні зміни, наприклад

Configuration file `/etc/mysql/my.cnf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
  What would you like to do about it ?  Your options are:
   Y or I  : install the package maintainer's version
   N or O  : keep your currently-installed version
     D     : show the differences between the versions
     Z     : start a shell to examine the situation
The default action is to keep your current version.
*** my.cnf (Y/I/N/O/D/Z) [default=N] ? y

Посилання

Оновлення Debian 5 Lenny »» 6 Squeeze

Поновлення існуючої системи

apt-get update
apt-get upgrade
apt-get dist-upgrade

Репозитарій Squeeze

У /etc/apt/sources.list додати рядки

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

deb http://ftp.us.debian.org/debian squeeze-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian squeeze-updates main contrib non-free


Рядки репозитаріїв Lenny закоментувати.

Оновити перелік пакунків:

apt-get update

Вилучення старого ядра

apt-get remove linux-source-2.6 linux-headers-2.6-486

Встановлення нового ядра

Також встановлюються й прошивки.

apt-get install linux-headers-2.6.32-5-686 linux-kbuild-2.6.32 linux-source-2.6.32 \
linux-headers-2.6.32-5-common linux-image-2.6.32-5-686 firmware-linux-free firmware-linux-nonfree

При цьому будуть запитання від Debconf:

┌───────────────────────────────────────────────────────┤ Налаштування linux-base  ├────────────────────────┐
│ The new Linux kernel version provides different drivers for some PATA (IDE) controllers.                  │ 
│ The names of some hard disk, CD-ROM, and tape devices may change.                                         │    
│ It is now recommended to identify disk devices in configuration files by label or UUID (unique identifier)│ 
│ rather than by device name,                                                                               │  
│ which will work with both old and new kernel versions.                                                    │ 
│ If you choose to not update the system configuration automatically, you must update device IDs yourself   │ 
│ before the next system reboot                                                                             │ 
│ or the system may become unbootable.                                                                      │ 
│ Update disk device IDs in system configuration?                                                           │ 
│                                                                                                           │ 
│                      <Так>                                            <Ні>                                │ 
└───────────────────────────────────────────────────────────────────────────────────────────────────────────

ТАК

┌───────────┤ Налаштування linux-base ├────────────┐
│ These configuration files will be updated:       │ 
│ /etc/udev/rules.d/70-persistent-cd.rules         │ 
│ The device IDs will be changed as follows:       │ 
│ + PATH=pci-0000:00:11.1-scsi-0:0:0:0             │ 
│ Apply configuration changes to disk device IDs?  │ 
│                                                  │ 
│            <Так>               <Ні>              │ 
└──────────────────────────────────────────────────

ТАК

Встановлення Udev

apt-get install udev

Перезавантаження

reboot

Grub

Якщо Grub не знаходитиме розділ з ядром, — виставити розділ вручну (напр. /dev/sda1)


Оновлення решти пакунків

apt-get upgrade
apt-get dist-upgrade

Посилання

Див. також