Как обновить систему linux

Обновлено: 02.07.2024

После установки системы, её лучше сразу обновить до актуального состояния. Можно не обновлять и сразу приступать к работе только в том случае, если вы не планируете подключаться к сети или Интернету, не собираетесь устанавливать дополнительных программ, если всё железо успешно работает. Открываем терминал и вводим:

Внимание! Прежде, чем двигаться дальше, посмотрите эту статью. Наиболее часто встречающаяся ошибка новичков – работа с рутовыми привилегиями в среде обычного пользователя, когда вместо «su-» или «su -» дают команду «su».

Получив рутовую консоль, набираем в ней:

После успешной загрузки на новом ядре (update-kernel) снова открываем терминал:

Такова общая схема обновления в пределах текущего бранча. А теперь подробнее со всеми тонкостями. Смотрим, какие репозитории сейчас подключены:

Допустим, нас это не устраивает. Допустим, в локальной сети уже есть NFS-сервер с зеркалом и мы хотим переключиться на него. Делаем следующее:

Тем самым мы указали APT'у искать репозиторий на локальном диске в каталоге /ALT/p8 , однако такого каталога ещё нет. Делаем следующее:

Здесь вместо NFSSERVER нужно вписать имя или IP-адрес сервера в своей локальной сети. По аналогии замените space своим названием экспортируемого каталога NFS. Если последняя команда отработала успешно, вы увидите содержимое этого каталога, иначе – смотрите dmesg. Обратите внимание: каждый раз после перезагрузки компьютера для обновления системы придётся заново набирать:

Так задумано! Не убирайте параметр noauto, если не хотите внезапно получить не загружаемую систему, когда начнутся проблемы в локальной сети. Осталось связать каталог /ALT с тем, что мы только что смонтировали:

Здесь /mnt/space/ALTLinux – каталог с зеркалом репозиториев, /mnt/space/ALTLinux/p8 – каталог с зеркалом бранча P8. Пути конечно же вымышленные, замените их своим вариантом.

На этом – ВСЁ, разовая подготовка завершена! Теперь все обновления пойдут не через Интернет, а с локального зеркала. Приступаем:

Внимание! Не торопитесь нажимать ENTER или Y ! Внимательно изучите, что APT предлагает удалить, заменить, обновить и установить нового. Вы правда согласны с его предложением!? Обратите внимание на форму второй команды. Никогда не добавляйте «-y», никогда не используйте «apt-get upgrade»: ALT – это не Debian и не Ubuntu! Не обновляйте систему, находясь в графической среде – в редких случаях это может привести к негативным последствиям. Надёжнее завершить сеанс и перейти в текстовый терминал ( Ctrl-Alt-F2 . Ctrl-Alt-F6 ), как вариант: в рутовой консоли дать команду «init 3», снова залогиниться под рутом в открывшемся на весь экран терминале и запускать вторую команду из него.

Первая команда («apt-get update») только обновит индексы. Её надо давать всегда перед второй командой, а также перед тем, как что-либо устанавливать. Вторая команда («apt-get dist-upgrade») обновит систему, но ядро и образ диска начальной загрузки останутся нетронутыми. Так задумано! Если хотите обновить сразу и ядро, сначала загляните СЮДА и дайте команду:

другие варианты (обусловлены тем, что в актуальных дистрибутивах АЛЬТ преимущественно используется два типа ядер – std-def и un-def):

Новое ядро загрузится только после перезапуска системы, который рекомендуется выполнить немедленно. Если с новым ядром что-то пойдёт не так, вы сможете вернуться к предыдущему варианту, выбрав его в начальном меню загрузчика. Если с новым ядром всё в порядке, не копите старые ядра, удаляйте их (только после перезагрузки):

другие варианты (с параметром «-n» ничего не изменится, вам только покажут, что будет удалено):

Если пакеты ставились из сети и кэш больше не требуется, можно освободить место на диске, дав команду:

Обновление Ubuntu Linux до новой версии

Помимо периодических обновлений пакетов в Ubuntu Linux, раз в полгода (в апреле и октябре) выходят новые версии дистрибутива. Версии нумеруются числами — 18.04, 18.10, 19.04, . которые означают год и месяц выхода дистрибутива.

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

В данной статье мы рассмотрим, как обновить Ubuntu Linux до новой версии. Мы рассмотрим два способа обновления системы:

  • Используя графическую утилиту Менеджер обновлений.
  • Используя командую строку (терминал).

Обновление Ubuntu до новой версии через Менеджер обновлений

Шаг 1. Настройки обновления системы

Запуск утилиты Программы и обновления в Ubuntu

Откройте Лаунчер, нажав сочетание клавиш Super+A , и запустите утилиту Программы и обновления (Software & Updates).

Утилита Программы и обновления в Ubuntu

Откроется утилита Программы и обновления. Перейдите на вкладку Обновления и проверьте, что в пункт Уведомлять меня о выходе новой версии Ubuntu ( Notify me of a new Ubuntu version ) установлен в состояние При доступности любой новой версии ( For any new version ) , если нет, то выберите этот пункт. После этого закройте окно.

Шаг 2. Обновление пакетов (по необходимости)

Процесс обновления пакетов

Появится окно для ввода пароля пользователя. Введите пароль. После этого начнется процесс обновления пакетов.

Шаг 3. Обновление Ubuntu до новой версии

Снова, как и на предыдущем шаге, запустите Менеджер обновлений Ubuntu (Обновление приложений).

Примечание: Если вдруг снова появилось окно с предложением обновить пакеты, то это означает, что требуется обновить еще некоторые пакеты. Обновите их.

Появится запрос на ввод пароля пользователя. Введите пароль и нажмите кнопку Подтвердить .

Подготовка к обновлению Ubuntu

Начнется подготовка к обновлению системы.

Менеджер обновлений. Процесс обновления пакетов

Начнется процесс обновления Ubuntu до новой версии. Процесс может занимать довольно долгое время.

Начнется перезагрузка компьютера. После перезагрузки вы попадете в новую версию Ubuntu.

Обновление Ubuntu до новой версии через командную строку

Шаг 1. Откройте терминал

Откройте терминал. Это можно сделать, нажав сочетание клавиш Ctrl+Alt+T .

Шаг 2. Обновление Ubuntu до новой версии

Обновление Ubuntu до новой версии выполняется в 2 этапа. Сначала нужно обновить все пакеты до новой версии и только потом обновлять саму систему.

Для обновления пакетов, введите в терминале последовательно следующие команды.

Если будут найдены обновления каких-либо пакетов, то эти пакеты должны быть обновлены.

Теперь выполним непосредственно обновление системы до новой версии. Выполняем команду:

В процессе обновления могут выдаваться запросы, на которые вы должны отвечать Да (Yes) или Нет (No). Если у вас русская версия системы, то чтобы ответить Да, нужно ввести д и нажать Enter . Для английской версии систему, нужно ввести y и нажать Enter .

Calculate Utilities

Процесс обновления Calculate Linux максимально упрощён. Для обновления достаточно запустить графическое приложение "Обновление Calculate Linux" или выполнить в консоли:

Во время выполнения программа обновит портежи и оверлеи, выполнит обновления пакетов и выполнит удаление устаревших зависимостей.

Утилита может быть запущена как от суперпользователя root, так и от обычного пользователя системы, при наличии необходимых прав для обновления (см. раздел Пользователи):

Этапы обновления

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

Синхронизация репозиториев

В Calculate Linux существует несколько зеркал с бинарными пакетами обновлений, описанных в оверлее Calculate. Утилита обновления сама определит "мёртвые" или недоступные зеркала, а также зеркала, находящиеся в процессе обновления, и, в случае необходимости, переключит систему на другое наиболее быстрое зеркало. Для пересканирования зеркал с определением наиболее быстрого зеркала выполните cl-update --scan . Лог сканирования будет доступен в файле .

Доступны два типа зеркал - стабильные и нестабильные (тестовые). Тестовые зеркала отличаются более свежими версиями обновлений. Чтобы переключиться на тестовые обновления выполните cl-update --stable off .

Пакеты на зеркалах обновляются в разное время. Для того, чтобы версии пакетов были согласованы с версией портежей и оверлеев Calculate с Distros, утилита считывает с зеркала номера коммитов Git-репозитория и синхронизирует портежи и оверлеи до этого состояния. Тэги коммитов, благодаря которым можно минимизируя трафик скачать дерево портежей до определённого состояния, являются единственным отличием копии портежей Gentoo, используемой в дистрибутивах Calculate Linux.

Важной составляющей Calculate Linux является наличие вспомогательных оверлеев. Оверлеи играют важную роль в системе. При помощи них можно менять флаги и маски пакетов, устанавливать переменные, добавлять ebuild-ы пакетов. Оверлеи в Calculate Linux могут содержать шаблоны утилит Calculate. Все дистрибутивы Calculate Linux включают как минимум один оверлей , который содержит все необходимые настройки и шаблоны утилит. Оверлей , присутствующий в официальных сборках, включает только отличия разных дистрибутивов. Такое разделение сделано для того, чтобы на примере оверлея Distros можно было в любой момент создать свой полнофункциональный форк дистрибутива.

Конфигурация системы

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

Исправления могут вноситься, например, через искусственное понижение номера версии установленного пакета для последующей переустановки исправленной версии. Номера версий таких пакетов после изменения будут заканчиваться на . В качестве другого, более редкого, случая исправления можно привести удаление из служебного файла устаревшего пакета, приводящего к блокировке просчёта зависимостей пакетного менеджера.

Обновление пакетов

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

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

Пересборка изменённых пакетов

Данный шаг выполняется утилитой cl-builder-update при выполнении обновления пакетов в образе и служит для своевременной пересборки изменённых пакетов в дереве портежей. На этом этапе выполняется проверка изменений слота, USE-флагов и зависимостей пакетов. В случае наличия изменений такие пакеты будут пересобраны.

Обновление модулей Perl

Если во время обновления был обновлён пакет dev-lang/perl, программа выполнит perl-cleaner all для обновления модулей языка Perl.

Очистка системы от ненужных пакетов

При установке программ могут быть установлены дополнительные пакеты с зависимостями, необходимыми для работы. С течением времени зависимости могут меняться, а программы удаляться. Высвободившиеся от зависимостей пакеты могут остаться в системе мёртвым грузом. Такие пакеты не будут обновляться, т.к. не будут попадать в просчёт зависимостей пакетного менеджера. На данном шаге программа обновления выполнит удаление этих пакетов, выполнив вызов emerge --depclean .

Из списка удаляемых пакетов будет исключено ядро, если удаляемая версия пакета совпадёт с работающей в системе версией ядра. Таким образом, вы всегда сможете загрузить систему, используя предыдущую рабочую версию ядра, которое будет присутствовать в меню загрузчика.

Для предотвращения удаления работающей версии PostgreSQL при обновлении мажорной версии, во время вызова настройки emerge --config postgresql в файл шаблонами утилит будет прописан пакет с указанием номера слота.

Обновление модулей ядра

В случае обновления ядра на этом шаге программа выполнит вызов emerge @module-rebuild для обновления модулей ядра.

При обновлении пакета x11-base/xorg-server программа выполнит вызов emerge @x11-module-rebuild для обновления модулей Xorg-сервера.

Пересборка зависимых модулей

Во время обновления будет выполнено определение пакетов, использующих устаревшие библиотеки, для последующей их пересборки. Для этого программа обновления использует вызов emerge @preserved-rebuild .

Проверка обратных зависимостей

Опционально может быть выполнен вызов утилиты revdep-rebuild , входящей в состав пакета и выполняющей поиск пакетов, содержащих повреждённые исполняемые файлы и библиотеки. Для его включения выполните:

Полезные опции запуска

По умолчанию программа не обновляет сторонние оверлеи. Для синхронизации всех подключённых оверлеев во время обновления используйте опцию . Пример:

Для просчёта зависимостей с последующим отображением устанавливаемых пакетов, без фактической установки, по аналогии с пакетным менеджером emerge есть опция . Пример:

Чтобы отобразить вывод списка просчитанных зависимостей с USE-флагами по аналогии с пакетным менеджером emerge , используйте опцию , пример:

Для восстановления целостности портежей и оверлеев - например, после ручного редактирования, используйте опцию , пример:

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

Приведение списка пакетов может также разрешить блокировки, которые могут оказаться по причине перегруженности world-файла конфликтующими пакетами.

Другой полезной возможностью может оказаться дополнение world-файла списком пакетов профиля. К примеру, вы установили и настроили Calculate Linux Scratch, после этого захотели попробовать переключиться на профиль . Чтобы установить после этого MATE со всеми зависимостями, можно выполнить:

Для сокращения места на жестком диске вы можете использовать две опции: для очистки истории изменений локальной копии Git-репозитория и --clean-pkg для удаления скачанных и устаревших архивов программ. Пример:

cl-update -1 --clean-pkg

Интеграция в другие приложения

Важно не нарушать соответствие состояния бинарного репозитория и дерева портежей. Для этого вызов утилиты cl-update интегрирован в системные приложения.

При запуске emerge --sync будет выполнен вызов модуля синхронизации утилит Calculate, прописанный в файле настроек . Утилита eix-sync , обновляющая портежи в наглядном виде, также вызывает метод обновления утилит Calculate благодаря настройке . Утилита обновления портежей и пакетов в собираемом образе cl-builder-update также использует общий модуль обновления системы.

Автоматическая проверка обновлений

Проверка обновлений выполняется по планировщику задач . Вызов утилиты настраивается в файле . При доступности обновления будет создан файл . Для настройки интервала обновления или отключения выполнения проверки обновлений используйте утилиту cl-setup-update .

09 янв 2018, 01:27

Хотел бы поделиться не большим "джентльменским набором" основных необходимых команд. Буду очень рад, если Вы будете предлагать еще и дополнять список.

КОМАНДЫ:
Обновление базы данных пакетов:

Самый быстрый и удобный способ «обновить» вашу систему использовать команду:
sudo apt update && sudo apt upgrade -y
Команда, которая поможет удовлетворить все зависимости пакета, если они не установлены:
sudo apt install -f
Все пакеты у которых есть новая версии:
apt list --upgradeable
Все установленные пакеты в системе:
apt list --installed
Все пакеты, доступные для вашей системы:
apt list --all-versions

Самый простой способ освободить дисковое пространство, использовать опцию autoremove:
sudo apt autoremove
Размер кеша можно увидеть с помощью следующей команды:
sudo du -sh /var/cache/apt
Для того чтобы очистить кэш, можно использовать несколько вариантов:
Удалить только устаревшие пакеты, например те, которые заменены недавним обновлением:
sudo apt autoclean
Или очистить кэш целиком (освобождает больше места на диске):
sudo apt clean
Очистка кэша миниатюр (2 команды):
rm -v -f

/.thumbnails/*/*.jpg
rm -v -f

/.thumbnails/*/*/*.jpg
Устаревшие файлы конфигурации (2 команды):
dpkg -l | awk '/^rc/ ' | xargs sudo dpkg --purge
sudo aptitude purge

Самый простой способ удаления не нужных ядер, это набрать в терминале вот такую строку (текущее ядро останется не тронутым):
Выполнить последовательно все команды и перезагрузиться:
sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/7/!d' | head -n -1)

sudo apt autoremove

sudo reboot
БОНУС:
Скорость загрузки системы:
systemd-analyze
Скорость загрузки служб ОС:
systemd-analyze blame

Читайте также: