Как обновить debian 8 до debian 9

Performing the upgrade to Debian 9 Stretch

In this example we’ll be upgrading from Debian 8.8.

:~# cat /etc/debian_version
8.8

Before proceeding with the upgrade, please read through the list of .

  1. It is recommended that you have your Debian 8 Jessie installation completely up to date before starting, to do this run “apt-get update” followed by “apt-get upgrade” and install available updates.
    :~# apt-get update
    :~# apt-get upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    

    In my case all updates have been applied already, so it’s fine to proceed.

  2. Edit the /etc/apt/sources.list file, my file is shown below. As you can see all of the lines are currently specifying “jessie”. Note that your mirror sources will likely be different which is fine.
    deb http://debian.uberglobalmirror.com/debian/ jessie main
    deb-src http://debian.uberglobalmirror.com/debian/ jessie main
    
    deb http://security.debian.org/ jessie/updates main contrib
    deb-src http://security.debian.org/ jessie/updates main contrib
    
    # jessie-updates, previously known as 'volatile'
    deb http://debian.uberglobalmirror.com/debian/ jessie-updates main contrib
    deb-src http://debian.uberglobalmirror.com/debian/ jessie-updates main contrib
    

    Change the instances of “jessie” to “stretch”, you can either do this manually, or automatically with the below sed command.

    sed -i 's/jessie/stretch/g' /etc/apt/sources.list
    

    my new sources.list file is shown below.

    deb http://debian.uberglobalmirror.com/debian/ stretch main
    deb-src http://debian.uberglobalmirror.com/debian/ stretch main
    
    deb http://security.debian.org/ stretch/updates main contrib
    deb-src http://security.debian.org/ stretch/updates main contrib
    
    # stretch-updates, previously known as 'volatile'
    deb http://debian.uberglobalmirror.com/debian/ stretch-updates main contrib
    deb-src http://debian.uberglobalmirror.com/debian/ stretch-updates main contrib
    

    You can either use “stretch” or “stable”, as Debian 9 Stretch is now the current stable version as of writing. However note that if you use stable instead of the specific release name, in future when Debian 10 is released that will be the stable version so you may upgrade to that unintentionally.

  3. The recommended way to upgrade Debian is with the ‘apt-get’ command. First update the list of available packages with the below command, as we’ve just updated the sources.list file.
    apt-get update
    
  4. Now that the list of available packages has been updated from the mirror, run the below command to perform a minimal upgrade.
    apt-get upgrade
    

    This is known as a minimal system upgrade as it only upgrades packages that can be upgraded without needing any other packages to be removed or installed, so it’s a safe place to start. This upgraded 932 packages requiring 412MB on my system.

  5. Now you’re ready to do the complete system upgrade, this will upgrade to the latest available version for all packages installed.
    apt-get dist-upgrade
    

    Ensure that you have enough free disk space to complete the operation, in my case it notes that afterwards 1,048MB of additional disk space will be used with 639 package upgrades and 479 newly installed packages.

    Note that this will remove conflicting obsoleted packages, potentially packages that you may want to keep, so check what it’s going to do by reading the output before proceeding.

  6. Once the upgrade has completed you may have packages that can be removed and are no longer required, you’ll see these when trying to use apt-get upgrade. We can clean these out by running “apt-get autoremove”.
    apt-get autoremove
    

    This cleaned 496MB of packages from my system that were identified as no longer being required after the upgrade.

  7. All that’s left to do is perform a reboot of the system, this is required as the kernel version has been updated. This can be done by simply entering “reboot” in the terminal.
    Before upgrade:
    :~# uname -a
    Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64 GNU/Linux
    
    After upgrade and system reboot:
    :~# uname -a
    Linux debian8 4.9.0.3-amd64 #1 SMP Debian 4.9.30-2 (2017-06-12) x86_64 GNU/Linux
    

    As you can see the newer kernel version 4.9 is now in place after rebooting.

    You can also check the /etc/debian_version file to confirm that you’re on version 9.

    :~# cat /etc/debian_version
    9.0
    

    Now I just need to change my “debian8” hostname!

Настройка xfce4

Чтобы жить стало немного веселее можно сделать пару манипуляций с панелью. Заходим в

