- Пакетный менеджер APT
- Содержание
- Настройки
- apt.conf
- apt.conf.d
- auth.conf
- sources.list
- sources.list.d
- Использование
- apt-get
- Починка базы пакетов
- apt-cache
- apt-key
- Как пользоваться командой apt-get в Linux
- Что такое apt-get?
- Использование apt-get команд
- Обновление базы данных пакетов с помощью apt-get
- Обновление установленных пакетов с помощью apt
- Разница между upgrade и dist-upgrade
- Использование команд apt-cache для поиска пакетов
- Как установить новые пакеты с помощью apt-get
- Как удалить установленные пакеты с помощью apt-get
- Как очистить систему с помощью apt-get
- В завершение
- Команды линукс apt get
Пакетный менеджер APT
Содержание
Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG и позволяет:
APT является одной из базовых программ и включена в состав Ubuntu.
Настройки
Все файлы настроек APT хранятся в директории /etc/apt.
apt.conf
/etc/apt/apt.conf – основной файл настроек, используемый всеми инструментами из состава APT. Описание всех возможных настроек и опций можно прочитать в документации к нему:
apt.conf.d
Директория содержащая в себе файлы конфигурации, аналогичные по синтаксису apt.conf. При помощи этой директории можно быстро и удобно манипулировать настройками APT добавляя или удаляя подготовленные файлы с настройками.
auth.conf
Файл, содержащий ключи, для авторизации в репозиториях. Например, туда добавляются логины и пароли от репозиториев к купленным в Центре приложений программам.
sources.list
sources.list.d
Директория с файлами репозиторий, по назначению аналогичных sources.list. Каждый репозиторий описывается в отдельном файле.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье Репозитории.
Источник
Как пользоваться командой apt-get в Linux
Если вы начали использовать Ubuntu или любой дистрибутив Linux, основанный на Ubuntu, такие как Linux Mint, ElementaryOS и др., вы, должно быть, уже столкнулись с командой apt-get.
На самом деле, первым в списке вещей, которые необходимо сделать после установки Ubuntu является использование apt-get update и apt-get upgrade. Теперь вы знаете о нескольких командах apt-get и их использовании, но вы можете быть не осведомлены о некоторых других.
В этом руководстве для начинающих, я собираюсь объяснить использование различных команд apt-get с примерами, чтобы Вы могли использовать их так же, как и опытный пользователь Linux.
Что такое apt-get?
Ubuntu основана на Debian Linux. Debian использует систему пакетов dpkg. Система пакетов — это способ предоставления программ и приложений для установки. Таким образом, вам не придётся собирать программу из исходного кода.
APT (Advanced Package Tool) — инструмент командной строки для взаимодействия с этой упаковочной системой. Для управления им уже существуют команды dpkg, но apt является более удобным способом работы с пакетами. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, очистки пакетов и т.д.
У APT есть два основных инструмента: apt-get и apt-cache. apt-get предназначен для установки, обновления и очистки пакетов, в то время как команда apt-cache используется для поиска новых пакетов. Мы рассмотрим все эти команды с примерами позже в этом руководстве.
В этом руководстве я использую Linux Mint 18, но вы можете использовать любой другой дистрибутив Linux, основанный на Ubuntu, например, ElementaryOS, Linux Lite и т.п.
Использование apt-get команд
Давайте начнем с команды apt-get. Нельзя просто уйти от этой команды. Лучше ее понять, чтобы Вы могли работать с Вашей системой Linux немного более эффективно.
Обновление базы данных пакетов с помощью apt-get
apt-get в основном работает с базой данных доступных пакетов. Если вы не обновите эту базу данных, система не будет знать, есть ли более новые пакеты или нет. Фактически, это первая команда, которую вам нужно выполнить на любой Linux-системе, основанной на Debian, после свежей установки.
Обновление базы данных пакетов требует привилегий суперпользователя, поэтому вам нужно использовать sudo.
Когда вы запустите эту команду, вы увидите информацию, полученную с различных серверов.
Здесь вы увидите три типа строк: hit, bit и ign. Позвольте мне объяснить их вам:
- Hit: нет никаких изменений в версии пакета по сравнению с предыдущей версией.
- Ign: пакет игнорируется. Либо пакет слишком свеж, чтобы его даже не надо было проверять, либо произошла ошибка при получении файла, но ошибка была тривиальной, и поэтому ее игнорируют. Не волнуйтесь, это не ошибка.
- Get: Доступна новая версия. Она скачает информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в Кб) со строкой ‘get’ на скриншоте выше.
Обновление установленных пакетов с помощью apt
После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ — это обновить все пакеты, которые имеют доступные обновления. Вы можете просто использовать команду ниже:
Чтобы обновить только определенную программу, используйте команду ниже:
Есть еще один способ выполнить полное обновление, используя команду ниже:
sudo apt-get dist-upgrade
Но вы должны избегать использования этой команды. Я объясню, почему в следующем разделе.
Разница между upgrade и dist-upgrade
Команда apt-get upgrade очень послушна. Она никогда не пытается удалить какие-либо пакеты или установить новый пакет самостоятельно.
Команда apt-get dist-upgrade, с другой стороны, проактивна. Она ищет зависимости с более новой версией устанавливаемого пакета и пытается установить новые пакеты или самостоятельно удалить существующие.
Похоже, что команда apt-get dist-upgrade более мощная и интеллектуальная, не так ли? Но в этом и есть риск.
Смотрите, у нее есть «умная» система разрешения конфликтов. Она будет пытаться обновлять наиболее важные пакеты за счет менее важных. Это может привести к удалению некоторых пакетов, чего Вы, возможно, не захотите. Это основная причина, по которой следует избегать ее использования на рабочих станциях на предприятиях.
sudo apt-get update && sudo apt-get upgrade -y
Использование команд apt-cache для поиска пакетов
Скажу честно, это не лучший способ поиска пакетов. Но это очень удобно, когда вы ищете какую-то определенную библиотеку.
Все, что вам нужно сделать, это использовать следующую команду (здесь вам даже не нужно sudo):
Здесь не нужно знать точное название пакета. Команда ищет в именах пакетов и их кратких описаниях, затем показывает результат, основанный на этом.
Если вы просто хотите искать в apt-пакетах с определёнными именами пакетов, вы можете воспользоваться командой, приведённой ниже:
Команда выдаст список всех пакетовпо, удовлетворяющие вашему поисковому запросу.
Как только вы узнаете точное имя пакета, вы можете получить дополнительную информацию о нем, например, о версии, зависимостях и т.д., с помощью команды, приведенной ниже:
Как установить новые пакеты с помощью apt-get
Если вы знаете имя пакета, вы можете легко установить его с помощью команды ниже:
sudo apt-get install
Просто замените на нужный вам пакет. Предположим, я хотел установить редактор изображений Pinta. Все, что мне нужно будет сделать, это использовать команду:
sudo apt-get install pinta
Хорошо, что в этой команде есть автозавершение. Поэтому, если вы не уверены в точном названии пакета, вы можете набрать несколько букв и нажать клавишу табуляции, и она предложит все пакеты, доступные с этими буквами. Например:
Как установить сразу несколько пакетов
Вы не ограничены установкой только одного пакета за раз. Вы можете установить несколько пакетов за раз, указав их имена:
sudo apt-get install
Что если запустить установку, а пакет окажется уже установлен
Предположим, что у вас уже установлен пакет, но вы все равно использовали для него команду install. apt-get на самом деле посмотрит в базу данных, и если будет доступна более новая версия, то обновит установленный пакет до более новой. Таким образом, использование этой команды не причинит никакого вреда — если только вы не хотите, чтобы пакет не был обновлен.
Как установить пакеты без обновления
Предположим, по какой-то причине вы хотите установить пакет, но не хотите обновлять его, если он уже установлен. Звучит странно, но у вас могут быть на то причины.
В этом случае вы можете использовать флаг no-upgrade следующим образом:
sudo apt-get install
Как обновить пакет, не установливая его
Если вы хотите обновить пакет при условии, что он уже установлен, но не хотите устанавливать его снова, вы можете сделать это с помощью следующей команды:
sudo apt-get install
Как установить конкретную версию приложения
По умолчанию, последняя версия, доступная в репозитории, будет установлена для любого приложения. Но если по какой-то причине вы не хотите устанавливать последнюю версию, вы можете указать номер версии пакета. (Вам нужно будет знать точный номер версии, которую вы хотите установить).
Все, что вам нужно сделать, это добавить номер версии к названию пакета:
sudo apt-get install
Как удалить установленные пакеты с помощью apt-get
Установка пакетов — не единственное, что можно сделать с apt-get. С помощью этой команды также можно удалять пакеты. Всё, что вам нужно сделать, это использовать команду таким образом:
sudo apt-get remove
Автозавершение работает и здесь. Поэтому просто начните набирать имя пакета и нажмите клавишу табуляции, и терминал предложит все установленные пакеты, начиная с этих букв.
Другой способ деинсталляции пакетов — использование очистки. Команда используется следующим образом:
sudo apt-get purge
Какая разница между apt-get remove и apt-get purge?
- apt-get remove просто удаляет двоичные файлы пакета. Она не трогает конфигурационные файлы
- apt-get purge удаляет все, что связано с пакетом, включая конфигурационные файлы
Таким образом, если вы «удалили» (removed) определенный кусочек программного обеспечения и затем установите его снова, ваша система будет иметь те же самые конфигурационные файлы. Конечно, вас попросят переопределить существующие конфигурационные файлы при повторной установке.
Очистка особенно полезна, когда вы испортили конфигурацию программы, когда вы хотите полностью стереть ее следы из системы и начать все заново.
В большинстве случаев простого удаления более чем достаточно для удаления пакета.
Как очистить систему с помощью apt-get
Ах, да! Вы также можете очистить систему с помощью apt-get и освободить некоторое место на диске.
Вы можете использовать команду ниже для очистки кэша apt (локально сохраненных файлов пакета):
sudo apt-get clean
Другой способ — использовать автоочистку. В отличие от вышеприведенной команды автоочистки, autoclean удаляет только те файлы пакета, которые имеют более новую версию, и поэтому больше не будет использоваться.
sudo apt-get autoclean
Другой способ высвобождения дискового пространства — использование автоудаления. С помощью него можно удалить библиотеки и пакеты, которые были установлены автоматически для удовлетворения зависимостей другого установленного пакета. Если этот пакет удален, то эти автоматически установленные пакеты бесполезны в системе. Эта команда удаляет такие пакеты.
sudo apt-get autoremove
В завершение
Есть еще кое-что, но и этой информации достаточно для начала. Вы всегда можете просмотреть man-страницы, чтобы получить больше информации.
Как вам это руководство по apt-get командам в Linux? Было ли оно полезным для Вас и достаточно понятным для понимания? Ваши отзывы помогут создать больше подобных руководств в ближайшем будущем.
Источник
Команды линукс apt get
В данной статье посмотрим на разницу между пакетными менеджерами apt и apt-get. А также рассмотрим вопрос, как правильно обновлять систему через терминал в Ubuntu подобных системах.
Apt (advanced packaging tool) — это программа для работы с пакетами программ в операционных системах Linux Debian, и основанных на них — Ubuntu, Linux Mint и т.д. По сути, apt — это терминальный (консольный) пакетный менеджер.
На данном сайте во всех статьях об установке каких-либо программ используется команда для установки пакетов:
Начиная с Ubuntu 16.04 (теперь присуствует и в Ubuntu 14.04) был добавлен новый пакетный менеджер просто «apt» и теперь команда установки пакета выглядит следующим образом:
То есть, кроме знакомой нам apt-get добавился ещё apt. И в этой статье мы подробнее рассмотрим разницу между ними.
Возникает логичный вопрос, зачем нужен новый пакетный менеджер?
У старого apt-* существует достаточно ключей, в которых легко запутаться, особенно новичку:
Пакетный менеджер apt заменяет старые apt-get и apt-cache. Непосредственно, реализованы все самые наиболее используемые команды по установке, удалению пакетов, обновлению системы и поиска пакетов. Кроме того, раскрасили в цветах текст выполнения данных команд.
Давайте же разберем список команд нового пакетного менеджера apt:
Для того, чтобы получить краткую подсказку по данным командам, всегда можно выполнить команду:
Вот краткое описание команд из справки:
Пройдемся подробнее по каждой команде нового пакетного менеджера apt.
install, remove, purge — используются для установки, удаления, удаления с зависимостями пакетов в системе. Отличие от apt-get что добавился прогресс выполнения операции:
search — команда аналогична apt-cache search, используется для поиска пакета в репозиториях. Разница в том, что эта команда выводит сортированный список по алфавиту.
show — команда, аналогичная apt-cache show, показывает подробную информацию о пакете. Разница в том, что теперь информация более краткая и по существу. Скрыты более технические параметры, такие как хеши.
update — команда, аналогичная apt-get update, обновляет информацию о пакетах в добавленных репозиториях в системе. Разница в том, что текст выполнения стал разноцветным:
* Цвета строк с репозиториями меняются только в момент их обновления.
list — команда, похожая на dpkg list, отображает список пакетов в зависимости от дополнительного ключа.
Ключи могут быть следующими:
- —upgradable — просмотр списка пакетов которые могут быть обновлены (есть новые версии в репозиториях)
- —installed — просмотр списка всех установленных пакетов в системе
- —manual-installed — просмотр списка пакетов, которые устанавливались в ручную пользователем
- —all-version — просмотр вообще всех пакетов, описанных выше.
- —verbose — отображение краткой информации (что это за пакет программы) по всем пакетам
Также можно указывать часть имени пакетов, по которым нужно получить информацию, указав звездочку на конце, либо непосредственно полное имя пакета. Пример:
Для удобного чтения этого огромного списка, можно его сохранить в файл. Выполнить перенаправление вывода выполнения команды из терминала в файл:
Для удобного чтения этого огромного списка, можно его сохранить в файл. Выполнить перенаправление вывода выполнения команды из терминала в файл:
После команды указываем одинарную галочку вправо > , а затем название файла текстового файла. Название текстового файла может быть любое, если используете пробел в названии файла, то его нужно экранировать обратным слешем.
Если текстового файла нет в системе с таким именем, то он будет создан. Если есть в системе, то файл будет перезаписан.
Таким же образом можно сохранить в файл и выводы остальных списков для удобного их просмотра в графическом текстовом редакторе:
Как правильно обновлять систему через терминал в Ubuntu подобных системах.
upgrade — команда аналогична apt-get upgrade —with-new-pkgs, то есть обновляет пакеты, которые уже установлены в системе и доставляет новые пакеты-зависимости.
full-upgrade — команда аналогична apt-get dist-upgrade, то есть обновляет пакеты, которые уже установлены в системе, доставляет новые пакеты зависимости и удаляет пакеты, которые устанавливались в систему и уже не используются.
По поводу разницы обновления в терминале, давайте обратимся за более подробной информацией в мануал apt-get.
upgrade используется для установки новейших версий всех установленных пакетов системы из источников, указанных в /etc/apt/sources.list. Будут разысканы новейшие версии установленных в настоящий момент пакетов и произведено обновление; ни в коем случае не будет удалено ни одного установленного пакета или установлено нового пакета, не имеющего уже установленной в системе предыдущей версии. Текущие версии установленных в настоящий момент пакетов, если они не могут быть обновлены новыми версиями без изменения статуса других пакетов, будут оставлены в неизменном виде. Для того, чтобы apt-get узнал о существовании доступных новых версиях пакетов, данной команде должна предшествовать команда update.
apt-get dist-upgrade
dist-upgrade, в дополнение выполняет функцию upgrade, а также разумно управляет изменением зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов и она будет в случае необходимости пытаться произвести обновление наиболее важных пакетов за счет менее важных. Файл /etc/apt/sources.list содержит список источников для получения пакетов, из которых будут получены файлы пакетов.
Таким образом, когда вы обновляете систему с помощью команды:
то у вас только обновляются установленные пакеты, при этом могут возникнуть конфликты и неудовлетворенные зависимости и новые пакеты не будут устанавливаться.
удалит старые пакеты, разрешит конфликты, доставит необходимые зависимости, доставит новые пакеты, если требуется. Более умный и гибкий инструмент обновления системы.
Именно поэтому в случае пакетного менеджера apt-get, я советую пользоваться dist-upgrade для обновления системы, а про upgrade вообще забыть.
С пакетным менеджером apt можно использовать обе эти команды обновления.
Но в случае использования upgrade, периодически надо будет использовать следующую команду:
autoremove — команда аналогична apt-get autoremove, очищает систему от пакетов, которые были установлены как зависимости других пакетов и уже не используются.
edit-sources — открывает редактор файла со списком системных репозиториев /etc/apt/sources.list. Больше про эту команду сказать и нечего. Огромной полезности в ней не вижу. Этот файл можно отредактировать без данной команды.
Пришло время переходить на пакетный менеджер apt.
Давно пора было разработчикам сделать выполнение таких наиболее используемых команд пакетного менеджера в Ubuntu более лаконичными без постфиксов apt-get, apt-cache и с доработкой скриптов выполнения команд.
В дальнейшем, на данном сайте в статьях будут использоваться команды нового пакетного менеджера.
Источник