Как обновить пакеты в Debian

Обновлено: 21.11.2024

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

9.1 Как поддерживать актуальность моей системы Debian?

Можно просто выполнить анонимный ftp-вызов к архиву Debian, затем просмотреть каталоги, пока не будет найден нужный файл, затем извлечь его и, наконец, установить с помощью dpkg . Обратите внимание, что dpkg установит файлы обновления на место даже в работающей системе. Иногда измененный пакет требует установки новой измененной версии другого пакета, и в этом случае установка завершается ошибкой до тех пор, пока не будет установлен другой пакет.

Многие считают этот подход слишком трудоемким, поскольку Debian развивается очень быстро — обычно каждую неделю загружается дюжина или более новых пакетов. Это число больше непосредственно перед новым основным выпуском. Чтобы справиться с этой лавиной, многие люди предпочитают использовать более автоматизированный метод. Для этой цели доступно несколько различных пакетов:

9.1.1 способности

APT — это расширенный интерфейс к системе пакетов Debian. Он имеет полный порядок установки, возможность использования нескольких источников и несколько других уникальных функций, см. Руководство пользователя в /usr/share/doc/apt-doc/guide.html/index.html (вам потребуется установить пакет apt-doc) .

aptitude — рекомендуемый менеджер пакетов для систем Debian GNU/Linux. Это текстовый интерфейс для APT с использованием библиотеки curses, который можно использовать для быстрого и простого выполнения задач управления.

Прежде чем вы сможете использовать aptitude, вам нужно отредактировать файл /etc/apt/sources.list, чтобы настроить его. Если вы хотите перейти на последнюю стабильную версию Debian, вы, вероятно, захотите использовать такой источник:

Более подробную информацию об этом можно найти на странице руководства sources.list(8).

Чтобы обновить систему, запустите

Ответьте на любые вопросы, которые могут возникнуть, и ваша система будет обновлена. См. также aptitude, раздел 8.1.3.

9.1.2 apt-get, dselect и apt-cdrom

apt-get — это инструмент командной строки на основе APT для обработки пакетов, а метод dselect APT представляет собой интерфейс к APT через dselect . Оба они обеспечивают простой и безопасный способ установки и обновления пакетов.

Чтобы использовать apt-get , установите пакет apt и отредактируйте файл /etc/apt/sources.list, чтобы настроить его так же, как для aptitude, раздел 9.1.1.

Ответьте на любые вопросы, которые могут возникнуть, и ваша система будет обновлена. См. также страницу руководства apt-get(8), а также APT, раздел 8.1.2.

Чтобы использовать APT с dselect , выберите метод доступа APT на экране выбора метода dselect (опция 0), а затем укажите источники, которые следует использовать. Файл конфигурации — /etc/apt/sources.list. См. также dselect, раздел 8.1.6.1.

Если вы хотите использовать компакт-диски для установки пакетов, вы можете использовать apt-cdrom . Подробнее см. в примечаниях к выпуску, раздел «Настройка обновления с локального зеркала».

Обратите внимание, что когда вы получите и установите пакеты, они по-прежнему будут храниться в вашей иерархии каталогов /var. Чтобы ваш раздел не переполнялся, не забудьте удалить лишние файлы с помощью apt-get clean и apt-get autoclean или переместить их в другое место (подсказка: используйте apt-move).

9.1.3 способности

aptitude — это текстовый интерфейс к системе пакетов Debian. Он позволяет пользователю просматривать список пакетов и выполнять задачи управления пакетами, такие как установка, обновление и удаление пакетов (см. aptitude, раздел 8.1.3). Действия можно выполнять из визуального интерфейса или из командной строки.

В командной строке действия аналогичны APT, поэтому для обновления системы запустите

Обратите внимание, что aptitude не рекомендуется использовать для обновления одного выпуска Debian GNU/Linux до другого. Для обновлений между выпусками вы должны прочитать примечания к выпуску. В этом документе подробно описаны рекомендуемые действия по обновлению с предыдущих выпусков, а также известные проблемы, которые следует учитывать перед обновлением.

Подробности см. на странице руководства aptitude(8) и в файле /usr/share/aptitude/README

9.1.4 зеркало

Этот Perl-скрипт и его (дополнительная) управляющая программа, называемая mirror-master , можно использовать для получения указанных пользователем частей дерева каталогов с указанного хоста через анонимный FTP.

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