и добавляем то, что нужно. Можно поменять часы на часы с датой. Добавить регулятор громкости.

Чтобы добавить уровень заряда батареи для ноутбука и апплет раскладки клавиатуры нужно скачать апплет из репозитария:

apt-get install xfce4-battery-plugin

apt-get install xfce4-xkb-plugin

Чтобы увеличить шрифт в эмуляторе терминала xfce4 нужно нажать Ctrl и удерживая его сделать клик правой кнопкой
мыши на терминале — появится интуитивно понятное меню.

Перезапустить

X-server

(предварительно уйдя в консоль Ctrl + Atl + F1) можно командой

/etc/init.d/gdm restart

или

/etc/init.d/gdm3 restart

или

/etc/init.d/kdm restart

Для выключения нужно писать не restart а stop, для запуска start

Oбновление Debian GNU/Linux 8 «Jessie» до Debian 9 «Stretch» методом In-Place Upgrade

Перед началом процедуры обновления методом In-Place Upgrade с Debian GNU/Linux 8 (Jessie) до Debian 9 (Stretch) крайне желательно создать резервную копию обновляемой системы для возможности возврата системы в исходное состояние на тот случай, если после обновления возникнут проблемы.

Обновляем Debian 8

Проверим текущую версию Debian:

# cat /etc/debian_version
# uname -a
# lsb_release -a

Убедимся в том, что в конфигурации пакетного менеджера apt подключены стандартные репозитории Debian Jessie: Как подключить стандартные репозитории Debian 8 Jessie

Выполним обновление всех доступных к обновлению пакетов из репозиториев Jessie:

# apt-get update
# apt-get upgrade

После обновления пакетов перезагрузим систему и приступим к процессу обновления до уровня Debian 9 (Stretch).

Подключаем репозитории Debian 9 и обновляем пакеты

В файле отключим стандартные репозитории Debian 8 (закомментируем строки) и подключим репозитории Debian 9: Как подключить стандартные репозитории Debian 9 Stretch

Обновим кеш менеджера пакетов и выполним первичное обновление пакетов:

# apt-get update
# apt-get upgrade

Перед выполнением команды обновления пакетов, возможно, имеет смысл открыть дополнительную SSH-сессию к системе. Это позволит нам, не прерывая процесс обновления, сохранить свои конфигурационные файлы от ранее установленных пакетов, при обновлении которых возникли конфликты с конфигурационными файлами, поставляемыми в составе новых версий пакетов

Обновляем систему до Debian 9

После успешной первичной установки пакетов из репозиториев Debian 9 выполняем полное окончательное обновление системы, в ходе которого будет обновлено и ядро Linux, поставляемое с новой версией Debian:

# apt-get dist-upgrade

На запрос о необходимости перезапуска служб в процессе установки новых версий пакетов ответим утвердительно.

Для пакетов, у которых ранее были изменены стандартные конфигурационные файлы, будет предложено выбрать вариант их обновления. Можно использовать опцию установки новых конфигурационных файлов (опция Y), а можно оставить свои ранее настроенные конфигурационные файлы (опция N), если мы понимаем, что принципиальных отличий в директивах конфигурации нет. На этом этапе для дополнительного анализа ситуации нам и пригодится ранее запущенная дополнительная SSH-сессия.

После успешного окончания установки всей пакетой базы новой версии удаляем устаревшие файлы неиспользуемых пакетов:

# apt-get autoremove

Перезагружаем систему.

Проверяем версию загруженного ядра Linux:

# uname -a

Проверяем версию ОС:

# lsb_release -a

Проверено на следующих конфигурациях:

Версия исходной ОС Версия целевой ОС
Debian GNU/Linux Jessie 8.11 Debian GNU/Linux Stretch 9.9

Автор первичной редакции:Алексей Максимов
Время публикации: 07.08.2019 10:06

Автоматическое монтирование при загрузке

Чтобы не монтировать диски каждый раз вручную можно прописать этот процесс в файл

Сперва нужно узнать постоянный номер диска, который вы хотите примонтировать

ls -l /dev/disk/by-uuid

andrey@debian:~$ ls -l /dev/disk/by-uuid
итого 0
lrwxrwxrwx 1 root root 10 Апр 1 12:26 28F45727F456F712 -> ../../sda1

