Команды sudo apt get. Основное и общеизвестное

apt-get [ опции ] [ команда ] [ пакет … ]

Описание комманды.

apt-get это инструмент командной строки для управления пакетами и может рассматриваться как пользовательский интерфейс к apt .

командами служат: o update o upgrade o dselect-upgrade o dist-upgrade o install пакет1 [пакет2] […] o remove пакет1 [пакет2] […] o source пакет1 [пакет2] […] o check o clean o autoclean update update используется для повторной синхронизации файлов описаний пакетов с их источником. Описания доступных пакетов будут получены из источников, указанных в /etc/apt/sources.list . Например, при использовании архива Debian, эта команда разыскивает и просматривает файлы Packages.gz , таким образом становится доступной информация о новых и обновлённых пакетах. Перед upgrade и dist-upgrade всегда должно выполняться update . Пожалуйста помните, что индикатор прогресса показывает не точную информацию, поскольку размер файлов пакетов заранее не известен. upgrade upgrade используется для установки новейших версий всех установленных пакетов системы из источников, указанных в /etc/apt/sources.list . Будут разысканы новейшие версии установленных в настоящий момент пакетов и произведено обновление; ни в коем случае не будет удалено ни одного установленного пакета или установлено нового пакета, не имеющего уже установленной в системе предыдущей версии. Текущие версии установленных в настоящий момент пакетов, если они не могут быть обновлены новыми версиями без изменения статуса других пакетов, будут оставлены в неизменном виде. Для того, чтобы apt-get узнал о существовании доступных новых версиях пакетов, данной команде должна предшествовать команда update . dselect-upgrade dselect-upgrade используется совместно с традиционным инструментом управления пакетов в Debian GNU/Linux — dselect . dselect-upgrade следует изменениям, которые делает dselect с полем Status доступных пакетов и выполняет действие, необходимое для реализации этого состояния (например, удаление старых и установка новых пакетов). dist-upgrade dist-upgrade , в дополнение выполняет функцию upgrade , а также разумно управляет изменением зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов и она будет в случае необходимости пытаться произвести обновление наиболее важных пакетов за счет менее важных. Файл /etc/apt/sources.list содержит список источников для получения пакетов, из которых будут получены файлы пакетов. install install устанавливает один или более пакетов отмеченных к установке. Каждый пакет — это имя пакета, а не полное имя файла, содержащее этот пакет (например, в системе Debian GNU/Linux, в качестве пакета может быть указано имя ldso , а не ldso_1.9.6-2.deb ). Все пакеты, требуемые заданным пакетом (пакетами) отмеченными к установке, также будут получены и установлены. Файл /etc/apt/sources.list используется для определения местонахождения нужных пакетов. Если к имени пакета добавляется символ переноса (без разделяющего пробела), то заданный пакет будет удален, если он установлен. Эта особенность может быть использована для перекрытия решения, сделанного системой разрешения конфликтов apt-get. Если нет пакетов, совпадающих с заданным выражением и выражение содержит один из символов ‘.’, ‘?’ или ‘*’, то оно рассматривается как шаблон для регулярных выражений POSIX и уже этот шаблон применяется ко всем именам пакетов в базе данных. Любые совпадающие с шаблоном пакеты будут затем установлены (или удалены). Заметим, что к примеру, подстрока ‘lo*’ совпадает с ‘how-lo’ и ‘lowest’. Если это нежелательно, предваряйте их символом ‘^’. remove remove идентична install за исключением того, что пакеты вместо установки удаляются. Если к имени пакета добавляется знак плюс (без разделяющего пробела), то указанные пакеты будут установлены. source source принуждает получать пакеты с исходными текстами. APT проверит доступные пакеты на предмет получения их исходных текстов. Затем он ищет и копирует в текущий каталог новейшую доступную версию этих исходных текстов. Пакеты исходных текстов обслуживаются отдельно от бинарных через ввод строк deb-src или rpm-src в файл /etc/apt/sources.list . Предполагается, что для получения исходных текстов, вы будете использовать источник, отличный от того, из которого вы получаете готовые пакеты. Если задана опция —compile, то пакет с исходными текстами будет скомпилирован в бинарный deb-пакет с помощью утилиты dpkg-buildpackage или, на системах использующих RPM, при помощи rpm -ba будет собран бинарный пакет. Если задана опция —download-only, то пакет с исходными текстами не будет распакован. Заметим, что пакеты с исходными текстами не отслеживаются как бинарные пакеты, они существуют только в текущем каталоге, что очень похоже на простое выкачивание архивов исходных текстов.ta r.gz. check check — это диагностический инструмент; он обновляет кэш пакетов и проверяет пакеты, которые недо-установлены в силу каких-либо причин. clean clean очищает локальное хранилище полученных файлов пакетов. Команда удаляет все, но оставляет файлы из /var/cache/apt/archives/ и /var/cache/apt/archives/partial/ . Когда APT используется как один из методов dselect , clean запускается автоматически. Те, кто не пользуется dselect, для освобождения места на диске могут время от времени использовать apt-get clean . autoclean Как и clean , autoclean очищает локальное хранилище полученных файлов пакетов. Отличие состоит в том, что эта команда удаляет только те файлы пакетов, которые больше не могут быть получены и использованы. Это позволяет обслуживать кэш в течении длительного периода без потери контроля над ним.

Опции

Все опции командной строки могут быть установлены при помощи файла настроек; описания показывают какой элемент настройки надо установить. Для логических опций вы можете перекрыть файл с настройками используя конструкцию вида -f- , —no-f , -f=no или некоторые другие вариации.

-d, —download-only Только выкачивать; файлы пакетов будут только выкачиваться, но не будут распаковываться и устанавливаться. -f, —fix-broken Править; попытка исправить систему с нарушенными зависимостями. Данная опция, когда используется при операциях установки и удаления, может опускать некоторые пакеты, чтобы позволить APT решить проблему. Любой указанный пакет должен полностью исправлять проблему. Данная опция иногда необходима при запуске APT в первый раз; APT сам не позволяет нарушенным зависимостям пакетов существовать в системе. Возможно, что структура зависимостей в системе может быть нарушена и требовать исправления вручную (что обычно достигается использованием dselect или dpkg —remove для удаления некоторых пакетов). Использование данной опции вместе с -m в некоторых ситуациях приведет к выводу сообщения об ошибке. -h, —help Помощь; выдать подсказку и завершить работу. -v, —version Сообщить версию программы. -m, —ignore-missing, —fix-missing Игнорировать отсутствующие пакеты; Если пакеты не могут быть получены или их полная проверка после получения окончилось неудачно (поврежденный файл пакета), то состояние пакета возвращается к предыдущему и результат обрабатывается. Использование этой опции совместно с -f в некоторых случаях может привести к ошибке. Если какой-либо пакет выбирается к установке (например, если он указан в командной строке) и он не может быть получен, то без каких-либо сообщений будет восстановлено исходное состояние. —no-download Запрещает получение пакетов. Лучше всего использовать вместе с —ignore-missing для того, чтобы заставить APT использовать только те.deb файлы, которые уже получены. -q, —quiet Производится вывод годный для протоколирования, в котором опускаются индикаторы хода выполнения задачи. Указание большего числа опций -q приведет к более урезанному выводу, максимально вы можете указать их в два раза. Вы также можете использовать конструкцию -q=# для установки нужного вам количества сообщений вывода, перекрывая файл с настройками. Заметим, что уровень 2 неявно включает -y, вы никогда не должны использовать -qq без модификатора, который запрещает действия, такого как -d, —print-uris или -s, поскольку APT может сделать что-либо неожиданное для вас.
-s, —simulate, —just-print, —dry-run, —recon, —no-act Не выполнять никаких действий; выполняет симуляцию событий, который должны происходить, но которые реально не будут выполнены и не изменят состояние системы. В режиме симуляции на экран будут выведены серии строк, которые будут отображать операции dpkg, Настройка (Conf), Удаление (Remv), Распаковка (Inst). В квадратных скобках будут указаны пакеты, которые недо-установлены по каким-либо причинам вместе со списком (или без него) заключенных в квадратные скобки причин. -y, —yes, —assume-yes Автоматически отвечать «да» в ответ на запрос программы; на все запросы, которые будет выводить программа будет автоматически выдаваться ответ «да». При возникновении нежелательной ситуации, как то: изменения пакета в состоянии удержания или удаления необходимого для работы системы пакета, apt-get будет аварийно завершать свою работу.
-u, —show-upgraded Показать обновленные пакеты; Выдает список всех пакетов, которые были обновлены. -b, —compile, —build Компилировать пакеты исходных текстов после их получения. —ignore-hold Игнорировать состояние удержания. Это заставит apt-get игнорировать состояние удержания в котором находится пакет. Это может быть полезным совместно с командой dist-upgrade для перекрытия большого числа нежелательных пакетов в состоянии удержания.
—no-upgrade Не производить обновлений пакетов; Когда эта опция используется совместно с командой install то no-upgrade предотвратит обновление уже установленных пакетов. —force-yes Принудительное выполнение заданной операции не взирая ни на что. Это опасная опция, которая заставит apt продолжать выполнение операции без каких-либо диалогов с пользователем, даже если возникнет потенциальная возможность ошибки. Она не должна использоваться кроме как в специальных ситуациях. Использование force-yes потенциально способно уничтожить вашу систему!
—print-uris Вместо копирования файлов для установки будут печататься их URI. Каждый URI будет иметь путь, имя файла, размер и ожидаемый хэш md5. Заметим, что выводимое имя файл не всегда совпадает с именем файла на удаленном сайте. Опция также работает и с командой source .
—purge Использовать purge (зачистку) вместо remove (удаления) для всех пакетов, которые будут удалены. —reinstall Переустановить пакеты, которые уже являются новейшими версиями. —list-cleanup Данная опция по умолчанию включена, используйте —no-list-cleanup для ее выключения. Когда apt-get будет автоматически управлять содержимым /var/lib/apt/lists чтобы убедиться, что устаревшие файлы удалены. Выключите данную опцию, если вы часто изменяете ваш список источников. —trivial-only Выполняет только тривиальные операции. Логически это может быть отнесено к —assume-yes, только —assume-yes будет выдавать ответ «да» на любое приглашение, а —trivial-only будет отвечать «нет». —no-remove Если какие-либо пакеты отмечены к удалению, то apt-get немедленно, без вопросов, завершит работу. —diff-only , —tar-only Получить только diff- или tar-файл из архива исходных текстов. -c, —config-file Файл с настройками; Задать файл с настройками. apt-get будет читать файл с настройками по умолчанию и затем указанный файл с настройками.

ФАЙЛЫ

Google, неясно, как я нахожу новые программы для установки (из Интернета) с помощью apt-get (что удивительно мощное и простое из другого дистрибутива Linux).

Я использую Ubuntu Server 8.04 LTS (унаследованная система, используемая для некоторой случайной работы), поэтому нет графического интерфейса.

У кого-нибудь есть быстрый совет здесь?

Я всегда использую package.ubuntu.com

Также вы можете использовать apt-cache search для apt-cache search в командной строке. Или вы можете использовать диспетчер пакетов GUI (Ubuntu Software Center / Synaptic) для поиска программного обеспечения.

Если вы ищете «настройки nvidia».

Apt-cache search nvidia settings

Nvidia-settings - Werkzeug für die Konfiguration des NVIDIA-Grafiktreibers nvidia-settings-updates - Tool of configuring the NVIDIA graphics driver

Вы видите 2 пакета nvidia-settings и nvidia-settings-updates .

Чтобы найти связанный двоичный файл с пакетом nvidia-settings .

Dpkg -L nvidia-settings | grep bin

/usr/bin /usr/lib/nvidia-settings/bin /usr/lib/nvidia-settings/bin/nvidia-settings

nvidia-settings – это двоичное имя для запуска программы.

С двоичными файлами, в частности, есть приложение, которое автоматически запускается, если вы запустите команду, которая не установлена. Например,

$ bonnie++ The program "bonnie++" is currently not installed. You can install it by typing: sudo apt-get install bonnie++

Кроме этого, существуют поисковые запросы: поиск apt-cache search или aptitude search который может быть предпочтительным, если вы хотите действительно задействовать фильтры.

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

просто введите dpkg -L В терминал, он отобразит все файлы, установленные этим пакетом, тогда вы сможете распознать имена двоичных программ, посмотрев их местоположение. Обычно программы устанавливаются в каталоге /usr/bin или /sbin .

Давайте посмотрим пример:

Anwar@edubuntu-lenovo:~$ dpkg -L gnome-screenshot /. /usr /usr/bin /usr/bin/gnome-screenshot /usr/share /usr/share/GConf /usr/share/GConf/gsettings /usr/share/GConf/gsettings/gnome-screenshot.convert /usr/share/applications /usr/share/applications/gnome-screenshot.desktop /usr/share/man /usr/share/man/man1 /usr/share/man/man1/gnome-screenshot.1.gz /usr/share/gnome-screenshot /usr/share/gnome-screenshot/gnome-screenshot.ui /usr/share/glib-2.0 /usr/share/glib-2.0/schemas /usr/share/glib-2.0/schemas/org.gnome.gnome-screenshot.gschema.xml /usr/share/doc /usr/share/doc/gnome-screenshot /usr/share/doc/gnome-screenshot/copyright /usr/share/doc/gnome-screenshot/NEWS.gz /usr/share/doc/gnome-screenshot/changelog.Debian.gz

Обратите внимание, что имя программы gnome-screenshot package – gnome-screenshot .

Ты спрашивал

Есть ли стандартный способ узнать Для желаемой программы?

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

Например, если я gnome-documents когда такой пакет не установлен, терминал скажет следующее:

Anwar@edubuntu-lenovo:~$ gnome-documents The program "gnome-documents" is currently not installed. You can install it by typing: sudo apt-get install gnome-documents

Но в этом случае я должен хотя бы знать название программы

Вы можете попробовать «aptitude» программы из командной строки. Это графический менеджер пакетов. Не забудьте добавить sudo в программу для любых реальных установок. "sudo aptitude". Вы также можете использовать aptitude точно так же, как apt-get; "sudo aptitude install". Я предпочитаю apt-get для одиночных пакетов, для которых я знаю имена.

Кроме того, вы просто на командной строке? Если у вас есть рабочий стол, вы можете использовать System -> Preferences -Synaptic или Ubuntu Software Center. Они работают почти одинаково, но у них есть более простой пакетный поиск.

Вы можете получить (длинный) список устанавливаемых пакетов, набрав apt-get install а затем дважды нажав TAB (для автозаполнения). Это ограничено, потому что оно не говорит вам, что делают пакеты (Synaptic или Software Center было бы лучше для этого), но это может быть полезно, когда вы не можете вспомнить точное имя пакета. Вы также можете ввести первую часть имени пакета (например, openoffice), чтобы получить более короткий список более релевантных пакетов.

Используйте инструмент командной строки, если вы знаете нужное имя пакета. Я не использую программный центр. Вы можете получить имя пакета через программный центр и использовать его в терминале, если вам действительно нужно использовать инструмент apt-get из командной строки. И обычно имя пакета совпадает с именем программы.

вы можете запустить (желательно в ~ ~ / .bashrc)

. /etc/bash_completion

при вводе:

Sudo apt-get in

он предложит установку, а затем начнет вводить часть имени – например, nvidia

и вы увидите доступные варианты, начиная с nvidia

Если вы используете Debian, Ubuntu, Linux Mint или любые другие Debian-подобные дистрибутивы, вы просто обязаны знать о команде apt.

Что такое APT?

Возможно, вы уже знаете, что Ubuntu происходит от операционной системы Debian Linux. И Debian использует систему упаковки dpkg. Система упаковки – это способ обеспечения программ и приложений для установки. Таким образом, вам не нужно устанавливать программу из исходного кода.

APT (Advanced Package Tool) – это инструмент командной строки для взаимодействия с системой упаковки. Для управления уже есть команды dpkg. Но APT – более удобный способ обработки упаковки. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, удаления пакетов и т. д.

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

Использование команд apt для управления пакетами в дистрибутивах Debian и Ubuntu

Я буду использовать операционную систему Kubuntu 17.10, но вы можете использовать любой другой дистрибутив Linux, основанный на базе Debian/Ubuntu.

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

Apt фактически работает с базой данных доступных пакетов. Если база данных не обновляется, система не будет знать, имеются ли новые пакеты. Вот почему обновление репозитория должно быть первым, что нужно сделать в любой Linux-системе после новой установки.

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

Когда вы запустите эту команду, вы увидите информацию о пакете, полученную с разных серверов.

Здесь вы увидите три типа линий: Сущ, Пол и Игн.

И если их расшифровать, то вы получите

  • Сущ: нет изменений в версии пакета
  • Игн: пакет игнорируется. Либо пакет слишком поздний, что он даже не утруждает себя проверкой, либо возникла ошибка в извлечении файла, но ошибка была тривиальной и, следовательно, она игнорируется. Не волнуйтесь, это не ошибка.
  • Пол: доступна новая версия. Он будет загружать информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в kb) с линией «get» на скриншоте выше.

Обновление установленных пакетов с помощью apt

После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ – обновить все пакеты с имеющимися обновлениями.

Вы можете просто использовать следующую команду:

Это покажет вам, сколько и какие пакеты будут обновлены.

Существует еще один способ сделать полное обновление, для этого просто введите команду

Sudo apt full-upgrade

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

В чем разница между apt update и apt upgrade?

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

Команда apt update просто обновляет базу данных пакетов, и не обновляет пакеты.

Например, если у вас установлен пакет XYZ версии 1.5, после ввода команды apt update база данных будет знать, что доступна более новая версия 1.6. А уже потом, когда вы введете команду apt upgrade , она обновит установленные пакеты до более новой версии.

Именно поэтому самый быстрый и удобный способ «обновить» вашу систему использовать команду:

Sudo apt update && sudo apt upgrade -y

Как установить новые пакеты с помощью apt?

Если вы уже знаете имя пакета, его можно установить с помощью следующей команды:

Sudo apt install <имя_пакета>

Просто замените <имя_пакета> на нужный пакет. Предположим, вы хотите установить screenfetch, для этого вы можете использовать следующую команду:

Вы можете использовать автозаполнение, и если вы не уверены в точном имени пакета, вы можете ввести несколько букв и нажать клавишу “TAB”, которая предложит все пакеты, доступные с этими буквами. Например:

Но бывают случаи, когда вы не можете просто так установить пакет, он просит некоторые зависимости, которые не устанавливаются автоматически, и поэтому, есть так называемая опция -f

Sudo apt install -f

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

Как установить несколько пакетов с apt?

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

Sudo apt install <имя_пакета_1> <имя_пакета_2>

Что делать, если вы запустили apt install когда пакет уже установлен?

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

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

По умолчанию, будет установлена последняя версия пакета, которая доступна в репозитории. Но если вы не хотите устанавливать последнюю версию, вы можете указать номер версии. Вам нужно знать точный номер версии, которую вы хотите установить(если конечно она там есть).

Просто добавьте в конец строки версию с именем пакета.

Sudo apt install <имя_пакета><номер_версии>

Как удалить установленные пакеты с помощью apt?

Про установку пакетов мы узнали, давайте посмотрим, как удалить пакеты.

Удаление пакетов так же просто, как и установка. Просто используйте следующую команду:

Sudo apt remove <имя_пакета>

Здесь также вы можете пользоваться автозаполнением.

Другой способ удаления пакетов – использовать purge. Команда используется следующим образом:

Sudo apt purge <имя_пакета>

В чем разница между apt remove и apt purge?

Поиск пакетов

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

Apt search <имя_пакета/библиотеки>

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

Apt show <имя_пакета>

Это покажет информацию о данном пакете, о его зависимостях, размер установки и загрузки, различные источники, из которых доступен пакет, описание содержимого пакета, и другое:

Список обновляемых и установленных версий

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

Вы также можете увидеть все установленные пакеты в системе с установленной опцией:

Apt list --installed

Существует также третий вариант, называемый -all-версиями. В нем будут перечислены все пакеты, доступные для вашей системы:

Apt list --all-versions

Как очистить вашу систему с помощью apt?

Самый простой способ освободить дисковое пространство, использовать опцию autoremove :

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

Также, можно использовать эту опцию при удалении пакета, например вот так:

Sudo apt remove --autoremove <имя_пакета>

Эта команда позволит удалить не только пакет, но и все установленные зависимости.

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

Система управления пакетами APT хранит кеш-файлы DEB в /var/cache/apt/archives. Со временем этот кеш может вырасти довольно большой, и содержать много пакетов, которые вам не нужны.

Размер кеша можно увидеть с помощью следующей команды:

Sudo du -sh /var/cache/apt

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

Для того чтобы очистить кэш, можно использовать несколько вариантов

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

Sudo apt autoclean

Или очистить кэш целиком (освобождает больше места на диске):

Sudo apt clean

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

APT (Advanced Packaging Tool ) – это утилита в Debian -подобных системах, выполняющая установку, обновление пакетов и отслеживание их зависимостей. Целью создания программы была автоматизация процесса управления пакетами, в частности обновление и обслуживание зависимостей, что в случае прямой работы с менеджером dpkg происходило в ручном режиме. Непосредственно манипуляции с пакетами выполняются при помощи программы apt-get , основные команды для работы с которой будут рассмотрены ниже.

Общая структура команды apt-get

apt-get [опции] команда пакет1 пакет2 … пакетN

Приведенные ниже опции могут быть полезными при работе с apt-get :

Обновление списка доступных для установки пакетов

Выполняется данное действие при помощи команды:

Apt-get update

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

Установка пакета

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

Apt-get install packagename

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

Root@vps:~# apt-get install aee Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 The following NEW packages will be installed: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 upgraded, 6 newly installed, 0 to remove and 44 not upgraded. Need to get 181 kB/1297 kB of archives. After this operation, 4366 kB of additional disk space will be used. Do you want to continue ?

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

Также, в момент ввода команды для установки пакетов можно указать названия пакетов, которые необходимо удалить. Для этого в конце имени удаляемого пакета необходимо добавить дефис. Пример такого способа установки/удаления приведен ниже:

Root@vps:~# apt-get install aee htop- Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 The following packages will be REMOVED: htop The following NEW packages will be installed: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 upgraded, 6 newly installed, 1 to remove and 43 not upgraded. Need to get 1297 kB of archives. After this operation, 4157 kB of additional disk space will be used. Do you want to continue ?

Как видно из примера, пакет aee подготовлен для установки, а пакет htop – для удаления.

Переустановка пакета

При возникновении необходимости переустановки пакета (повреждение файлов, появление более новой версии), её можно выполнить при помощи следующей команды:

Apt-get --reinstall install packagename

Удаление пакета

Есть два варианта удаления пакетов:

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

Apt-get remove packagename

Стоит также отметить, что если удаляемый пакет имеет зависимости, то он будет удален вместе с ними.

  • Полное удаление пакета

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

Apt-get --purge remove packagename

Пакеты, которые отмечены для полного удаления, имеют в конце своего названия символ «*»

  • Удаление и установка в одной команде

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

Root@vps:~# apt-get --purge remove aee screen+ Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: aee* The following NEW packages will be installed: screen 0 upgraded, 1 newly installed, 1 to remove and 43 not upgraded. Need to get 624 kB of archives. After this operation, 975 kB of additional disk space will be used. Do you want to continue ?

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

Apt-get update

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

Apt-get -u upgrade

Указанный параметр -u используется для того, чтобы получить полный список пакетов, которые будут подготовлены для обновления.

Обновление версии дистрибутива

В случае появления новой версии установленного у вас дистрибутива ОС, то можно выполнить «апгрейд» целиком всей системы при помощи команды.


Автор: Craciun Dan
Дата публикации: September 20th, 2010
Перевод: Н.Ромоданов
Дата перевода: декабрь 2010 г.

В настоящем руководстве представлены наиболее популярные и полезные примеры использования команд APT и DPKG, которые можно применить как в Ubuntu, так и в Debian (а также в системах, производных от них). Явно указано, в каких случаях требуются привилегии суперпользователя, а для тех команд, где ничего не указано — команду может выполнить обычный пользователь. Если вы используете Ubuntu, то для получения привилегии суперпользователя, наберите перед командой префикс sudo (и введите свой пароль пользователя); в Debian наберите команду su , введите пароль, а затем вводите команды, которые описаны ниже.

dpkg -L package_name

Эта команда покажет, какие файлы для пакета с именем package_name установлены на вашем компьютере. Обратите внимание, что эта команда работает только для уже установленных пакетов. Пример:

Embryo@debian:~$ dpkg -L vorbis-tools /. /usr /usr/bin /usr/bin/ogg123

apt-get build-dep package_name

(необходимы привилегии root)

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

Apt-get build-dep wesnoth

С помощью этой команды будут установлены все пакеты разработчика, необходимые для приложения Wesnoth. Имейте в виду, что у вас должен быть прописан доступ к репозитариям исходных кодов (в Ubuntu по умолчанию доступ к ним есть).

apt-get clean (и apt-get autoclean)

(необходимы привилегии root)

С помощью этой команды удаляются все архивы, установленные в вашей системе. Всякий раз, когда вы устанавливаете приложение, оно будет загружено и его пакет DEB будет помещен в директорий /var/cache/apt/archives/. Данная команда удаляет эти пакеты и освобождает место.

Apt-get clean apt-get autoclean

Относительно apt-get autoclean: с помощью этой команды удаляются только те архивы, которых уже нет в репозитариях, и сохраняются те, которые в данный момент в репозитариях присутствуют. Эта команда полезна, если вы хотите избавиться от старых архивов, которые были обновлены, но обновленные архивы хотите на всякий случай сохранить. Для того, чтобы увидеть, сколько места занимают архивы, используйте команду du -h (аргумент -h указывает, что результат нужно выдать в формате, удобном для чтения):

Du -h /var/cache/apt/archives/

apt-cache show package_name

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

Embryo@debian:~$ apt-cache show vorbis-tools Package: vorbis-tools Priority: optional Section: sound Installed-Size: 580 ...

apt-cache search pattern

Будет произведен поиск и будет выдан список всех пакетов, у которых в имени или в описании содержится шаблон поиска (pattern ). Вы можете перенаправить этот список в grep для получения результата в более удобном варианте:

Embryo@debian:~$ apt-cache search gnome terminal|grep terminal gmfsk - MFSK, RTTY and other digital mode terminal for HF/amateur radio gnome-terminal-data - Data files for the GNOME terminal emulator gnome-terminal - The GNOME 2 terminal emulator application

apt-get update && apt-get upgrade

(необходимы привилегии root)

