В чем разница между репозиторием и магазином приложений?
истрибутивы Linux на базе Debian/Ubuntu, управление пакетами может показаться запутанным. В некоторых руководствах вам предлагается использовать «apt», в других — «apt-get», а в некоторых очень старых или специфических — «aptitude». Пришло время перейти к абсолютным мелочам и объяснить «почему, где, что и как» странного и несколько разделенного мира в этом маленьком уголке вселенной Linux.Если вы новичок в Linux, возможно, вам стоит ознакомиться с этими полезные команды Bash перед переходом к терминалу .
–
Определение Apt-Get, Apt, Aptitude и DPKG
Независимо от всех мелких деталей, которые их различают, apt
, apt-get
и aptitude
— это просто разные визитные карточки для управления пакетами Debian. система, которая взаимодействует с онлайн-хранилищами. Как будто их уже недостаточно, есть еще один инструмент управления пакетами в системах на базе Debian или Ubuntu, о котором вы, возможно, слышали, который ка
Contents
- 1 Определение Apt-Get, Apt, Aptitude и DPKG
- 2 Что такое способности?
- 3 Что такое APT?
- 4 Какие дистрибутивы используют APT?
- 5 Apt-get против Apt
- 6 Несколько слов о флагах APT
- 7 Не все реализации APT одинаковы!
- 8 Полное руководство по командам APT
- 9 Ужасающая проблема APT «команда не найдена»
- 10 Часто задаваемые вопросы
Определение Apt-Get, Apt, Aptitude и DPKG
ДПКГ — это инструмент, который запускается в фоновом режиме каждый раз, когда вы устанавливаете пакет.deb. Apt
, Apt-get
и Aptitude
используют dpkg для установки пакетов.
Что такое способности?
Aptitude — это нервный центр управления пакетами, действующий как интерфейс, если вы хотите подробно просмотреть все пакеты, которые ваш дистрибутив предлагает в своих репозиториях, и те, которые вы добавили. Это также один из немногих интерактивных графических интерфейсов старой школы, которые запускаются непосредственно внутри терминала.
Что такое APT?
APT, известный как Advanced Packaging Tool, представляет собой решение Debian, позволяющее упростить процесс удаления, установки, поиска и управления различными приложениями, которые вы устанавливаете в операционной системе. Каждый дистрибутив, основанный на нем, использует APT, хотя не все реализации APT одинаковы. Мы вернемся к этому чуть позже.
На данный момент важно отметить, что APT как менеджер пакетов — это некоманда apt
. Вместо этого он включает в себя множество команд, связанных с APT, таких как apt-get, apt-mark и apt-cache.
Думайте об Aptitude как об интерактивном командном центре управления всеми вашими пакетами, а об APT — как о швейцарском ноже, позволяющем быстро выполнять более простые задачи,
Что такое способности?
ием и обновлением пакетов и репозиториев.Какие дистрибутивы используют APT?
Если ваш дистрибутив описан как «основанный на Debian», значит, он так или иначе использует инструмент APT. Это включает, помимо прочего:
- Debian
- Убунту
- Линукс Минт
- MX Linux
- Грмл
- Кали Linux
- Тейлз
- PureOS
- ОС Raspberry Pi
- Элементарная ОС
Существует множество других дистрибутивов, основанных на Debian, поэтому, если вы используете что-то, чего здесь нет, проверьте, работает ли команда apt-get
, просто набрав ее в терминале. Если ваш терминал возвращает запутанное сообщение о том, что команда не существует, то вы определенно не запускаете ничего, что было затронуто
Что такое APT?
ли Ubuntu.Apt-get против Apt
Во многих онлайн-руководствах по установке пакета вы увидите, что apt-get
и apt
взаимозаменяемо используются как команды в системах на базе Debian. Когда дело доходит до установки и удаления чего-либо, действительно нет никакой разницы, какую команду вы используете. Только не путайте это с версиями другого.
Помните, как я сказал, что apt-get
— это просто одна из нескольких команд Advanced Packaging Tool? Новичка в APT может немного сбить с толку необходимость запоминать, какие команды действительны для apt-get
, apt-mark
и apt-cache
. Например, знаете ли вы, что команда для поиска пакета — apt-cache search
?
Что, если бы все три наиболее полезные функции этих команд в повседневной жизни были более единообразными?
Это именното, что делает команда apt
. Эти три буквы, введенные в ваш терминал, действуют как «обертка» для экосистемы APT, упрощая процесс для людей, которые проводят большую часть своего времени за написанием текста на своих терминалах.
При поиске пакета apt search
должен в основномвозвращать те же результаты, что и apt-cache search
.<
Какие дистрибутивы используют APT?
/saintist.ru/wp-content/uploads/2024/05/linuxapt-search-1.png" alt="Linuxapt Поиск 1">Вместо того, чтобы вводить apt-cache search
, apt-mark hold
и apt-get remove
в терминале, вы можете вместо этого использовать apt search
, apt hold
и apt remove
.
APT – это экосистема, в которой оба варианта: apt-get install
и apt install
являются допустимыми, но ведут себя немного по-разному. Простое apt
— это приложение, основанное на командах APT старой школы, обеспечивающее более простую структуру, более интуитивно понятную для пользователей, которые не хотят запоминать кучу разных команд для выполнения различных задач с помощью своих компьютеров. менеджеры пакетов.
В некоторых дистрибутивах, таких как Ubuntu, команда apt
представляет собой отдельное приложение, которое иногда просто выполняет одну из старых команд с включенными определенными параметрами (например, индикатор выполнения при установке), что делает ее более привлекательной. богатый функционал для новых пользователей, которые не хотят усложнять себе несколько не
Apt-get против Apt
пакетов.Другие дистрибутивы, такие как Linux Mint, достигают того же результата, создавая простую оболочку Python. Для конечного пользователя оба будут выглядеть одинаково.
Несколько слов о флагах APT
Если вы обратили пристальное внимание на изображения, показывающие результаты обеих команд поиска, они показывают несколько разную информацию, поскольку команда apt
собирает информацию о статусе приложения в вашей системе в дополнение к все, что выдает apt-cache search
.
Теперь, вероятно, самое время объяснить, что означает эта буква «i» рядом с именем пакета в выводе apt search
. Это флаг, установленный aptitude, интерфейсом пакета Debian.
Ниже приведен список флагов, которые вы увидите в своем терминале, и их значение:
A
— устанавливается автоматически, возможно, как часть более крупного метапакета или при установке самой операционной системы.B
— пакет помечен как поврежденный и его необходимо переустановить.H
— установлено наполовину. Необходимо завершить установку пакета.c
— пакет был удален, но его «призрак» остался в виде файлов конфигурации. Эту проблему можно решить, используяapt-get purge
илиapt purge
, за которым следует имя пакета с этим флагом.p
— пакет удален или никогда не устанавливался.v
— пакет установлен и обычно используется другими для предоставления функции. Например, Firefox предоставляет возможности просмотра, которые могут использоваться другими приложениями, что делает его виртуальным пакетом.i
– этот пакет установлен в вашей системе.h
– этот пакет заблокирован, что не позволяет его обновить до более новых версий.
Не все реализации APT одинаковы!
Прежде чем углубляться в anyтему управления пакетами, чрезвычайно важно отметить, что команда apt
может иметь больше доступных аргументов в одном дистрибутиве, чем в другом.. Например, в Ubuntu отсутствует функция удержания, а в Mint она есть.
Чтобы полностью понять то, что я здесь говорю, нам нужно взглянуть на списки Ubuntu и Mint, какие аргументы вы можете передать в apt
, и увидеть явную пропасть между ними.
На изображении ниже показана Ubuntu на моем новом (каламбурном) испытательном стенде для учебных пособий.
На следующем изображении показан Linux Mint.
Безусловно, у Mint самая продуманная оболочка из всех дистрибутивов на основе Debian, которые я когда-либо видел. Это неудивительно, если учесть, что он был создан специально сообществом, которое поддерживает Mint, чтобы удовлетворить как новичков, которые просто хотят спокойно установить свои приложения с помощью короткой команды, так и турбо-гиков, которые хотят настроить все просто так, как они хотят, с точностью до миллиметра.
Полное руководство по командам APT
Нет лучшего способа понять возможности системы пакетов APT, чем вникнуть в некоторые важные команды. Список будет состоять из команд APT, за которыми следует упрощение apt
, где это применимо, в круглых скобках. Если упрощение не работает в вашем конкретном дистрибутиве, это либо потому, что ваш по какой-то причине его не включил, либо вы не используете чудовищную оболочку Mint. В этом случае вы можете смело вернуться к стандартной команде, не теряя при этом слишком много.
Добавить репозиторий
add-apt-repository
— добавляет новый репозиторий в список источников программного обеспечения от сопровождающего пакета.
Например, если я хочу добавить текущий репозиторий Lutris для Mint 20, я могу ввести либо sudo add-apt-repository
, либо sudo apt add-repository
, а затем ppa:lutris-team/lutris
. Каждый репозиторий уникален, и большинство разработчиков приложений, у которых нет пакетов в официальных пакетах для вашего дистрибутива, предоставят инструкции, которые укажут вам на свои собственные.
Очистить и автоматическое удаление
apt clean
иНесколько слов о флагах APTанды часто используются вместе. Они выметают пыль в вашей системе в виде устаревших установочных сценариев и установочных носителей, которые вам не нужны. больше не требуется ( clean
), а также автоматически освобождает хранилище пакетов, которые никто не использует и от которых никто не зависит (autoremove
).
Пример: sudo apt autoremove && sudo apt clean
удалит все ненужные приложения и файлы кэша с вашего основного диска в одну строку в вашем терминале.
Если вы просто хотите удалить файл, вы можете вместо этого используйте команду rm или команда dd, если вы хотите освободить место на диске .
Журнал изменений
apt changelog
— обратите внимание на последние изменения в пакете.
Пример: apt changelog brave-browser
сообщит мне, что включает в себя последняя версия браузера Brave по сравнению с его последней версией.
Содержит
apt contains
— встречается только в Linux Mint и, возможно, в некоторых других дистрибутивах, основанных на Ubuntu. Эта команда используется, когда вы сталкиваетесь с ошибкой типа «файл не найден» в программа. Если повезет,apt contains
найдет для вас этот файл в какой-нибудь удаленной папке установленного вами приложения!
Пример: apt contains gettext.sh
будет искать приложение, содержащее сценарий оболочки для gettext
. Если в вашем дистрибутиве Mint установлено gettext-base
, вы должны немедленно найти приложение, в котором оно есть!
Установить и переустановить
apt install
— как следует из названия, устанавливает пакет. Если вы установите флаг--reinstall
, ваш пакет будет немедленно переустановлен.
Пример установки: sudo apt install firefox
. Пример переустановки Firefox: sudo apt reinstall firefox
. Более простой вариант через оболочку apt
— sudo apt reinstall firefox
.
Удалить (УдалиНе все реализации APT одинаковы!
— еще один часто используемый инструмент в арсенале терминального спелеолога. Эта команда удалит все, что было установлено экосистемой APT или менеджером пакетов DPKG.
Пример: sudo apt remove grub-customizer
.
Обновить, обновить и отложить
apt update
– эта команда необновляет приложения в вашей системе. Он просто обновляет кэш APT, чтобы ваша система могла сравнить версии, доступные в ваших репозиториях, с тем, что в настоящее время установлено в вашей системе. Он проверяетналичие обновлений, но не выполняет их.
apt upgrade
— при этом будут загружены обновления ваших пакетов, обнаруженные вашей системой, если они доступны. Обычно для этого не нужно закрывать все работающее.
apt hold
/unhold
/showhold
– эта серия команд управляет заблокированными приложениями. Удержание пакета говорит вашей операционной системе не обновлять его в будущем. С помощьюhold
иunhold
вы можете инициировать или отменить приостановку обновления приложения. Аргументshowhold
будет содержать список того, что у вас в данный момент находится на удержании. Если вы не можете использовать это в установленной системе, попробуйте вместо этогоapt-mark showhold
!
Пример: sudo apt hold pulseaudio
. Слово мудрому: задержка обновлений пакетов, от которых зависят другие, может нанести вред вашей системе в долгосрочной перспективе, если вы не уверены в том, что делаете.
Поиск и показ
apt search
/show
– эта прекрасная пара команд хорошо сочетается друг с другом. Используйте первую кнопку, чтобы найти пакет, затем используйтеshow
и полное имя пакета, чтобы узнать о нем более подробную информацию.
Пример: sudo apt search gimp
.
Если вы хотите узнать больше о тонкостях APT для вашего конкретного дистрибутива, которые, возможно, не были рассмотрены здесь, их руководства находя
Полное руководство по командам APT
code>перед командой без каких-либо дополнительных аргументов и нажмите Enter.Совет : вы также можете поиск в Интернете с терминала .
Ужасающая проблема APT «команда не найдена»
Если вы не можете ничего установить на свой терминал, потому что APT просто сломался и исчез, это не конец света. Немного потрудившись, и ваш любимый менеджер пакетов будет готов к работе.
Во-первых, если это новая система, просто дважды проверьте, что она предполагаетсяиспользовать APT в качестве менеджера пакетов. Fedora использует DNF/yum, Arch использует Pacman, Solus использует EOPKG, openSUSE использует zypper, а Mandriva использует urpmi. Если ваш дистрибутив нигде не указан, вам придется поиска
Добавить репозиторий
пакетами, которую обычно можно найти на сайте, где вы изначально получили дистрибутив.Если вы уверены, что используете систему на базе Debian и APT действительно отсутствует, пора переходить к следующему шагу.
Чтобы помочь вам в этом, добавив немного дополнительной заинтересованности в этом вопросе, я наношу вред своей системе Ubuntu и не позволю себе легко избежать переустановки ОС!
Результатом теперь является либо ошибка «команда не найдена», либо невозможность обработки команды.
Пришло время найти подходящий пакет APT для нашей системы и установить его. Поскольку у нас нет APT для работы, мы также не можем авт
Очистить и автоматическое удаление
счастью, дисковый менеджер пакетов Debian (dpkg
) здесь, чтобы спасти положение! Я загрузил последнюю версию пакета apt, соответствующую архитектуре моего процессора, из Основной репозиторий Ubuntu и запустил на ней dpkg -I
, чтобы получить список зависимостей, которые мне нужно было установить. Если вы просматриваете связанный репозиторий и не можете разобраться в нем, найдите «apt_x.xx», где «x» представляет номер последней версии. Если у вас 64-битная система, загрузите версию «amd64». В 32-разрядной версии загрузите версию «i386».
В моем случае при попытке установить последнюю версию APT все зависимости присутствовали, но были недостаточно свежими.
Вы обнаружите эти вещи, когда наберете dpkg -i /path/to/your/apt/deb/file
. Очевидно, вам нужно заменить введенный мною фальшивый путь на любой путь, соответствующий файлу.deb, который вы скачали с веб-сайта.
Вместо версии 2.3.11 я выбрал версию 2.0.6, которая обычно устанавливается в Mint на момент написания статьи.
Поигравшись с версиями здесь и там, вы в конечном итоге наткнетесь на ту, которая работает с вашей текущей настройкой. Вот что случилось со мной. После ввода sudo dpkg -i
и этого старого пакета он установился без проблем.
Как правило, самые серьезные зависимости APT — это те вещи, которые ваша система не пропустит. Однако, поскольку у вас
Содержит
все. В любом случае, если вы обнаружите, что вам не хватает одной из перечисленных зависимостей после просмотра с помощьюdpkg -I
, как обсуждалось ранее, просмотрите родительские папки в связанном репозитории. Они должны находиться в соответствующих папках в алфавитном порядке.
Часто задаваемые вопросы
Существуют ли небезопасные APT-команды?
Как правило, если вы вводите в терминале что-либо, связанное с APT, вы должны знать, что собирается сделать эта команда. Перед крупными обновлениями, особенно теми, в которых вы устанавливаете новое ядро, сделать полную резервную копию вашей системы на всякий случай.
Помимо всего этого, с командами, с которыми вам следует быть очень осторожными, являются apt hold
и apt full-upgrade<
Установить и переустановить
ержание может привести к поломке вашей системы, пока вы не отмените удержание, особенно если вы делаете это с зависимостями других приложений. Они могут слишком сильно отставать и не выполнять те функции, которые от них ожидают приложения.
full-upgrade
и dist-upgrade
полезны только в том случае, если ваш дистрибутив выпускает новую долгосрочную версию, на которую вы хотите перейти, но они также потенциально могут удалить установленные пакеты. который вы привыкли использовать. Обычно вы находитесь на гораздо более безопасной территории, выполнив обычный apt upgrade
, а затем apt autoremove
, чтобы очистить пакеты, действительно собирающие пыль.
Apt лучше, чем Apt-get?
Я знаю, что это утомительное заявление, но оно действительно зависит от того, что вы делаете. Ваши пальцы обжигаются от ввода такого количества команд? Вы можете использовать apt
в качестве ярлыка, если вам не нужно что-то конкретное, для чего больше подойдет apt-get
. Во многих отношениях apt не только упрощает процесс управления пакетами, но и предоставляет дополнительную информацию, как мы видели ранее при сравнении apt-get search
и apt search
.
Однако, если вы не используете Mint с его гигантским списком аргументов для apt
, который почти полностью делает apt-get
лишним, возможно, вам придется использовать apt-get
для выполнения дополнительных нишевых задач.
В чем разница межОбновить, обновить и отложить
?
Для повседневного пользователя различия незначительны. Их пути начинают расходиться в вопросе «взаимозаменяемости» программного обеспечения. Рынок программного обеспечения Linux очень изменчив, и пользователям предоставляется порой ошеломляющий выбор. Магазины приложений для смартфонов в значительной степени высечены на камне, и трудно представить, чтобы пользователи искали альтернативу.
В то же время теоретически личные архивы пакетов (PPA), которые люди любят использовать в Ubuntu, могут быть скомпрометированы и привести к распространению вредоносного программного обеспечения злоумышленниками.
Если из этого следует что-то вынести, так это то, что децентрализация предполагает некоторую ответственность со стороны пользователя. Убедитесь, что репозитории, которые вы добавляете в свой дистрибутив, взяты из источников, которым вы можете доверять, и из проектов, которые существуют уже давно.
Изображение предоставлено: все изображения принадлежат автору.