Программа зеркала обычно полезна для обновления локальных копий удаленных деревьев каталогов. Полученные файлы не обязательно должны быть файлами Debian. (Поскольку зеркало — это Perl-скрипт, его можно запускать и в системах, отличных от Unix.) Хотя программа-зеркало предоставляет механизмы для исключения файлов, имена которых совпадают с указанными пользователем строками, эта программа наиболее полезна, когда целью является загрузка всего каталога. деревья, а не выбранные пакеты.

9.1.5 монтируется в dpkg

dpkg-mountable добавляет в список dselect метод доступа, называемый mountable, который позволяет выполнять установку из любой файловой системы, указанной в /etc/fstab. Например, архив может быть обычным разделом жесткого диска или сервером NFS, который он автоматически смонтирует и размонтирует для вас при необходимости.

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

9.2 Должен ли я переходить в однопользовательский режим для обновления пакета?

Нет. Пакеты можно обновлять на месте, даже в работающих системах. В Debian есть программа start-stop-daemon, которая вызывается для остановки, а затем, при необходимости, перезапуска запущенного процесса во время обновления пакета.

9.3 Должен ли я хранить все эти архивные файлы .deb на своем диске?

Нет. Если вы загрузили файлы на свой диск, то после установки пакетов вы можете удалить их из своей системы, например. запустив aptitude clean .

9.4 Как я могу вести журнал пакетов, добавленных в систему? Я хотел бы знать, когда происходили обновления и удаления пакетов!

Передача --log -option в dpkg приводит к обновлению состояния журнала dpkg и действиям. Он регистрирует как dpkg -invokation (например,

) и результаты (например,

) Если вы хотите регистрировать все ваши вызовы dpkg (даже те, которые выполняются с использованием внешних интерфейсов, таких как aptitude ), вы можете добавить

в ваш файл /etc/dpkg/dpkg.cfg . Убедитесь, что созданный файл журнала периодически обновляется. Если вы используете logrotate , этого можно добиться, создав файл /etc/logrotate.d/dpkg с содержимым

Более подробную информацию о ведении журнала dpkg можно найти на странице руководства dpkg(1).

aptitude регистрирует установки, удаления и обновления пакетов, которые он намеревается выполнить, в /var/log/aptitude . Обратите внимание, что результаты этих действий не записываются в этот файл!

Еще один способ записать ваши действия — запустить сеанс управления пакетами в программе script(1).

9.5 Могу ли я автоматически обновлять систему?

Да. Вы можете использовать cron-apt , этот инструмент регулярно обновляет систему, используя задание cron. По умолчанию он просто обновляет список пакетов и загружает новые пакеты без установки.

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

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

Если в вашей сети несколько машин с Debian, полезно использовать apt-proxy, чтобы поддерживать актуальность всех ваших систем с Debian.

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

Одна из целей Debian – предоставить согласованный путь обновления и безопасный процесс обновления. Мы всегда делаем все возможное, чтобы обновление до новых версий прошло гладко. Если в процессе обновления необходимо добавить важное примечание, пакеты предупредят пользователя и часто предоставят решение возможной проблемы.

9.1. Как я могу поддерживать свою систему Debian в актуальном состоянии?

Можно просто выполнить анонимный ftp-вызов к архиву Debian, затем просмотреть каталоги, пока не будет найден нужный файл, затем извлечь его и, наконец, установить с помощью dpkg . Обратите внимание, что dpkg установит файлы обновления на место даже в работающей системе. Иногда измененный пакет требует установки новой измененной версии другого пакета, и в этом случае установка завершается ошибкой до тех пор, пока не будет установлен другой пакет.

Многие считают этот подход слишком трудоемким, поскольку Debian развивается очень быстро — обычно каждую неделю загружается дюжина или более новых пакетов. Это число больше непосредственно перед новым основным выпуском. Чтобы справиться с этой лавиной, многие люди предпочитают использовать более автоматизированный метод. Для этой цели доступно несколько различных пакетов:

9.1.1. способности

aptitude — рекомендуемый менеджер пакетов для систем Debian GNU/Linux, он описан в Разделе 8.1.3, «aptitude».

Прежде чем вы сможете использовать aptitude для обновления, вам нужно отредактировать файл /etc/apt/sources.list, чтобы настроить его.Если вы хотите перейти на последнюю стабильную версию Debian, вы, вероятно, захотите использовать такой источник:

Более подробную информацию об этом можно найти на странице руководства sources.list (5).

Чтобы обновить систему из командной строки, запустите

Ответьте на любые вопросы, которые могут возникнуть, и ваша система будет обновлена.

Обратите внимание, что aptitude не рекомендуется использовать для обновления одного выпуска Debian GNU/Linux до другого. Вместо этого используйте apt-get. Для обновлений между выпусками вы должны прочитать примечания к выпуску. В этом документе подробно описаны рекомендуемые действия по обновлению с предыдущих выпусков, а также известные проблемы, которые следует учитывать перед обновлением.

Подробности см. на странице руководства aptitude (8) и в файле /usr/share/aptitude/README .

9.1.2. apt-get и apt-cdrom

Альтернативой aptitude является apt-get, инструмент командной строки на основе APT (описанный ранее в Разделе 8.1.2, «APT»).

apt-get , инструмент командной строки на основе APT для обработки пакетов, обеспечивает простой и безопасный способ установки и обновления пакетов.

Чтобы использовать apt-get , отредактируйте файл /etc/apt/sources.list, чтобы настроить его так же, как в Разделе 9.1.1, «aptitude».

Ответьте на любые вопросы, которые могут возникнуть, и ваша система будет обновлена. См. также страницу руководства apt-get (8), а также Раздел 8.1.2, «APT».

Если вы хотите использовать CD/DVD/BD для установки пакетов, вы можете использовать apt-cdrom . Подробнее см. в Примечаниях к выпуску, раздел «Добавление источников APT с оптических носителей».

Обратите внимание, что когда вы получите и установите пакеты, они по-прежнему будут храниться в вашей иерархии каталогов /var. Чтобы ваш раздел не переполнялся, не забудьте удалить лишние файлы с помощью apt-get clean и apt-get autoclean или переместить их в другое место (подсказка: используйте apt-move).

9.1.3. зеркало

Этот Perl-скрипт и его (дополнительная) управляющая программа, называемая mirror-master , можно использовать для получения указанных пользователем частей дерева каталогов с указанного хоста через анонимный FTP.

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

Программа зеркала обычно полезна для обновления локальных копий удаленных деревьев каталогов. Полученные файлы не обязательно должны быть файлами Debian. (Поскольку зеркало — это Perl-скрипт, его можно запускать и в системах, отличных от Unix.) Хотя программа зеркала предоставляет механизмы для исключения файлов с именами, соответствующими заданным пользователем строкам, эта программа наиболее полезна, когда целью является загрузка целых деревьев каталогов. , а не выбранные пакеты.

9.2. Должен ли я переходить в однопользовательский режим, чтобы обновить пакет?

Нет. Пакеты можно обновлять на месте, даже в работающих системах. В Debian есть программа start-stop-daemon, которая вызывается для остановки, а затем, при необходимости, перезапуска запущенного процесса во время обновления пакета.

9.3. Должен ли я хранить все эти архивные файлы .deb на своем диске?

Нет. Если вы загрузили файлы на свой диск, то после установки пакетов вы можете удалить их из своей системы, например. запустив aptitude clean .

9.4. Как я могу вести журнал пакетов, добавленных в систему? Я хотел бы знать, когда происходили обновления и удаления и в каких пакетах!

Передача --log -option в dpkg приводит к обновлению состояния журнала dpkg и действиям. Он регистрирует как dpkg -invokation (например,

) и результаты (например,

) Если вы хотите регистрировать все вызовы dpkg (даже те, которые выполняются с использованием таких интерфейсов, как aptitude ), вы можете добавить

в ваш файл /etc/dpkg/dpkg.cfg . Убедитесь, что созданный файл журнала периодически обновляется. Если вы используете logrotate , этого можно добиться, создав файл /etc/logrotate.d/dpkg со следующими строками

Более подробную информацию о ведении журнала dpkg можно найти на странице руководства dpkg (1).

aptitude регистрирует установки, удаления и обновления пакетов, которые он намеревается выполнить, в /var/log/aptitude . Обратите внимание, что результаты этих действий не записываются в этот файл!

Еще один способ записать ваши действия — запустить сеанс управления пакетами в программе script (1).

9.5. Могу ли я автоматически обновлять систему?

Да. Вы можете использовать cron-apt ; этот инструмент регулярно обновляет систему, используя задание cron. По умолчанию он просто обновляет список пакетов и загружает новые пакеты, но не устанавливает их.

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

9.6. У меня есть несколько машин; как я могу загрузить обновления только один раз?

Если в вашей сети несколько машин с Debian, полезно использовать apt-cacher, чтобы поддерживать актуальность всех ваших систем с Debian.

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

Debian — это дистрибутив Linux, состоящий из бесплатного программного обеспечения с открытым исходным кодом (FOSS). Он разработан проектом Debian Project, управляемым сообществом. Это одна из старейших операционных систем, основанная на ядре Linux. Debian лежит в основе многих популярных операционных систем, таких как Ubuntu, Linux Mint, MX Linux, Deepin и многих других.

В этом руководстве показано, как обновлять пакеты Debian из терминала.

Поддержание Debian в актуальном состоянии

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

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

Debian использует APT для управления пакетами. Обновления пакетов доступны непосредственно в официальных репозиториях пакетов Debian. APT также может работать со сторонними репозиториями. Однако вам решать, заслуживает ли доверия сторонний репозиторий и обновлять его пакеты.

Обновление Debian

Мы можем использовать APT, чтобы проверить, доступно ли какое-либо обновление пакета. Если они доступны, мы можем обновить целевые пакеты.

В Debian также можно настроить автоматические обновления с помощью автоматических обновлений.

Для обновления пакетов требуется разрешение root. Для выполнения продемонстрированных действий вам необходимо иметь доступ к пользователю root. В качестве альтернативы вам нужен пользователь без полномочий root, который может выполнить команду sudo. Узнайте больше об управлении разрешениями sudo для пользователей в Debian.

Проверка обновлений

Откройте терминал и выполните следующую команду.

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

Чтобы проверить список доступных обновлений пакетов, выполните следующую APT-команду.

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

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

Чтобы обновить целевой пакет, выполните следующую команду. Здесь APT обновит только целевой пакет. Если пакет еще не был установлен, он не будет установлен.


Перед загрузкой и обновлением пакетов APT запросит подтверждение для выполнения действия. Если вы не хотите, чтобы APT запрашивал подтверждение, добавьте флаг «-y».

Одновременное обновление кэша APT и пакетов

Вместо того, чтобы выполнять эти шаги одновременно, мы можем объединить их в одну команду. Если вы используете оболочку bash, следующая команда проверит наличие обновлений пакетов и обновит пакеты одновременно.


Здесь символ «&&» связывает вместе команды обновления и обновления. По сути, это логический оператор И. Существует множество операторов и символов bash, которые выполняют специальные функции и значения. Ознакомьтесь с большим списком операторов bash и их реализацией.

Автоматическое обновление Debian

До сих пор мы обновляли пакеты Debian вручную. Однако ручное обновление неудобно в долгосрочной перспективе, не говоря уже о корпоративной/профессиональной среде, где вам может понадобиться управлять несколькими удаленными серверами одновременно. Обновление всех их вручную — утомительный процесс. Можно использовать Ansible для одновременного ручного обновления удаленных систем Debian/Ubuntu, но регулярно запускать его вручную нецелесообразно.

Здесь мы можем использовать автоматические обновления. Это инструмент, который автоматически проверяет и загружает обновления пакетов, когда они доступны. Требуется небольшая настройка.

Во-первых, нам нужно установить пакет. Откройте терминал, обновите кэш APT и установите пакет.


Далее нам нужно настроить файл конфигурации APT для автоматических обновлений. Откройте его в текстовом редакторе.

Раскомментируйте следующие строки из файла конфигурации. Он укажет инструменту автоматизировать процесс обновления.

Файл конфигурации обновлен. Запустите следующую команду конфигурации dpkg, чтобы привести ее в действие.



После успешного выполнения на терминале появится диалоговое окно. Выберите «Да».

Теперь инструмент будет автоматически загружать и устанавливать обновления в Debian. Тем не менее, мы должны убедиться, что он работает так, как задумано. Проверьте статус службы.


Он показывает, что статус службы — «Активный» (в процессе), что означает, что он работает отлично. Подробную информацию и демонстрации см. в этом руководстве по автоматическому обновлению.

Заключительные мысли

Обновление Debian — очень простая задача. Debian — хорошо поддерживаемый проект с актуальными пакетами, доступными напрямую с его серверов пакетов. Все, что вам нужно, это попросить APT выполнить эту работу.

Debian придерживается долгосрочного цикла выпуска. Таким образом, вам не нужно часто обновлять дистрибутив. Если вы используете более старый Debian, то вместо обновления пакетов рекомендуется обновить дистрибутив. На момент написания этого руководства Debian 10 был последней стабильной версией. Ознакомьтесь с этим руководством по обновлению с Debian 9 до Debian 10.

Об авторе

Сидратул Мунтаха

Студент CSE. Я люблю Linux и играю с технологиями и гаджетами. Я использую как Ubuntu, так и Linux Mint.

Если вы хотите обновить систему Debian Linux, вот что вам нужно сделать.

Обновите кеш локальной базы данных пакетов с помощью:

А затем сразу обновите все установленное программное обеспечение, ядро ​​и другие системные компоненты, используя:

Нажмите клавишу Y, когда вас попросят подтвердить.

Объедините две приведенные выше команды

Кроме того, вы можете комбинировать две приведенные выше команды с помощью оператора help &&. Вы также можете предоставить подтверждение автоматически, используя -y :

Объяснение обновления Debian

Позвольте мне объяснить, что вы здесь делаете для обновления Debian.

apt или более ранняя версия apt-get — это диспетчер пакетов для Debian Linux, основанный на командной строке.

С помощью команды apt вы можете устанавливать, удалять или управлять пакетами программного обеспечения. Вы можете использовать его для одновременного обновления всего программного обеспечения в вашей системе. Сюда входят обновления ядра Linux, предоставляемые Debian.

обновление sudo apt

Может показаться, что эта команда обновит систему, но это не так.

Менеджер пакетов apt работает с локальной базой данных метаданных (имя, версия, описание и информация о репозитории) о пакетах программного обеспечения.

Когда вы запускаете команду apt update, она обновляет этот локальный кеш из репозитория Debian.

Благодаря этому ваша система может видеть, доступна ли новая версия установленного пакета. На самом деле вы можете увидеть пакеты, которые можно обновить с помощью:

обновление sudo

Это команда, которая фактически обновляет вашу систему Debian.

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

С этой информацией команда apt upgrade получает новые версии пакетов из репозиториев Debian и устанавливает их.

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

sudo apt update && sudo apt upgrade -y

Опция && — это один из способов запуска нескольких команд Linux одновременно.

С && вторая команда apt upgrade -y запускается автоматически после успешного завершения первой команды.

Почему здесь используется параметр -y? Поскольку apt upgrade требует вашего подтверждения перед загрузкой и обновлением системы. Вы можете сэкономить время, указав yes благодаря ключу -y .

Таким образом, вам не потребуется ручное вмешательство при обновлении Debian. Все делается одной командой, даже если это комбинация нескольких команд.

Надеюсь, вам понравился этот совет для новичков в Debian. Станьте участником, чтобы получить больше советов и руководств по Linux.

Я хочу полностью обновить все в Debian:Stable, включая релизную версию, до последней доступной стабильной версии:

  • Обновление пакетов
  • Обновление пакетов
  • Младшая_версия D:S
  • Основная_версия D:S
  • D:S версия_выпуска

Каждое действие будет выполняться по отношению к другим во всем этом рекурсивном (ежемесячном/годовом) одиночном процессе, хотя я предполагаю, что версия_выпуска наверняка будет последней.

Другими словами, я хотел бы создать «полностью выпускаемую стабильную версию Debian».

Я делаю это при автоматических резервных копиях хотя бы раз в неделю/ежедневно (в месяц) всех данных, поэтому, если что-то сломалось, я восстанавливаю резервную копию.

Какой будет команда для «жестокого» обновления всего, включая обновление релиза? Я думал о:

Нет, но, насколько мне известно, стабильная версия Debian никогда не получает обновления выпуска (только незначительные и основные обновления), поскольку это не полный дистрибутив непрерывного выпуска (как ArchLinux).

Зависит от того, что находится в вашем файле /etc/apt/sources.list (а также от того, что находится ниже). Если у вас есть название выпуска — jessie, wheezy и т. д., оно немного отличается от того, если у вас есть дескриптор выпуска (стабильный, тестируемый или нестабильный).

@ivanivan, пожалуйста, посмотрите мой комментарий к ответу --- в основном мне нужен способ независимый от версии_версии для полного обновления Debian (второстепенной, основной и версии_обновления).

2 ответа 2

Операционная система Debian не является передовой. Он отличается высокой стабильностью при установке на поддерживаемом оборудовании. Однако в результате программное обеспечение, которое использует Debian и которое находится в его репозиториях, немного старше, чем, скажем, в Ubuntu. Несмотря на то, что Ubuntu основан на Debian, он постоянно обновляется, и иногда что-то меняется изо дня в день. Если вы успешно выполните перечисленные вами команды, все должно быть обновлено и считаться самой новой стабильной версией. Однако, если вы хотите перейти с Debian 8 на 9, процесс будет более сложным.

После выполнения вышеуказанных команд:

Если все прошло гладко, выполните проверку работоспособности и непротиворечивости базы данных для частично установленных, отсутствующих и устаревших пакетов:

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