Это одностроковая команда, которая обновит список ваших пакетов и выполнит обновление вашей системы. Поскольку для ее выполнения требуются привилегии root, то если ваш дистрибутив — Ubuntu, используйте sudo apt-get update && sudo apt-get upgrade . Обратите внимание, что вторая команда (после двойного амперсанда) выполняется только в случае, если выполнение первой команды было успешным, поэтому, если по какой-нибудь причине списка обновлений получить не удалось, вторая команда выполняться не будет. Если вы используете тестовый или бета-релиз, используйте вместо нее следующую команду:

Sudo apt-get update && sudo apt-get dist-upgrade

Обновления будут получены даже в случае, если они зависят от более новых пакетов.

dpkg --get-selections

Эта команда выведет список всех пакетов, установленных в системе с помощью менеджера пакетов (более точно, это те пакеты, которые были выбраны в менеджере пакетов — прим.пер. ). Пример:

Embryo@debian:~$ dpkg --get-selections acpi-support-base install acpid install adduser install akregator install ...

dpkg -S filename

Будет найден по образцу filename список файлов, имеющихся в установленных пакетах. Пример:

Embryo@debian:~$ dpkg -S oggenc vorbis-tools: /usr/share/man/man1/oggenc.1.gz vorbis-tools: /usr/bin/oggenc embryo@debian:~$

apt-get autoremove

(необходимы привилегии root)

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

apt-cache dump

Эта команда выводит список всех пакетов, находящихся в кэше.

apt-cache depends package_name

Очень полезная команда, которая перечисляет все зависимости, которые есть у пакета, в том числе и рекомендуемые пакеты.

Embryo@debian:~$ apt-cache depends vorbis-tools vorbis-tools Depends: libao2 Depends: libc6 Depends: libcurl3-gnutls ...

apt-cache rdepends package_name

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

Apt-cache rdepends mplayer

apt-cache policy package_name

Эта команда выдаст список репозитариев, в которых находится пакет. В Ubuntu, есть четыре таких репозитария: main, restricted, universe и multiverse. В Debian имеются репозитари main, contrib и non-free. Для каждого пакета есть определенная политика его использования и она зависит от того, в каком из указанных репозитариев находится пакет.

Apt-cache policy amarok apt-cache policy sun-java6-jre

apt-cache showsrc package_name

Будет отображаться информация об исходном коде пакета.

apt-get -f install

(необходимы привилегии root)

Будет сделана попытка исправить нарушенные зависимости. Как правило, эта команда очень полезна в случае, если вы пытаетесь вручную установить пакет DEB, не устанавливая первоначально его зависимости. Выполните команду apt-get -f install , а затем снова попытайтесь установить пакет.

apt-cdrom add

(необходимы привилегии root)

Команда добавит CD-ROM к числу источников, откуда можно получать пакеты, так что вы сможете устанавливать с него пакеты. Эта команда особенно полезна, если у вас есть образы ISO, которые вы не хотите записывать на компакт-диск. Для того, чтобы сканировать образы ISO, используйте команду:

Apt-cdrom -d=/cdrom add

В результате в директории /cdrom будет смонтирован образ ISO, а затем его содержимое будет добавлено в sources.list. Обратите внимание, что директорий /cdrom должен быть пустым. Для этого вы можете использовать любой пустой директорий:

Apt-cdrom -d=/home/USER/mydir

dpkg -c local_file.deb

Аргумент -c указывает команде dpkg выдать список содержимого пакета DEB. Пример:

Embryo@debian:~$ dpkg -c google-chrome-stable_current_i386.deb ... drwxr-xr-x root/root 0 2010-07-30 23:54 ./usr/share/man/man1/ -rwxr-xr-x root/root 3098 2010-07-30 23:54 ./usr/share/man/man1/google-chrome.1 lrwxrwxrwx root/root 0 2010-07-30 23:54 ./usr/bin/google-chrome -> /opt/google/chrome/google-chrome

dpkg -f local_file.deb

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