lrwxrwxrwx 1 root root 10 Апр 1 12:26 2ff64169-2a42-4134-bb7d-785d2cb7ac26 -> ../../sdb1

lrwxrwxrwx 1 root root 10 Апр 1 12:26 3AE8F3DBE8F3937D -> ../../sda2
lrwxrwxrwx 1 root root 10 Апр 1 12:26 3E8904579F5AA793 -> ../../sda5

lrwxrwxrwx 1 root root 10 Апр 1 12:26 BB76478F1B670CB0 -> ../../sdb8

lrwxrwxrwx 1 root root 10 Апр 1 12:26 DEFB-25FE -> ../../sdb7

lrwxrwxrwx 1 root root 10 Апр 1 12:26 e7b2f181-26ae-4a22-9c9a-10a6dc22daee -> ../../sdb5

lrwxrwxrwx 1 root root 10 Апр 1 12:26 eafb05d0-15c7-41a5-9709-318bb2c618b7 -> ../../sdb6

3E8904579F5AA793 — вот номер диска sda5, который нужно монтировать.

Открываем /etc/fstab

nano /etc/fstab

И дописываем внизу строчки

Структура

Программы

Документация

Конфигурационные файлы

Файлы конфигурации сети
Файл Описание

/etc/aliases
База данных почтовых псевдонимов.

Формат файла:
псевдоним пользователь

Системой используется не этот файл а файл
/etc/aliases.db
, который создаётся программой
newaliases по содержимому файла
/etc/aliases.

После обновления
/etc/aliases нужно
выполнить # newaliases

/etc/hosts.conf Содержит параметры разрешения доменных имен.
Например, директва order hosts
, bind означает, что сначала поиск IP-адреса по доменному имени будет произведен в файле

/etc/hosts
,
а затем уже будет обращение к DNS-серверу, заданному в файле

/etc/resolv.conf

Директива multi on означает, что одному доменному имени могут соответствовать несколько IP-адресов

/etc/hosts В этом файле можно прописать IP-адреса и имена узлов локальной сети
, но обычно здесь указывается только IP-адрес узла localhost (127.0.0.1), потому что сейчас даже в
небольшой локальной сети устанавливается собственный DNS-сервер
/etc/hosts.allow Содержит IP-адреса узлов, которым разрешен доступ к сервисам данного узла
/etc/hosts.deny IP-адреса узлов, которым запрещен доступ к сервисам данного узла
/etc/iftab Таблица интерфейсов, т.е. соответствие имен интерфейсов и их MAC-адресов
/etc/motd Задает сообщение дня (Message of the day). Данный файл используется многими
сетевыми сервисами (напримерб FTP-и SSH-сервисами), которые при регистрации пользователя могут
выводить сообщение из этого файла
/etc/resolv.conf Задаёт IP-адреса серверов DNS. Формат файла прост:
nameserver IP-адресВсего можно указать четыре DNS-сервера
/etc/services База данных сервисов, задающая соответствие символьного имени
сервиса (напрмер, pop3) и номера порта (110/tcp, tcp — это наименование протокола)
/etc/xinetd.conf Конфигурация суперсервера xinetd, предназначенного для запуска
сетевых сервисов, которые не работают в автономном режиме

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: andrey

Prepare to Upgrade

  1. Verify that you are booting with Debian’s kernel using the GRUB 2
    boot setting in the Linode Cloud Manager. We recommend you use the distribution-supplied kernel unless you have a specific reason not to.

  2. Exit the SSH session if you’re currently logged in to one and instead open a Lish session to your Linode. Lish will give you continuous access to your Linode whereas SSH could disconnect during the upgrade. Read more about Lish
    here.

  3. Install all available updates for your current Debian system:

  4. If you’ve set APT to pin any packages to a specific Debian version other than stable, You’ll need to disable APT pinning for those packages if you want them upgraded to those offered in the newest release.

  5. You may want to stop services which are non-essential to the system but important to your setup, such as a database service. This would be to ensure a graceful shutdown of the service to prevent data loss or system locks from causing problems. To stop a service, enter the following command, replacing with the name of the service you want to stop:

    You can view all enabled services with:

    View all currently running services:

Команды для работы с текстовыми файлами

Команда head

Вы можете воспользоваться командой
head если вам нужно взглянуть только на начало файла. Команда выглядит так:

head <filename>

Команда Head
может быть полезна, но так как она показывает только первых несколько строк,
вы не узнаете насколько велик сам файл. По умолчанию, вы можете просмотреть
первых десять строк файла, хотя вы можете изменить это число, выполнив следующую команду:

head -20
<filename>

Команда tail

Обратное head
действие выполняет tail
. С помощью tail
вы можете просмотреть последние десять строк файла.

Команда grep

Команда grep используется для поиска в файле заданных текстовых строк.
Например, если вы хотите найти все упоминания слова «DEBUG» в файле
reader.ini, выполните:

grep DEBUG reader.ini

Вы увидите все строки этого файла, в которых нашлось слово «DEBUG».

Не забывайте о регистре

Если не указано обратное,
grep ищет с
учётом регистра.
Это означает что поиск
Debug отличается от поиска debug.
Среди множества параметров
grep
есть
-i,
который указывает, что поиск должен выполняться без учёта регистра символов.
Прочитайте страницу man по
grep
man чтобы узнать больше об этой команде.

Перенаправление ввода/вывода и каналы

Вы можете использовать каналы и перенаправление вывода когда хотите
сохранить и/или напечатать информацию для последующего использования.

Например, вы можете воспользоваться командой
grep
чтобы найти в файле требуемый текст, а затем сохранить результат в
файле или отправить его на принтер.

Чтобы напечатать информацию, например, касающуюся
слова «Debug» в файле
sneakers.txt, введите:

grep Debug sneakers.txt | lpr

Знаки подстановки и регулярные выражения

Как быть если вы забыли имя файла, который вам нужен? Воспользовавшись знаками подстановки или регулярными выражениями, вы можете выполнять с файлом или файлами действия, не зная его(их) полного имени. Просто введите всё что знаете, и замените остальное знаком *.

Дополнительная информация о знаках подстановки и регулярных выражениях

Чтобы узнать больше о знаках подстановки
и регулярных выражениях, обратитесь к странице руководства, посвященной
bash (man bash).
Вспомните о том, что вы можете сохранить полученную информацию в текстовом файле,
выполнив команду

man bash | col -b > bash.txt

Затем вы можете открыть и прочитать файл с помощью

less или pico
(pico bash.txt)

Если вы хотите распечатать файл, будьте осторожны, он довольно большой.

Зная, что файл называется «sneak____.txt,» просто введите:

ls sneak*.txt

и вот полное имя файла:

sneakers.txt

Скорее всего при поиске вы чаще будете использовать знак умножения (
*). При поиске с этим знаком найдется всё, соответствующее заданному шаблону.
Даже выполнив:

ls *.txt

или:

ls sn*

Вы найдёте файл
sneakers.txt
и все остальные, имена которых начинаются
с «sn». Это позволяет максимально расширить область поиска.

Одним из способов уменьшения области поиска, является использование знака вопроса
(?). Также как знак умножения,
? помогает находить файл, удовлетворяющий условию поиска.

Однако ?
используется для замены всего одного символа, поэтому если вы ищете
sneaker?.txt, в результате вы найдете файл
sneakers.txt, и/или
sneakerz.txt, если такой файл существует.

В случае, если знак умножения входит в имя файла, как могло бы быть, если файл
sneakers.txt назывался бы
sneak*.txt,
вам понадобятся регулярные выражения.

Регулярные выражения более сложны, чем прямолинейные знаки вопроса и умножения.

С помощью обратной косой черты (\),
вы можете определить, что вы не хотите искать всё
как происходит, если вы укажите знак умножения, а вам нужен именно
знак умножения в имени файла.

Если файл называется
sneak*.txt, введите:

sneak\*.txt

Ниже приведён краткий список знаков подстановки и регулярных выражений:

  • *
    — Соответствует любому количеству любых символов
  • ?
    — Соответствует одному любому символу в строке (например,
    sneaker?.txt)
  • \*
    — Соответствует символу *
  • \?
    — Соответствует символу ?
  • \)
    — Соответствует символу )
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
IP-файл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: