Hold пакета (Заблокировать версию пакета)[править]
Иногда требуется предотвратить обновление какого-то пакета, например, nxclient. Чтобы решить эту проблему, создаём файл 90-apt-hold.conf (название особенного значения не имеет, но должно заканчиваться на .conf) в каталоге /etc/apt/apt.conf.d/:
# echo 'RPM::Hold { nxclient; };' >> /etc/apt/apt.conf.d/90-apt-hold.conf
Файл может иметь и многострочный формат, примером может быть соответствующая секция в /etc/apt/apt.conf.
Hold не работает, если обновляется какой-то другой пакет, имеющий зависимость на пакет, указанный в этой секции. Например, это не сработает для библиотек, либо вместе с библиотекой надо указывать все остальные пакеты, которым она нужна.
Если Вы пользуетесь synaptic или aptitude, там тоже есть возможность соответствующей настройки.
synaptic: Пакет - Заблокировать версию; aptitude: aptitude hold nxclient.
Эволюция команды APT
Чтобы лучше понять эти две команды, давайте вернемся в прошлое и посмотрим, как команда apt развивалась с течением времени. До Debian 8 (Jessie) и Ubuntu 16.04 (Xenial Xerus) пользователи взаимодействовали с менеджером пакетов APT (Advanced Package Tool) с помощью команды apt-get. Однако инструмент командной строки не пользовался большой популярностью у пользователей, а большинство из них не использовали множество прилагаемых к нему опций.
С появлением Ubuntu 16.04 и Debian 8 произошла эволюция инструмента командной строки apt-get в apt. Команда APT стала более удобным инструментом и объединила функциональные возможности apt-get и apt-cache
Typical usage example
I want to feel the wind in my hair, I want the adrenaline of speed. So let’s install a racing game. But what racing games are available?
apt-cache search racing game
It gives me a lot of answers. I see a game named «torcs». Let’s get some more information on this game.
apt-cache show torcs
Hmmm… it seems interesting. But is this game not already installed on my computer? And what is the available version? Which repository is it from (Universe or Main)?
apt-cache policy torcs
Ok, so now, let’s install it!
apt-get install torcs
What is the command I must type in the console to launch this game? In this example, it’s straightforward («torcs»), but that’s not always the case. One way of finding the name of the binary is to look at what files the package has installed in «/usr/bin». For games, the binary will be in «/usr/games». For administrative programs, it’s in «/usr/sbin».
dpkg -L torcs | grep /usr/games/
The first part of the command display all files installed by the package «torcs» (try it). With the second part, we ask to only display lines containing «/usr/games/».
Hmmm, that game is cool. Maybe there are some extra tracks?
apt-cache search torcs
But I’m running out of space. I will delete the apt cache!
apt-get clean
Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.
apt-get remove torcs
If I want to also remove config files :
apt-get purge torcs
Установка или обновление пакета
Установка пакета с помощью APT выполняется командой:
Если результате операций с пакетами без использования APT целостность системы нарушится, то apt-get откажется выполнять операции установки, удаления или обновления. В такой ситуации следует повторить операцию, задав опцию -f, заставляющую apt-get исправить нарушенные зависимости (если это возможно), следя при этом за сообщениями, выдаваемыми apt-get, анализируя их и чётко следуя рекомендациям программы.
Переустановка пакета:
Полезный режим позволяюший исправить ошибки администратора и сборщика пакета.
Если вы не уверены в том, что в результате выполнения операции система останется работоспособной, запустите apt-get с опцией -s.
В этом случае будет показан отчёт о выполнении операции обновления, но само обновление произведено не будет:
apt-cdrom add
(необходимы привилегии root)
Команда добавит CD-ROM к числу источников, откуда можно получать пакеты, так что вы сможете устанавливать с него пакеты. Эта команда особенно полезна, если у вас есть образы ISO, которые вы не хотите записывать на компакт-диск. Для того, чтобы сканировать образы ISO, используйте команду:
apt-cdrom -d=/cdrom add
В результате в директории /cdrom будет смонтирован образ ISO, а затем его содержимое будет добавлено в sources.list
Обратите внимание, что директорий /cdrom должен быть пустым. Для этого вы можете использовать любой пустой директорий:
apt-cdrom -d=/home/USER/mydir
5.1 Нахождение имен пакетов
Например, допустим, что вы хотите вспомнить старые добрые денечки Atari 2600.
Вы хотите использовать APT для установки эмулятора Atari и скачивания некоторых
игр. Можете сделать так:
@[/] # apt-cache search atari atari-fdisk-cross - Partition editor for Atari (running on non-Atari) circuslinux - The clowns are trying to pop balloons to score points! madbomber - A Kaboom! clone tcs - Character set translator. atari800 - Atari emulator for svgalib/X/curses stella - Atari 2600 Emulator for X windows xmess-x - X binaries for Multi-Emulator Super System
Мы нашли несколько пакетов, имеющих отношение к тому, что нам требуется, вместе
с краткими описаниями. Чтобы посмотреть более полные описания, можно дать
команду:
@[/] # apt-cache show stella Package: stella Priority: extra Section: non-free/otherosfs Installed-Size: 830 Maintainer: Tom Lear <tom@trap.mtview.ca.us> Architecture: i386 Version: 1.1-2 Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1) Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb Size: 483430 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5 Description: Atari 2600 Emulator for X windows Stella - это portable emulator of the old Atari 2600 video-game console written in C++. You can play most Atari 2600 games with it. The latest news, code and binaries for Stella can be found at: http://www4.ncsu.edu/~bwmott/2600
В этом выводе мы получили множество сведений о пакете, который вы хотите (или
не хотите) установить, вместе с полным описанием пакета. Если пакет уже
установлен в системе или есть более новая версия, то вы увидите информацию об
обоих версиях. Например:
@[/] # apt-cache show lilo Package: lilo Priority: important Section: base Installed-Size: 271 Maintainer: Russell Coker <russell@coker.com.au> Architecture: i386 Version: 1:21.7-3 Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate Suggests: lilo-doc Conflicts: manpages (<<1.29-3) Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb Size: 143052 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel. Package: lilo Status: install ok installed Priority: important Section: base Installed-Size: 190 Maintainer: Vincent Renardias <vincent@debian.org> Version: 1:21.4.3-2 Depends: libc6 (>= 2.1.2) Recommends: mbr Suggests: lilo-doc Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
Обратите внимание, что первый в списке — доступный пакет, а второй — уже
установленный. Для получения более общей информации о пакете, вы можете
использовать:
@[/] # apt-cache showpkg penguin-command Package: penguin-command Versions: 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status) Reverse Depends: Dependencies: 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) Provides: 1.4.5-1 - Reverse Provides:
А чтобы посмотреть только его зависимости:
@[/] # apt-cache depends penguin-command penguin-command Depends: libc6 Depends: libpng2 Depends: libsdl-mixer1.1 Depends: libsdl1.1 Depends: zlib1g
В общем, мы имеем полный арсенал для поиска имен нужных нам пакетов.
Debian – основанные менеджеры пакетов
Менеджер пакетов Dpkg
Ubuntu и Debian считаются одним из наиболее широко используемых потребительских операционных систем на основе Linux, имеющихся сегодня на рынке. Их менеджеры пакетов являются общими, с системой управления пакетами нижайшего уровня «Dpkg», сокращенно от «Debian Package». Это скелет программного обеспечения для управления пакетами, с инструментами для установки, удаления и сборки пакетов.
В Dpkg не хватает более расширенные возможности – функциональные возможности, такие как загрузка пакетов из Интернета, или установка зависимостей автоматически не возможно через DPKG. Будучи в состоянии сделать это из Интернета очень полезна, так как она позволяет пользователям добавлять репозитории пакетов, что значительно увеличивает выбор программного обеспечения, которое может быть легко установлено в системе. Оно также может значительно упростить процесс установки программного обеспечения, будучи в состоянии легко найти и установить пакет только с одной командой.
Менеджер пакетов APT
Это где интерфейсы, такие как apt и aptitude вступают в игру. APT, сокращенно от Advanced Package Tool, гораздо более продвинутый в функциональности по сравнению с dpkg. Он также может устанавливать, удалять и собирать пакеты – однако его функциональность идет гораздо дальше. APT может обновить свои пакеты, установить зависимости автоматически, а также загрузить пакеты из интернета. Это один из наиболее распространенных менеджеров пакетов, установленных на современных дистрибутивах, с предустановленными на Ubuntu, Debian и большинстве других операционных систем на основе Debian.
Менеджер пакетов Aptitude
Aptitude очень похож на APT, предлагая большую часть той же функциональности. Но он может предложить несколько дополнительных функций, таких как безопасные обновления, позволяющие пользователям обновлять свои пакеты, не удаляя существующие пакеты из системы. Также доступно удержание пакетов, что предотвращает автоматическое обновление некоторых пакетов.
Оба этих менеджера пакетов фактически используют dpkg для основных операций и используют только свое собственное программное обеспечение для загрузки пакетов и управления ими.
How to use apt Command in Linux
13 Апреля 2021
|
Debian
Это руководство служит кратким справочником по apt командам.
— это утилита командной строки для установки, обновления, удаления и иного управления пакетами deb в Ubuntu, Debian и связанных дистрибутивах Linux. Она сочетает в себе наиболее часто используемые команды из и инструментов с различными значениями некоторых параметров по умолчанию.
предназначен для интерактивного использования. Предпочитайте использование и в сценариях оболочки, поскольку они обратно совместимы между различными версиями и имеют больше параметров и функций.
Большинство команд необходимо запускать от имени пользователя с правами.
Обновление индекса пакета ( )
Индекс пакетов APT — это, по сути, база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.
Чтобы обновить индекс пакета, выполните команду ниже. Это приведет к получению последних изменений из репозиториев APT:
Всегда обновляйте индекс пакета перед обновлением или установкой новых пакетов.
Обновление пакетов ( )
Регулярное обновление вашей системы Linux — один из наиболее важных аспектов общей безопасности системы.
Чтобы обновить установленные пакеты до последних версий, выполните:
Команда не обновляет пакеты, требующие удаления установленных пакетов.
Если вы хотите обновить один пакет, передайте имя пакета:
Всегда рекомендуется настраивать автоматические обновления безопасности .
Полное обновление ( )
Разница между и заключается в том, что последний удалит установленные пакеты, если это необходимо для обновления всей системы.
Будьте особенно осторожны при использовании этой команды.
Установка пакетов ( )
Установить пакеты так же просто, как выполнить следующую команду:
Если вы хотите установить несколько пакетов с помощью одной команды, укажите их в виде списка, разделенного пробелами:
Для установки локальных файлов deb укажите полный путь к файлу. В противном случае команда попытается получить и установить пакет из репозиториев APT.
Удаление пакетов ( )
Чтобы удалить установленный пакет, введите следующее:
Вы также можете указать несколько пакетов, разделенных пробелами:
Команда удалит указанные пакеты, но при этом могут остаться некоторые файлы конфигурации. Если вы хотите удалить пакет, включающий все файлы конфигурации, используйте вместо :
Удалить неиспользуемые пакеты ( )
Каждый раз, когда в системе устанавливается новый пакет, который зависит от других пакетов, также будут установлены зависимости пакета. Когда пакет будет удален, зависимости останутся в системе. Эти оставшиеся пакеты больше не используются ничем и могут быть удалены.
Чтобы удалить ненужные зависимости, используйте следующую команду:
Список пакетов ( )
Команда позволяет вывести список доступных, установленных и обновляемых пакетов.
Чтобы вывести список всех доступных пакетов, используйте следующую команду:
Команда напечатает список всех пакетов, включая информацию о версиях и архитектуре пакета. Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью команды.
Чтобы вывести список только установленных пакетов, введите:
Перед фактическим обновлением пакетов может быть полезно получить список обновляемых пакетов:
Поиск пакетов ( )
Эта команда позволяет вам искать данный пакет в списке доступных пакетов:
Если они найдены, команда вернет пакеты, имя которых соответствует поисковому запросу.
Информация о пакете ( )
Информация о зависимостях пакетов, размере установки, источнике пакета и т. Д. Может быть полезна перед удалением или установкой нового пакета.
Чтобы получить информацию о данном пакете, используйте команду:
это менеджер пакетов для дистрибутивов на основе Debian. Чтобы узнать больше о команде, откройте терминал и введите .
Удаляем ненужное
Если программа больше не нужна, её можно удалить такими командами:
название — программа удалится, но настройки и данные останутся;
название — если настройки программы и прочие её файлы вам уже не нужны;
Во время удаления VLC появилось сообщение, что хоть пакет vlc и удалён, но в системе осталось много пакетов, которые шли вместе с ним при установке (зависимости). Чтобы их тоже удалить, используем команду — она посмотрит, какие пакеты больше никем не используются, и удалит их:
Система нашла 96 неиспользуемых пакетов
Для перестраховки некоторые системные администраторы перед удалением программы смотрят, зависит ли от неё работа других программ. Для этого они пишут в консоли , например:
apt-cache rdepends —installed ssh — покажет все программы, которые зависят от ssh
Получается, что если мы удалим пакет ssh, то перестанут работать две другие программы: openssh-server и openssh-client.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита , которая содержит наиболее часто используемые команды из и . Утилита предназначена для пользователей, в то время как можно рассматривать как как инструмент более низкого уровня.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
Основные команды:
- — Обновить информацию о пакетах, содержащихся в репозиториях.
- — Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
- — Обновление пакетов, для которых в репозитории доступны новые версии.
- — Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
- — Удаление пакета foo из системы.
- — Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут.
- — Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
- — Получение исходных текстов пакета foo.
- — Получение зависимостей для сборки пакета foo.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
sudo apt-get install -f
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
Основные команды:
- — Поиск пакета по части названия или описания. Поддерживает регулярные выражения.
- — Информация о пакете: версия, размер, описание и т. п.
- — Зависимости указанного пакета.
- — Обратные зависимости пакета.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье .
Основные команды:
- — Добавление ключа в базу доверенных ключей.
- — Удаление ключа из доверенных.
Поиск пакетов только по названию
Предыдущая команда бывает бесполезной из-за слишком большого вывода информации. Вы можете использовать следующую команду для поиска по имени пакета:
apt list ПАКЕТ
Вы также можете указать подстановочные символы, например для поиска по названию, начинающемуся на слово ПАКЕТ:
apt list ПАКЕТ*
Для поиска по названию, оканчивающемуся на слово ПАКЕТ:
apt list *ПАКЕТ
Для поиска по названию, в котором присутствует слово ПАКЕТ:
apt list *ПАКЕТ*
Ещё более удобной, на мой взгляд, командой для поиска пакетов является:
apt-cache search ПАКЕТ
Последняя команда ищет в именах по слову ПАКЕТ и выводит список всех пакетов, где оно встречается. Использовать подстановочные символы не нужно.
Apt vs Apt-get. В чем различия?
Что использовать, apt или apt-get? В чем же разница между этими двумя утилитами? Для начала вам больше не нужно использовать apt-get autoremove, чтобы очистить кеш пакетов, пакеты будут удаляться автоматически. Также вам не нужно вводить apt-cache search для поиска пакетов.
Эти команды были заменены на apt search и apt remove. Главное отличие apt от apt-get — в том, что программа объединяет большинство команд apt-get и apt-cache. Вся функциональность теперь находится в одной утилите.
Хотя это не единственное отличие, от apt-get. Здесь улучшены прогресс бары установки пакетов. Ещё поддерживаются некоторые дополнения, которые делают утилиту умнее предыдущей. Например, при обновлении источников программного обеспечения с помощью apt-get нет простого способа посмотреть список пакетов доступных к обновлению. Здесь же вы можете просто выполнить:
А затем:
Конечно, мелочи, но приятно. Также были добавлены новые, современные цвета вывода, и в целом установка пакетов проходит быстрее. Canonical не спешит отказываться от apt-get, но они сделают это позитивным изменением.
Использование APT
Система APT состоит из нескольких утилит. Главной и наиболее часто используемой является утилита управления пакетами apt-get, которая автоматически определяет зависимости между пакетами и строго следит за их соблюдением при выполнении любой из следующих операций: установка, удаление или обновление пакетов.
apt-get позволяет устанавливать в систему пакеты, требующие для своей работы другие, пока ещё не установленные. В этом случае он определяет, какие пакеты необходимо установить, и устанавливает их, пользуясь всеми доступными репозитариями. Для того, чтобы apt-get мог использовать тот или иной репозитарий, информацию о нем необходимо поместить в файл /etc/apt/sources.list и выполнить команду
Эту команду необходимо также выполнять каждый раз, когда вы собираетесь работать с репозитарием после длительного перерыва, так как при поиске пакетов APT должен руководствоваться базой данных, отражающей актуальное состояние репозитария. Такая база данных создаётся заново каждый раз, когда в репозитарии происходит изменение: добавление, удаление или переименование пакета. Для ускорения работы apt-get хранит локальную копию базы данных, которая через некоторое время может уже не соответствовать реальному состоянию репозитария.
В качестве источника пакетов можно использовать и компакт-диски дистрибутива, поскольку на каждом диске присутствует вся необходимая для APT информация о содержащихся на нём пакетах. Для этого необходимо использовать утилиту apt-cdrom с единственным параметром add. Операцию следует повторить для CD из набора. После этого в /etc/apt/sources.list появится запись о подключённом диске.
При отсутствии подключения к сети строки в /etc/apt/sources.list, где говорится о ресурсах, доступных по сети, следует закомментировать.
Automatic Updates
The unattended-upgrades package can be used to automatically install updated packages and can be configured to update all packages or just install security updates. First, install the package by entering the following in a terminal:
To configure unattended-upgrades, edit and adjust the following to fit your needs:
Certain packages can also be excluded and therefore will not be automatically updated. To block a package, add it to the list:
To enable automatic updates, edit and set the appropriate apt configuration options:
The above configuration updates the package list, downloads, and installs available upgrades every day. Those actions are triggered by timer units at a set time but with a random delay: and . These timers activate the correspondent services that run script.
However, it may happen that if the server is off at the time the timer unit elapses, the timer will be triggered immediately at the next startup. As a result, they will often run on system startup
and thereby cause immediate activity and hold the apt-lock.
In many cases that is beneficial, but in some cases it might be counter-productive. Examples are administrators with many shut down machines or VM images that are only started for some quick action that then is delayed or even blocked by the unattended upgrades. To adapt this behaviour, we can change/override the configuration of both apt’s timer units []. To do so use and override the Persistent attribute like (example of such an override):
The local download archive is cleaned every week. On servers upgraded to newer versions of Ubuntu, depending on your responses, the file listed above may not be there. In this case, creating a new file of this name should also work.
The results of unattended-upgrades will be logged to .
Менеджеры пакетов на основе RPM
Обновление систем на основе RPM, особенно тех, которые основаны на технологиях Red Hat, имеет очень интересную историю. Фактически, текущие версии yum (для корпоративных дистрибутивов) и DNF (для сообщества) для обеспечения их текущей функциональности объединяют несколько проектов с открытым исходным кодом.
Первоначально Red Hat использовал диспетчер пакетов RPM (Red Hat Package Manager), который по-прежнему используется и сегодня. Однако его основное назначение заключается в установке пакетов RPM, которые находятся локально на вашем компьютере, а не для поиска репозиториев программного обеспечения. Для информирования пользователей об обновлениях пакетов был создан менеджер пакетов с именем up2date, он позволяет искать удаленные репозитории и легко устанавливать зависимости. В то же время, некоторые члены сообщества считали, что у up2date были некоторые существенные недостатки.
Нынешняя реализация yum произошла из усилий различных частей сообщества. Yellowdog Updater (YUP) был разработан в 1999-2001 годах людьми из Terra Soft Solutions в качестве базового механизма для графического установщика Yellow Dog Linux. Людям из Duke University понравилась идея YUP и они решили улучшить его. Они создали Yellowdog Updater, Modified (yum), который в конечном итоге был адаптирован для управления системами Red Hat Linux в университете. Популярность Yum росла, и к 2005 году он, по различным оценкам, использовался более чем половиной рынка Linux. Сегодня почти во всех дистрибутивах Linux, использующих RPM, для управления пакетами используется yum (с несколькими заметными исключениями).
Пакеты с ядром и модулями[править]
Как посмотреть установленные пакеты с модулями ядра?править
$ rpm -qa | grep -E '^kernel\-(image|modules)\-' kernel-modules-bcmwl-std-def-6.30.223.248-alt13.264579.0.M80P.1 kernel-modules-virtualbox-std-def-5.1.30-alt2.264579.0.M80P.1 kernel-modules-zfs-std-def-0.7.9-alt1.264579.0.M80P.1 kernel-image-std-def-4.9.131-alt0.M80P.1 kernel-modules-kvm-std-def-4.9.131-alt0.M80P.1 kernel-modules-staging-std-def-4.9.131-alt0.M80P.1 kernel-modules-drm-std-def-4.9.131-alt0.M80P.1 kernel-modules-v4l-std-def-4.9.131-alt0.M80P.1
Сопоставление модулей ядра файлам и пакетамправить
Какие модули ядра сейчас используются/загружены?
$ lspci -k … 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31) Subsystem: Intel Corporation Device 2064 Kernel driver in use: e1000e … $ lsmod | grep e1000e e1000e 188416 0 ptp 20480 1 e1000e
Подробная информация о модуле ядра:
# modinfo e1000e filename: /lib/modules/4.9.131-std-def-alt0.M80P.1/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.gz …
К какому пакету относится модуль ядра?
# rpm -qf $(modinfo e1000e | head -n1 | awk '{print $2}') kernel-image-std-def-4.9.131-alt0.M80P.1
В последней команде мы взяли из вывода modinfo первую строку (head -n1) и отщипнули от неё второе по счёту поле (awk ‘{print $2}’) с полным путём к файлу модуля. Этот путь к файлу мы передали в качестве параметра команде rpm. В данном случае нам сообщили, что модуль e1000e входит в пакет самого ядра. Но далеко не всегда это так и если сетевая карта не работает, возможно, в системе просто не установлен пакет с нужным модулем.
apt-get update && apt-get upgrade
(необходимы привилегии root)
Это одностроковая команда, которая обновит список ваших пакетов и выполнит обновление вашей системы. Поскольку для ее выполнения требуются привилегии root, то если ваш дистрибутив — Ubuntu, используйте
Обратите внимание, что вторая команда (после двойного амперсанда) выполняется только в случае, если выполнение первой команды было успешным, поэтому, если по какой-нибудь причине списка обновлений получить не удалось, вторая команда выполняться не будет. Если вы используете тестовый или бета-релиз, используйте вместо нее следующую команду:
sudo apt-get update && sudo apt-get dist-upgrade
Обновления будут получены даже в случае, если они зависят от более новых пакетов.
Использование proxy[править]
HTTP-проксиправить
/etc/apt/apt.conf:
Acquire::http::Proxy "http://@]host/";
либо выставить переменную окружения http_proxy:
Примечание: Проблема git.altlinux.org и Squid.
При подключении репозитория-кармана Squid не определяет, что произошли изменения, и не даёт скачать обновлённый индекс. Для борьбы с этим можно отключить использование прокси для git.altlinux.org, для чего добавить в apt.conf
Acquire::http::Proxy::git.altlinux.org "DIRECT";
Альтернативным вариантом является использование возможности задать ограничение на кэширование некоторых объектов в Squid. Для этого в /etc/squid/squid.conf можно добавить что-то вроде
acl REPO url_regex (pkglist|release)$ no_cache deny REPO
В данном примере отключается кэширование индексов в любых источниках, что может быть даже интереснее.
FTP-проксиправить
/etc/apt/apt.conf:
Acquire::ftp::Proxy "ftp://@]host/";
либо выставить переменную окружения ftp_proxy.
RSYNC-проксиправить
/etc/apt/apt.conf:
Acquire::rsync::proxy="@]host"; Acquire::rsync::proxy::hostname="none";
либо выставить переменную окружения RSYNC_PROXY.
- При использовании репозиториев на разных хостах возможно задание proxy для всех хостов и для каждого в отдельности.
- Значение для конкретного хоста перекрывает глобальное значение.
- Значение «none» указывает, что необходимо использовать прямое соединение.
Пример:
Acquire::rsync::proxy="192.168.1.1:3128"; Acquire::rsync::proxy::mirror.localdomain="none";
Будет использоваться http-proxy «192.168.1.1:3128» для всех хостов, кроме mirror.localdomain, для которого будет использоваться прямое соединение.
HTTP-прокси для проксирования FTP-запросовправить
Не рекомендуется из-за низкой эффективности и не поддерживается настройками в конфигурационном файле. В случае крайней необходимости — определите переменную окружения ftp_proxy в HTTP URL.
Концепция репозиториев в Ubuntu
Итак, вы уже знаете, что для установки программного обеспечения в Ubuntu вы можете использовать команду apt. Это тот же диспетчер пакетов APT, который используется под Ubuntu Software Center. Таким образом, все программное обеспечение (кроме пакетов Snap), которое вы видите в Центре программного обеспечения, в основном от APT.
Вы когда-нибудь задумывались, откуда программа apt устанавливает программы? Как он узнает, какие пакеты доступны, а какие нет?
Apt в основном работает на хранилище. Хранилище — это не что иное, как сервер, содержащий набор программного обеспечения. Ubuntu предоставляет набор репозиториев, так что вам не придется искать в Интернете установочный файл различного программного обеспечения, которое вам нужно. Этот централизованный способ предоставления программного обеспечения является одним из основных преимуществ использования Linux.
Менеджер пакетов APT получает информацию о репозитории из файла /etc/apt/sources.list и файлов, перечисленных в каталоге /etc/apt/sources.list.d. Информация о репозитории обычно представлена в следующем формате:
Фактически, вы можете перейти по указанному выше адресу сервера и посмотреть как устроен репозиторий.
Когда вы обновляете Ubuntu с помощью команды apt update, менеджер пакетов apt получает информацию о доступных пакетах (и их версии) из репозиториев и сохраняет их в локальном кэше. Вы можете увидеть это в каталоге /var/lib/apt/lists.
Хранение этой информации локально ускоряет процесс поиска, потому что вам не нужно проходить через сеть и искать в базе данных доступных пакетов, просто чтобы проверить, доступен ли определенный пакет или нет.
Теперь вы знаете, как хранилища играют важную роль, давайте посмотрим, почему в Ubuntu есть несколько хранилищ.
Выводы
Утилита apt-get проверенная и надежная часть менеджера пакетов Debian. Этот инструмент используется на протяжении большого времени и поставляется по умолчанию во многих релизах Ubuntu и Debian. Мы всегда его использовали когда нужно было обновить что-то, обновить программное обеспечение или даже просто очистить систему от мусора.
Тем не менее она устаревает. Менеджер пакетов уже не отвечает всем потребностям пользователей, а поэтому он медленно заменяется на apt. Разработчики Ubuntu понимают, что им нужно обновить свой пакетный менеджер, сделать его более простым, элегантным и безопасным. Но пока в системе существуют обе утилиты и выбирать что использовать apt или apt-get предстоит вам. Будете ли вы использовать новый менеджер пакетов? Или уже используете?