Установка и настройка screen
Я привык в своей работе пользоваться консольной утилитой screen. Изначально она задумывалась как инструмент, который позволяет запустить что-то удаленно в консоли, отключиться от сервера и при этом все, что выполняется в консоли продолжит свою работу. Вы сможете спокойно вернуться в ту же сессию и продолжить работу.
Первое время я именно так и использовал эту утилиту. Редко ее запускал, если не забывал, когда выполнялся какой-то длительный процесс, который жалко было прервать из-за случайного обрыва связи или необходимости отключить ноутбук от сети и куда-то переместиться.
Позже я решил подробнее ознакомиться с этим инструментом и обнаружил, что там есть несколько удобных моментов, которые можно использовать в ежедневной работе. Вот как использую утилиту screen я. При подключении к серверу у меня запускается screen с тремя окнами 1, 2, 3. Первое окно автоматически переходит в каталог /, второе в /etc, третье в /var/log. Я осмысленно назвал эти окна: Main, etc, logs соответственно. Внизу находится строка состояния, в которой отображен список всех открытых окон и подсвечено активное окно.
С помощью горячих клавиш я очень быстро переключаюсь между окнами в случае необходимости. Вот как выглядит мое рабочее окно ssh подключения:
Переключаюсь между окнами с помощью стандартных горячих клавиш screen: ctrl+a 1, ctrl+a 2, ctrl+a 3. Я специально изменил нумерацию, чтобы она начиналась не с 0 по-дефолту, а с 1. Так удобнее на клавиатуре переключать окна. Кнопка 0 находится слишком далеко от 1 и 2.
Чтобы настроить такую же работу screen, как у меня, достаточно выполнить несколько простых действий. Сначала устанавливаем screen:
# apt install screen
Создаем в каталоге /root конфигурационный файл .screenrc следующего содержания:
# mcedit /root/.screenrc
#Выводим строку состояния hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # Добавляем некоторые настройки startup_message off defscrollback 1000 defutf8 on shell -$SHELL # Создаем несколько окон chdir screen -t Main 1 chdir /etc screen -t etc 2 chdir /var/log screen -t logs 3 # Активное первое окно после запуска select 1
Для знакомства с настройками, горячими клавишами и вариантами применения утилиты screen можно по адресу http://itman.in/ssh-screen/ Мне помог этот материал. Написано кратко, по делу и доходчиво.
Команда ip
В случаях поиска неисправностей, для отладки и т.д. сетевые интерфейсы можно настроить с помощью команды ip. Но надо помнить, что эти настройки будут действовать только до перезагрузки операционной системы! Получить информацию по сетевым интерфейсам:
# ip link show
Получить информацию по ip адресам:
# ip addr show
Удалить ip адрес:
# ip address del 192.168.123.35/24 dev enp0s3
Назначить ip адрес вместо удалённого:
# ip address add 192.168.123.254/24 brd + dev enp0s3
Получить информацию по маршрутам:
# ip route show
Добавить основной шлюз:
# ip route add default via 192.168.123.1
Добавить маршрут в сеть 192.168.111.0/24 через шлюз 192.168.123.2
# ip route add 192.168.111.0/24 via 192.168.123.2
Вот и всё!
Об авторе:
Меня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.
Особенности
Debian отличается широким спектром возможностей. В текущую стабильную версию включено свыше тридцати семи тысяч пакетов программ для десяти архитектур на основе ядра Linux (от Intel/AMD 32-bit/64-bit, широко применяемых в персональных компьютерах, до ARM, обычно используемых во встраиваемых системах и мейнфреймах IBM System z) и также двух архитектур на основе ядра FreeBSD (kfreebsd-i386 and kfreebsd-amd64).
Отличительными чертами Debian являются: система управления пакетами Advanced Packaging Tool (APT), жёсткая политика по отношению к пакетам, репозитории с огромным их количеством, а также высокое качество выпускаемых версий. Это сделало возможным простое обновление между версиями, а также автоматическую установку и удаление пакетов. Именно в Дебиане впервые был введён как единый стандарт механизм выбора предпочтительного ПО среди нескольких вариантов — Alternatives.
При стандартной установке Debian используется среда рабочего стола GNOME, куда включён набор популярных программ, таких как LibreOffice, Firefox, почтовая программа Evolution, программы для записи CD/DVD, проигрыватели музыки и видео, программы для просмотра и редактирования изображений и программы для просмотра документов в формате PDF. Также есть образы Live-CD, собранные с KDE, Xfce и LXDE. Установочные диски — в количестве пяти (Lenny) или восьми (Squeeze) DVD или более тридцати CD — содержат все доступные и не обязательно необходимые для стандартной установки пакеты. Для метода установки по сети используется CD, который меньше обычного установочного CD/DVD. Он содержит только то, что необходимо для запуска установщика и скачивания пакетов, выбранных в процессе установки посредством APT. Образы CD/DVD можно свободно скачать через BitTorrent, jigdo или купить у одного из поставщиков компакт-дисков Debian. Также возможна установка с USB-накопителя. Существуют специальные наборы программ Debian Pure Blend, ориентированные на группы пользователей с различным практическим опытом и интересами: Debian Junior для детей от 1 до 99, Skolelinux для школ, Debian Science с группировкой по наукам, Debian-Med для практического и научного использования в сфере здравоохранения и другие.
На Debian основано множество дистрибутивов, в том числе Ubuntu, MEPIS Linux, Dreamlinux, Damn Small Linux, Xandros, Knoppix, Linspire, aptosid, Kanotix, Parsix, gnuLinEx, Linux Mint, BL-hydrogen и другие.
Обновление в графическом интерфейсе
Та же самая утилита, «Программы и обновления» позволяет выполнить обновление системы через графический интерфейс. Для этого на вкладке «Обновления» нужно включить ежедневную проверку обновлений и вывод уведомления, если обновления были найдены:
Тогда утилита будет сама проверять обновления и спрашивать вас нужно ли их установить. Или здесь же можно включить ежедневную проверку и автоматическую загрузку и установку обновлений. Тогда обновления будут устанавливаться автоматически каждый день. Программа «Центр приложений» тоже позволяет устанавливать обновления. Для этого просто запустите программу из главного меню и перейдите на вкладку «Обновления»:
Тут вам нужно нажать значок «Обновить» в левом верхнем углу, чтобы синхронизировать список пакетов. Дальше вам будет достаточно нажать «Обновить все».
Еще один способ обновить систему в графическом интерфейсе — использовать пакетный менеджер Synaptic. По умолчанию программа не установлена, но вы можете установить ее командой:
Далее, вы можете найти программу в главном меню. Нужно сказать, что если стандартный центр приложений не хочет работать, то Synaptic работает почти всегда. Сначала в программе нажмите кнопку «Обновить», чтобы синхронизировать все списки пакетов из репозиториев.
Затем нажмите кнопку «Отметить все обновления» для того, чтобы добавить все доступные обновления в очередь установки:
В процессе утилита покажет какие пакеты будут обновлены:
Далее, осталось нажать на кнопку «Применить» и затем начнется обновление, которое может занять некоторое время.
Используем Tor вместе с Apt
Apt может получать и загружать обновления через Tor. Для этого вам нужно установить пакеты tor и apt-transport-tor. Затем вы можете использовать официальные onion-ресурсы в Debian.
Ниже приведен пример файла sources.list использующий onion-ресурсы в Debian 9/Stretch:
deb tor+http://vwakviie2ienjx6t.onion/debian stretch main deb-src tor+http://vwakviie2ienjx6t.onion/debian stretch main deb tor+http://vwakviie2ienjx6t.onion/debian stretch-updates main deb-src tor+http://vwakviie2ienjx6t.onion/debian stretch-updates main deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main deb-src tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main
Второй способ
Если по каким-то причинам установка Debian с usb накопителя, созданного первым способом не проходит, то можно воспользоваться другим вариантом.
Дополнительно скачиваем загрузочный образ для своей архитектуры, например для архитектуры i386 так:
# wget http://http.us.debian.org/debian/dists/stable/main/installer-i386/current/images/hd-media/boot.img.gz
Затем развернём загрузочный образ на usb носителе:
# zcat boot.img.gz > /dev/sdc
# sync
И скопируем на него же установочный образ:
# cp debian-6.0.3-i386-netinst.iso /dev/sdc
Внимание, так же как и в первом случае, данные с usb носителя будут удалены! Не зависимо от объёма usb носителя будет использоваться только 256 МБ. Чтобы получить оставшееся пространство нужно будет заново переразметить носитель
Из-за ограничения раздела в 256 МБ этот способ подходит только для использования установочных образов netinst или businesscard.
Примечание: вместо команды zcat можно использовать gunzip -c
The repository does not have a Release file.
При попытке выполнить
sudo apt update
password for andrei:
Ign:1 cdrom://[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26] buster InRelease
Err:2 cdrom://[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26] buster Release
Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
Err:3 http://deb.debian.org/debian buster InRelease
Cannot initiate the connection to prod.debian.map.fastly.net:80 (2a04:4e42:14::204). — connect (101: Network is unreachable)
Could not connect to prod.debian.map.fastly.net:80 (151.101.84.204), connection timed out
Cannot initiate the connection to deb.debian.org:80 (2a04:4e42:14::645). — connect (101: Network is unreachable)
Could not connect to deb.debian.org:80 (151.101.86.133), connection timed out
Err:4 http://deb.debian.org/debian buster-updates InRelease
Cannot initiate the connection to deb.debian.org:80 (2a04:4e42:14::645). — connect (101: Network is unreachable)
Err:5 http://security.debian.org/debian-security buster/updates InRelease
Cannot initiate the connection to prod.debian.map.fastly.net:80 (2a04:4e42:14::204). — connect (101: Network is unreachable)
Could not connect to prod.debian.map.fastly.net:80 (151.101.84.204), connection timed out
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:c00::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:200::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:400::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:a00::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:800::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:600::204). — connect (101: Network is unreachable)
Cannot initiate the connection to security.debian.org:80 (2a04:4e42:e00::204). — connect (101: Network is unreachable)
Could not connect to security.debian.org:80 (151.101.0.204), connection timed out
Could not connect to security.debian.org:80 (151.101.128.204), connection timed out
Could not connect to security.debian.org:80 (151.101.192.204), connection timed out
Could not connect to security.debian.org:80 (151.101.64.204), connection timed out
Reading package lists… Done
E: The repository ‘cdrom://[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26] buster Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Проверяю
souces.list
sudo vi /etc/apt/sources.list
#
deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26]/ buster contrib main
deb cdrom:[Debian GNU/Linux 10.4.0 _Buster_ — Official amd64 DVD Binary-1 20200509-10:26]/ buster contrib main
deb http://deb.debian.org/linux/debian/ buster main
deb-src http://deb.debian.org/linux/debian/ buster main
deb http://security.debian.org/debian-security buster/updates main contrib
deb-src http://security.debian.org/debian-security buster/updates main contrib
# buster-updates, previously known as ‘volatile’
deb http://deb.debian.org/linux/debian/ buster-updates main contrib
deb-src http://deb.debian.org/linux/debian/ buster-updates main contrib
Работа с файлом hosts
В папке /etc любого linux дистрибутива, в том числе debian есть файл hosts. Разберемся немного что это за файл и для чего он нужен. По-умолчанию он выглядит следующим образом:
Представим, что у нас в локальной сети есть некий сервер с именем server и ip 192.168.1.50 Мы хотим к нему обращаться по имени. Тогда добавляем запись в файл hosts:
Теперь мы можем обращаться к серверу просто по имени server.
Сервер будет в первую очередь смотреть информацию в файле hosts, только потом в dns сервере. Например, если вы добавите в файл строку:
То обращаясь к адресу ya.ru будете попадать на локалхост:
Этот функционал может быть полезен для публикации в локальной сети каких-то внутренних сервисов, к которым доступ будет только из вашей сети. Вам нет необходимости использовать dns сервер, с файлом hosts настройка делается гораздо быстрее.
Так же правка файла hosts актуальна, если вы используете локальную копию сервиса webpagetest для тестирования скорости работы сайта на разных хостингах. Вы просто меняете ip адреса для домена и делаете тесты. Так можно наглядно и однозначно сравнивать быстродействие разных хостингов. Подробно об этом можно почитать в статье — ускорение сайта и аудит.
Предварительные манипуляции
В первую очередь вставляем флешку в компьютер и форматируем его. Остались важные данные — переносим их на другой носитель, все данные на нашем накопителе будут удалены. Далее проверяем, определился ли он ядром, для этого вводим команду:
# dmesg
Нам нужно увидеть в отчёте такую строку:
sd 4:0:0:0: Assuming drive cache: write through
Она означает, что ядро заметило наше устройство и с ним можно работать. Необходимо запомнить, как устройство называется, в нашем случае — «sdc». Далее нам это понадобится, в командах будет присутствовать это имя и вам придётся менять его на своё, если ваше устройство определится под другим именем
Обращайте внимание на формулировку команд, бездумно копировать их не нужно
Настройки BIOS перед установкой системы
Для входа в BIOS или UEFI нажмите клавишу или комбинацию клавиш. В различных моделях настольных компьютеров и ноутбуков чаще всего применяются:
- «Delete» («Del»)
- «F2»
- «F10»
Возможны и другие варианты. Подсказка будет показана в нижней части экрана перед загрузкой ПК.
Интерфейсы UEFI или BIOS разных моделей отличаются друг от друга. Необходим пункт «Boot» (или тот, название которого подобно по смыслу).
Определите приоритеты загрузки с дисков так, чтобы на первом месте был загрузочный накопитель Debian. «F10» на клавиатуре — для подтверждения изменений.
Далее:
- Кнопка «ОК».
- «Enter» на физической клавиатуре.
Настройка firewall (iptables) в Debian
В качестве firewall в Debian по-умолчанию используется iptables, его и будем настраивать. Изначально фаервол полностью открыт и пропускает весь трафик. Проверить список правил iptables можно следующей командой:
# iptables -L -v -n Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Обращаю пристальное внимание на то, что настраивать firewall без прямого доступа к консоли сервера не следует. Особенно, если вы не очень разбираетесь в этом и копируете команды с сайта
Шанс ошибиться очень высок. Вы просто потеряете удаленный доступ к серверу.
Создадим файл с правилами iptables:
# mcedit /etc/iptables.sh
Очень подробно вопрос настройки iptables я рассмотрел отдельно, рекомендую ознакомиться. Хотя в примере другая ОС linux, принципиальной разницы нет, настройки iptables абсолютно одинаковые, так как правила одни и те же.
Добавляем набор простых правил для базовой настройки. Все необходимое вы потом сможете сами открыть или закрыть по аналогии с существующими правилами:
#!/bin/bash # # Объявление переменных export IPT="iptables" # Активный сетевой интерфейс export WAN=ens18 export WAN_IP=10.20.1.16 # Очистка всех цепочек iptables $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -t nat -X $IPT -t mangle -X # Установим политики по умолчанию для трафика, не соответствующего ни одному из правил $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP # разрешаем локальный траффик для loopback $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # разрешаем пинги $IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT $IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT $IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Разрешаем исходящие соединения самого сервера $IPT -A OUTPUT -o $WAN -j ACCEPT # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешить форвардинг для уже инициированных и их дочерних соединений $IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Включаем фрагментацию пакетов. Необходимо из-за разных значений MTU $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # Отбрасывать все пакеты, которые не могут быть идентифицированы # и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Приводит к связыванию системных ресурсов, так что реальный # обмен данными становится не возможным, обрубаем $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # Открываем порт для ssh (!!!не забудьте указать свой порт, который вы изменили ранее!!!) $IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT # Открываем порт для web сервера $IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT $IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT # Записываем правила в файл /sbin/iptables-save > /etc/iptables_rules
Даем файлу права на запуск:
# chmod 0740 /etc/iptables.sh
Запускаем скрипт:
sh /etc/iptables.sh
Проверяем правила:
# iptables -L -v -n
Проверяем, что правила записались в файл /etc/iptables_rules. Если их там нет, то записываем их вручную.
# /sbin/iptables-save > /etc/iptables_rules
Правила применились и произошла их запись в файл /etc/iptables_rules. Теперь нужно сделать так, чтобы они применялись при загрузке сервера. Для этого делаем следующее. Открываем файл /etc/network/interfaces и добавляем в него строку pre-up iptables-restore < /etc/iptables_rules Должно получиться вот так:
# cat /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables_rules
Для проверки перезагрузите сервер и посмотрите правила iptables. Должен загрузиться настроенный набор правил из файла /etc/iptables_rules.
Upgrade Debian 10 to Debian 11 Bullseye
Теперь можно запустить непосредственно обновление системы Debian 10 до 11 версии. Перед этим обязательно убедитесь, что у вас есть доступ к консоли сервера, а не только ssh подключение. Обычно всё проходит нормально и одного ssh достаточно. Но если обновляете prod, лучше перестраховаться. Сначала обновим список пакетов.
Важно! Дальнейшие команды запускайте в голой консоли, а не в терминале какой-то графической оболочки, если она у вас установлена. В процессе обновления этот терминал будет закрыт и обновление прервётся.
# apt update
Теперь сделаем минимальное обновление, которое не требует установки новых пакетов или удаления старых. Обязательно запускайте его через screen или tmux. В случае обрыва связи при подключении по ssh, могут произойти непрогнозируемые проблемы с работоспособностью системы. Процесс обновления обязательно должен полностью завершиться успешно.
# apt upgrade
Не отходите далеко от консоли, так как в процессе обновления Debian 10 до 11 вам могут задавать наводящие вопросы. Достаточно выбирать дефолтные значения, чтобы все прошло успешно. Первым делом, вам надо будет прочитать список изменений и выйти из режима чтения, нажав q.
Если всё прошло успешно, то запускайте полное обновление, которое окончательно обновит все пакеты и разрешит все изменившиеся между выпусками Debian зависимости.
# apt dist-upgrade
После завершения работы этой команды можно считать обновление завершённым. Нужно перезагрузиться.
# reboot
Дожидаемся загрузки Debian 11 Bullseye и проверяем версию.
Всё в порядке. Обновление прошло успешно.
Release statistics
Version |
Code name |
Freeze length |
Time from previous release |
Time from next release up to EOL |
Total lifetime |
1.2 |
178 days |
||||
1.3 |
175 days |
||||
2.0 |
171 days |
414 days |
|||
2.1 |
125 days |
228 days |
76 days |
601 days |
|
2.2 |
212 days |
525 days |
346 days |
1049 days |
|
3.0 |
383 days |
703 days |
389 days |
1442 days |
|
3.1 |
34 days |
1053 days |
357 days |
1028 days |
|
4.0 |
258 days |
671 days |
366 days |
1044 days |
|
5.0 |
202 days |
678 days |
365 days |
1087 days |
|
6.0 |
184 days |
722 days |
391 days |
1209 days |
|
7.0 |
308 days |
818 days |
366 days |
1087 days |
|
8.0 |
171 days |
721 days |
365 days |
1149 days |
|
9.0 |
224 days |
784 days |
366 days |
1115 days |
|
10.0 |
185 days |
749 days |
|||
11.0 |
28 days |
770 days |
In the above array, data closely following «current» releasing tendencies have been highlighted in green. What can be deduced from those data is that the «most-typical» Debian release:
-
endures a freeze cycle of 7 +/- 1 months before getting released.
-
is released about 2 years after the previous one (the often cited example of Debian Sarge being quite an exceptional event in Debian history).
-
leaves users about 1 year to upgrade to the next one once this latter itself gets released.
-
has (from release to the end of security updates) a total lifetime of about 3 years.
Расширенные настройки Chroot
Как и было обещано, это тот раздел, где вы можете более конкретно определить архитектуру процессора, а также указать некоторые другие полезные настройки.
Рис. 3. Расширенные настройки Chroot
Если в параметре chroot-filesystem указано squashfs, то файлы на вашем live CD будут сжатыми, что даст вам больше места для приложений. Обычно это то, что вам нужно.
В параметре linux-flavours вы можете более подробно определить архитектуру своего процессора. В выпадающем списке есть все типы поддерживаемых процессоров 386, а также и образы, создаваемые для виртуальных машин.
Как ни странно, параметры security и symlinks являются, кажется, еще двумя возможностями, которые фактически недокументированы. Некоторые ограниченное тестирование указывает, что параметр security, возможно, связан с конфигурированием SELinux.
С помощью параметра sysvinit вы можете решить, будете ли вы использовать устаревшую систему SysV Init. Если у вас нет особой причины ее использовать, вы, вероятно знаете, что вы должны сделать, — оставить для этой настройки значение False.
Introduction
Debian is under continual development. The latest release is Debian 11.1. It is also (currently) known as stable or by its codename «Bullseye».
Each version also corresponds to a set of named software repositories (at least one per CPU architecture).
At any given time, there is one stable release of Debian, which has the support of the Debian security team. When a new stable version is released, the security team will usually cover the previous version , while they also cover the new/current version. Only stable is recommended for production use.
There are also two main development repositories unstable and testing which are continually updated during the development of the next stable release. The latest packages arrive in unstable (which always has the codename «Sid»). Packages are automatically copied from unstable to testing when they meet criteria such as lack of , and dependencies being satisfied by other packages in testing.
Расширенные настройки Bootstrap
Если бы мы могли установить все с помощью основных настроек, то описываемые ниже настройки не были бы столь полезными. Следующий раздел параметров конфигурирования будет доступен, если вы щелкните мышкой по строке Advanced Bootstrap Options (Расширенные настройки периода загрузки) и получите доступ к еще нескольким важным настроечным параметрам.
Рис.2. Расширенные настройки Bootstrap
В настоящее время параметр architecture позволяет выбирать только процессоры типа 386. В сравнении с семействами SPARC или PowerPC это архитектура широкого семейства процессоров. Конкретный тип процессора (686, 64-разрядный и т.д.) вы установите в следующем разделе.
Параметр bootstrap-flavour указывает те пакеты, которые будут использоваться при создании базовой системы. Независимо от того, хотите ли вы сделать образ вашего диска как можно меньше, вы, вероятно, захотите для этого параметра оставить значение standard (стандартные).
Для параметра mirror-bootstrap оставьте единственное уже указанное значение, поскольку в этом случае пакеты будут браться с того сервера, где создается образ, но для параметра mirror-binary вы можете указать зеркало с пакетами, находящееся в вашем регионе. Пользователи из Соединенных Штатов могут, например, изменить
на .
Параметр mirror-binary-security можно смело оставить таким, как он указан, но если вы собираетесь использовать программное обеспечение, не являющееся открытым (Flash, Skype и т. д.), вам нужно в параметре archive-areas указать значения «contrib» и «non-free».
/etc/apt/sources.list
Как часть своей работы, Apt использует файл содержащий список ‘источников’ из которых могут быть скачаны пакеты. Этот файл /etc/apt/sources.list.
Содержимое этого файла обычно имеет следующий формат (приведенные ниже данные являются вымышленными и не должны использоваться):
deb http://site.example.com/debian distribution component1 component2 component3 deb-src http://site.example.com/debian distribution component1 component2 component3
Тип архива
Первое слово в каждой строке, deb или deb-src, указывает тип архива. Deb указывает что архив содержит бинарные пакеты (deb), пре-компилированные пакеты для нормального использования. Deb-src указывает что это архив пакетов с иходным кодом, который содержит оригинальные исходные коды программ плюс контрольный файл Debian (.dsc) и diff.gz содержащий изменения и необходимый для пакетирования программы.
URL Репозитория
Следующая запись в строке это адрес (URL) репозитория с которого вы хотите скачивать пакеты. Основной список зеркал репозитория Debian находитсяздесь.
Дистрибутив
‘distribution’ может быть либо кодовое имя / псевдоним релиза (jessie, stretch, buster, sid), либо класс релиза (stable, oldstable, testing, unstable). Если вы имеете в виду отслеживание класса релиза, а затем хотите использовать название релиза, или же если вы просто хотите отслеживать цикл релизов Debian, то используйте кодовое имя.
Например, если у вас есть система работающая на Debian 11.1 «bullseye» и вы не хотите обновляться когда выйдет Debian «bookworm», в таком случае нужно использовать «bullseye» вместо «bookworm». Если вы всегда хотите помогать с тестированием дистрибутива, то используйте «testing». Если вы отслеживаете цикл «bookworm» и хотите оставаться на нём от тестирования и до конца его жизни, используйте «bookworm».
Компонент
состоит из -compliant пакетов, которым не требуется другое ПО из других зон. Эти пакеты считаются частью дистрибуции Debian
пакеты содержат DFSG-compliant ПО, но у них зависимостей из зоны main (возможно упакованы в non-free).
содержит ПО, которое не соответствует DFSG.
Обновление системы, отличие apt upgrade от dist-upgrade и full-upgrade
Сеть настроили, теперь можно обновить систему и пакеты. В Debian это делается достаточно просто. Воспользуемся несколькими командами. Сначала обновим локальный индекс пакетов до последних изменений в репозиториях:
# apt update
Посмотреть список пакетов, готовых к обновлению, можно с помощью команды:
# apt list --upgradable
# apt upgrade
Ключ upgrade выполняет только обновление одной версии пакета на другую, более свежую. Он не будет устанавливать или удалять пакеты, даже если это необходимо для обновления других. Это наиболее безопасный и надежный вариант обновления, но он может обновить не все. Например, с ее помощью не обновить ядро до более свежей версии.
Ключ dist-upgrade или full-upgrade (это одно и то же) в дополнение к upgrade обрабатывает все изменения зависимостей для новых пакетов и во время работы может удалять ненужные и ставить необходимые пакеты для обновления. Вот выдержка из документации по поводу этих двух ключей.
Так что после обычного обновления, делаем еще full-upgrade.
# apt full-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: dh-python guile-2.0-libs libbind9-140 libdns162 libicu57 libisc160 libisccc140 libisccfg140 liblvm2app2.2 liblvm2cmd2.02 liblwres141 libperl5.24 libpython3.5-minimal libpython3.5-stdlib linux-image-4.9.0-3-amd64 python3-distutils python3-lib2to3 python3.5 python3.5-minimal rename sgml-base tcpd xml-core Use 'apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Мне предлагается удалить старые пакеты, которые больше уже не нужны. Это зависимости от старых версий софта, который уже обновился и получил новые пакеты из зависимостей, а эти ему больше не нужны. Очистим их командой:
# apt autoremove
Рекомендую делать это регулярно после обновлений, чтобы старые пакеты не занимали лишнее место на диске.
На этом обновление системы закончено. Если вы хотите обновить версию релиза, например Debian 9 обновить до Debian 10 Buster, то читайте отдельный материал.
Заключение
Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .