Astra Linux. Подключение репозиториев и обновление системы.

Итак, ОС Astra Linux установлена.

Теперь нужно подключить нужные репозитории и обновить систему.

Будем  иметь в виду, что у меня специальная редакция ОС («Смоленск»), поэтому постараюсь без лишней  необходимости не использовать сторонние репозитории, или репозитории, расположенные в интернете.

Кроме того, каждый раз вставлять DVD-диск в сервер для установки какой-нибудь программы мне не хочется

Что делать? Конечно, скопировать содержимое установочного диска на локальный диск сервера и подключить его в качестве репозитория.

Шаг 1. Запускаем терминал.

Шаг 2. Производим предварительную подготовку.

Т.к. у нас суперпользователь root без пароля, зададим ему пароль.

mihanik@astra-srv:~$ sudo su 
root@astra-srv:/home/mihanik# passwd 
Новый пароль :  
Повторите ввод нового пароля :  
passwd: пароль успешно обновлён 
root@astra-srv:/home/mihanik# 

Шаг 3. Создаём локальный репозиторий из установочного диска.

Для этого вставляем установочный диск в привод и копируем его содержимое в папку на диске. Правда, придётся предварительно установить rsync, т.к. эта программа по умолчанию не установлена в системе.

mount /dev/sr0 /media/cdrom0/
apt-cdrom add
apt -y install rsync
mkdir /opt/distr
mkdir /opt/distr/inst_repo/
rsync -a --progress /media/cdrom0/ /opt/distr/inst_repo/

Шаг 4. Создаём локальный репозиторий из диска для разработчиков

Если у вас нет диска разработчиков на флешке, скачиваем его из интернета

cd /home/mihanik/Загрузки
wget --no-check-certificate https://dl.astralinux.ru/astra/stable/smolensk/international-se-version/devel-smolensk-1.6-09.07.2019_14.19.iso
mkdir /mnt/iso
mount -o loop /home/mihanik/Загрузки/devel-smolensk-1.6-09.07.2019_14.19.iso /mnt/iso/
mkdir /opt/distr/dev_repo
rsync -a --progress /mnt/iso/ /opt/distr/dev_repo/
umount /mnt/iso

Шаг 5. Создаём локальный репозиторий из диска обновлений.

Если у вас нет диска с обновлениями на флешке, скачиваем его из интернета. На момент написания статьи последнее обновление имело имя 20210730SE16

cd /home/mihanik/Загрузки
wget --no-check-certificate https://download.astralinux.ru/astra/stable/smolensk/security-updates/1.6/20210730SE16/20210730SE16.iso
mkdir /mnt/iso
mount -o loop /home/mihanik/Загрузки/20210730SE16.iso /mnt/iso/
mkdir /opt/distr/upd_20210730SE16
rsync -a --progress /mnt/iso/ /opt/distr/upd_20210730SE16/
umount /mnt/iso

Шаг 6. Подключаем созданные репозитории.

Для этого редактируем файл /etc/apt/sources.list.

mcedit /etc/apt/sources.list

Приводим его к следующему виду

## deb cdrom:[OS Astra Linux 1.6 smolensk - amd64 DVD ]/ smolensk contrib main non-free
deb file:///opt/distr/inst_repo smolensk contrib main non-free
deb file:///opt/distr/dev_repo smolensk contrib main non-free
deb file:///opt/distr/upd_20210730SE16 smolensk contrib main non-free

Обратите внимание, первую строчку, которая уже была в файле, я закомментировал. Действительно, зачем нам каждый раз вставлять DVD с установочным диском? 😉

Шаг 7. Обновляем систему.

Для этого сначала обновляем список подключенных репозиториев.

apt update

Теперь по поводу обновления системы…

У apt есть ключ upgrade, который выполняет только обновление одной версии пакета на другую, более свежую. Он не будет устанавливать или удалять пакеты, даже если это необходимо для обновления других. Это наиболее безопасный и надежный вариант обновления, но он может обновить не все. Например, с ее помощью не обновить ядро до более свежей версии.

Ключ dist-upgrade или full-upgrade (это одно и то же) в дополнение к upgrade обрабатывает все изменения зависимостей для новых пакетов и во время работы может удалять ненужные и ставить необходимые пакеты для обновления.

Использование ключа dist-upgrade несколько  опасно, я так несколько раз получал повреждённую систему.

Итак, обновляем систему

apt -y upgrade

Придётся немного подождать.

(Моё субъективное мнение: Astra Linux обновляяется уж очень долго. Red Hat или Centos обновляются в 2-3 раза быстрее.)

После обновления рекомендую перезагрузить сервер

reboot

PS.

Так как я планирую установить ещё и модули дополнений для гостевой ОС от VirtualBox, установлю минимальный набор необходимых для этого пакетов

apt -y install gcc make python
apt -y install linux-headers-4.15-generic 

Ну, и собственно, ставлю сами дополнения гостевой ОС

bash /media/cdrom0/autorun.sh
reboot

Теперь точно всё.

🙂