Если вы начали использовать 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.
sudo apt-get update
Когда вы запустите эту команду, вы увидите информацию, полученную с различных серверов.
Здесь вы увидите три типа строк: hit, bit и ign. Позвольте мне объяснить их вам:
- Hit: нет никаких изменений в версии пакета по сравнению с предыдущей версией.
- Ign: пакет игнорируется. Либо пакет слишком свеж, чтобы его даже не надо было проверять, либо произошла ошибка при получении файла, но ошибка была тривиальной, и поэтому ее игнорируют. Не волнуйтесь, это не ошибка.
- Get: Доступна новая версия. Она скачает информацию о версии (а не о самом пакете). Вы можете видеть, что есть информация о загрузке (размер в Кб) со строкой 'get' на скриншоте выше.
Обновление установленных пакетов с помощью apt
После обновления базы данных пакетов вы можете обновить установленные пакеты. Самый удобный способ - это обновить все пакеты, которые имеют доступные обновления. Вы можете просто использовать команду ниже:
sudo apt-get upgrade
Чтобы обновить только определенную программу, используйте команду ниже:
sudo apt-get upgrade <package_name>
Есть еще один способ выполнить полное обновление, используя команду ниже:
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-cache search <search term>
Здесь не нужно знать точное название пакета. Команда ищет в именах пакетов и их кратких описаниях, затем показывает результат, основанный на этом.
Если вы просто хотите искать в apt-пакетах с определёнными именами пакетов, вы можете воспользоваться командой, приведённой ниже:
apt-cache pkgnames <search_term>
Команда выдаст список всех пакетовпо, удовлетворяющие вашему поисковому запросу.
Как только вы узнаете точное имя пакета, вы можете получить дополнительную информацию о нем, например, о версии, зависимостях и т.д., с помощью команды, приведенной ниже:
apt-cache showpkg <package_name>
Как установить новые пакеты с помощью apt-get
Если вы знаете имя пакета, вы можете легко установить его с помощью команды ниже:
sudo apt-get install <имя_пакета>
Просто замените <имя_пакета> на нужный вам пакет. Предположим, я хотел установить редактор изображений Pinta. Все, что мне нужно будет сделать, это использовать команду:
sudo apt-get install pinta
Хорошо, что в этой команде есть автозавершение. Поэтому, если вы не уверены в точном названии пакета, вы можете набрать несколько букв и нажать клавишу табуляции, и она предложит все пакеты, доступные с этими буквами. Например:
Как установить сразу несколько пакетов
Вы не ограничены установкой только одного пакета за раз. Вы можете установить несколько пакетов за раз, указав их имена:
sudo apt-get install <package_1> <package_2> <package_3>
Что если запустить установку, а пакет окажется уже установлен
Предположим, что у вас уже установлен пакет, но вы все равно использовали для него команду install. apt-get на самом деле посмотрит в базу данных, и если будет доступна более новая версия, то обновит установленный пакет до более новой. Таким образом, использование этой команды не причинит никакого вреда - если только вы не хотите, чтобы пакет не был обновлен.
Как установить пакеты без обновления
Предположим, по какой-то причине вы хотите установить пакет, но не хотите обновлять его, если он уже установлен. Звучит странно, но у вас могут быть на то причины.
В этом случае вы можете использовать флаг no-upgrade следующим образом:
sudo apt-get install <package_name> --no-upgrade
Как обновить пакет, не установливая его
Если вы хотите обновить пакет при условии, что он уже установлен, но не хотите устанавливать его снова, вы можете сделать это с помощью следующей команды:
sudo apt-get install <package_name> --only-upgrade
Как установить конкретную версию приложения
По умолчанию, последняя версия, доступная в репозитории, будет установлена для любого приложения. Но если по какой-то причине вы не хотите устанавливать последнюю версию, вы можете указать номер версии пакета. (Вам нужно будет знать точный номер версии, которую вы хотите установить).
Все, что вам нужно сделать, это добавить номер версии к названию пакета:
sudo apt-get install <package_name>=<version_number>
Как удалить установленные пакеты с помощью apt-get
Установка пакетов - не единственное, что можно сделать с apt-get. С помощью этой команды также можно удалять пакеты. Всё, что вам нужно сделать, это использовать команду таким образом:
sudo apt-get remove <package_name>
Автозавершение работает и здесь. Поэтому просто начните набирать имя пакета и нажмите клавишу табуляции, и терминал предложит все установленные пакеты, начиная с этих букв.
Другой способ деинсталляции пакетов - использование очистки. Команда используется следующим образом:
sudo apt-get purge <package_name>
Какая разница между 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? Было ли оно полезным для Вас и достаточно понятным для понимания? Ваши отзывы помогут создать больше подобных руководств в ближайшем будущем.