Apt get установка из файла
На самом деле всё очень просто. Существуют два основных инструмента работы с пакетами: aptitude и dpkg 1) . dpkg - это низкоуровневая программа управления пакетами, единственная полезная её функция для обычного пользователя - это прямая установка пакета из deb-файла. Выполняется она командой
Для того, чтобы команда успешно выполнилась, в системе должны присутствовать все зависимости устанавливаемого пакета, поскольку dpkg не умеет их разрешать и скачивать что-либо из репозиториев. Можно так же ставить несколько пакетов за раз, передавая их все как аргументы команде dpkg -i . Больше я пожалуй ничего про dpkg рассказывать не буду, да и вряд ли вам как-либо ещё понадобится использовать эту утилиту.
Установка программ Debian в synaptic
Для полноты статьи давайте еще рассмотрим как выполняется установка приложений через графический интерфейс. Для этого будем использовать программу synaptic. Она уже поставляется вместе с дистрибутивом, можно найти в главном меню:
Для поиска нужного пакета нажмите кнопку поиск, потом введите его имя:
Далее, найденные пакеты будут отображены на панели:
Кликните по нужному пакету правой кнопкой и выберите "Отметить для установки":
Утилита покажет какие еще пакеты будут установлены как зависимости:
Чтобы установить выбранные пакеты, нажмите кнопку "Применить".
Вам нужно будет подтвердить операцию и дождаться завершения установки. Но установка deb пакетов из консоли debian все равно проще.
Установка программ с помощью tasksel
Инструмент tasksel разработан специально для Debian. Он позволяет устанавливать пакеты группами. Разработчики сгруппировали пакеты в зависимости от их предназначения и вы можете установить одну из нужных групп. Именно эта утилита используется в установщике Debian.
Чтобы посмотреть список доступных групп наберите:
Также вы можете посмотреть какие пакеты находятся в группе:
tasksel --task-packages web-server
Или описание группы пакетов:
tasksel --task-desc web-server
Чтобы установить группу пакетов, например, веб-сервера, выполните:
tasksel install web-server
А для удаления группы:
tasksel remove web-server
Установка программ Debian таким способом достаточно проста, но здесь есть не так много пакетов.
Утилита aptitude
Основным же консольным инструментом работы с пакетами является aptitude . В некотором смысле это консольный аналог менеджера пакетов Synaptic, хотя aptitude на самом деле обладает куда как большим функционалом.
Сразу же вспомните про sudo , поскольку как ни странно, для внесения изменений в установленные компоненты системы aptitude требует административных полномочий. Хотя некоторые функции, вроде поиска, работают и от имени обычного пользователя.
Начнём с того, что установить пакеты из репозиториев можно командой
Сколько бы вы не указали пакетов, aptitude автоматически разрешит все зависимости и предложит вам конечный вариант необходимых действий, вам останется только лишь согласиться, нажав Enter :
Обратите внимание, aptitude предлагает вам в квадратных скобочках три возможных варианта ответа на поставленный вопрос:
Y означает Yes, то есть согласие, n - это No, то есть отказ, а ? - это просьба вывести справку. Вам нужно ввести символ, соответствующий вашему выбору и нажать Enter . Однако часто есть вариант по умолчанию, выделенный в списке большой буквой, и если вам нужен именно он, то вы можете ничего не вводить, просто нажать Enter .
Аналогично установке, удалить пакеты можно одной из двух команд:
Первая удаляет только файлы пакета, оставляя пользовательские настройки нетронутыми, вторая же удаляет пакет полностью.
Посмотреть описание конкретного пакета можно командой
Произвести поиск нужного пакета по доступным источникам приложений можно командой
По умолчанию поиск производится по именам пакетов, для поиска по описаниям надо перед искомой фразой добавить символы ~d 2) :
Ну и наконец aptitude имеет мощный графический интерфейс, попасть в него можно набрав в терминале просто aptitude . Вот как это выглядит:
Несмотря на неприглядный вид работать с этим очень удобно, но всё-таки обычно пользователю более привычны инструменты вроде Synaptic, поэтому подробно описывать работу с графической оболочкой aptitude я не буду.
И напоследок хочется заметить, что обычно в разнообразных инструкциях для установки пакетов предлагается как раз использовать команду
Это ни в коей мере не значит, что кровь из носу надо исполнять эту команду. Вы спокойно можете поставить указанные пакеты через тот же Synaptic. Просто авторы инструкций обычно экономят своё время на объяснении куда и как надо нажимать в Synaptic, давая вместо всего этого одну маленькую команду. Но в конечном итоге aptitude и Synaptic выполняют одни и те же действия, так что используйте тот инструмент, который вам удобен.
Как пользоваться apt
Установка программ с помощью apt
Перед тем как говорить непосредственно про Debian, нужно рассмотреть apt. Этот пакетный менеджер был специально разработан для Debian и потом стал использоваться в других основанных на нем дистрибутивах. Синтаксис для работы с утилитой такой:
$ sudo apt опции команда имя_пакета
Вот основные команды apt, которые вы можете использовать для управления пакетами:
- download - скачать пакет, но не устанавливать;
- update - используется для обновления информации о списках пакетов в репозиториях;
- upgrade - обновление системы без удаления пакетов;
- full-upgrade - полное обновление системы с удалением конфликтующих зависимостей;
- install - установка пакета;
- remove - удаление пакета без удаления конфигурационных файлов;
- purge - полное удаление пакета;
- autoremove - автоматическое ненужных удаление пакетов;
- search - поиск пакета в локальной базе данных;
- show - посмотреть информацию о пакете.
Кроме того, утилите можно передать некоторые опции, основные:
- -c - сторонний конфигурационный файл;
- -o - строка конфигурации;
- -t - версия релиза для которой устанавливать пакет;
- -f - выполнить операцию принудительно.
Таким образом, для установки пакета из репозиториев достаточно набрать:
sudo apt install имя_пакета
$ sudo apt install vlc
А для удаления пакета наберите:
sudo apt purge vlc
Вы можете искать пакеты с помощью команды search:
sudo apt search vlc
Но куда более интересны политики управления репозиториями и установка отдельных пакетов из определенных хранилищ. Особенно это актуально для Debian, чтобы не добавлять нестабильный репозиторий полностью, а устанавливать из него только отдельные пакеты. Для решения таких задач существует настройка политики управления репозиториями.
С помощью политик вы можете настроить из каких репозиториев будет выполняться установка deb пакетов в debian в первую очередь. Мы рассматривали репозитории Debian и как их добавлять в отдельной статье. Допустим, вы добавили backports, testing и unstable. Теперь, чтобы настроить для них приоритеты откройте конфигурационный файл /etc/apt/preferences и добавьте в него строки:
sudo vi /etc/apt/preferences
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=stretch-backports
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin: release a=unstable
Pin-Priority: 100
Чем выше значение Priority, тем выше приоритет. Сначала мы указываем с помощью инструкции Package имя пакета, а затем репозиторий и его приоритет. В нашем примере самый высокий приоритет имеет репозиторий stable, если там пакета нет, он будет установлен из backports, и только потом из testing и из unstable. Теперь добавление нестабильных репозиториев не будет ломать систему. А если вы захотите установить пакет из нестабильного репозитория, то просто укажите его с помощью опции -t. Например, для testing:
sudo apt -t testing install firefox
Очень удобно и не ломает систему.
Настройки
Все файлы настроек 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. Каждый репозиторий описывается в отдельном файле.
3. Удаление пакетов
Чтобы удалить ненужный пакет используйте команду remove:
sudo apt remove gimp
Однако если вы изменяли какие-либо конфигурационные файлы из состава пакета, то при таком способе удаления они останутся в системе, чтобы удалить всё полностью используйте команду purge:
sudo apt purge gimp
Чтобы удалить лишние пакеты, которые в системе больше не нужны выполните команду autoremove:
sudo apt autoremove
А для очистки кэша пакетов - autoclean:
sudo apt autoclean
Утилита apt-get
На самом деле я немного вас обманул. В инструкциях гораздо чаще вместо aptitude используется apt-get . apt-get - это стандартная утилита управления пакетами, используется она ровно так же, как и aptitude , только у неё нет графического интерфейса и поиска. То есть во всех командах с install , remove , purge можно заместо aptitude писать apt-get . Однако apt-get имеет ряд существенных недостатков 3) , поэтому напротив, настоятельно рекомендуется вместо неё всегда и везде использовать aptitude , благо для этого вам если что всего лишь придётся заменить одно слово в команде на другое 4) .
Я описал только малую часть возможностей консольных утилит управления пакетами, однако всё остальное вам вряд ли потребуется. Теперь осталось только коснуться последней нерассмотренной ещё темы:
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
install foo - Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
dist-upgrade - Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
purge foo - Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут.
autoremove - Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита apt , которая содержит наиболее часто используемые команды из apt-get и apt-cache . Утилита apt предназначена для пользователей, в то время как apt-get можно рассматривать как как инструмент более низкого уровня.
Оцените статью:
Об авторе
5 комментариев
Спасибо, очень хорошо разъяснили, сложил в свою библиотеку.
Спасибо за мычание.
Обьясните чайнику ,плз, разницу между apt и apt-get.
спасибо, забыли упомянуть apt dist-upgrage
непонятно разница между apt list и sudo apt list -installed. Первая выводит список всех установленых и доступных к установке а вторая только установленных?
Установка программ - одна из самых частых задач при администрировании системы и настройке ее под себя. В мире существует огромное количество различного программного обеспечения, но мы не устанавливаем его все одновременно, в системе собирается только то, что нам нужно на данный момент. В дистрибутивах Linux, установка новых программ выполняется из репозиториев с помощью специальных пакетов.
Установка пакетов Debian выполняется, как и в Ubuntu, с помощью пакетного менеджера apt и утилиты dpkg. Мы рассматривали их подробно в статье про установку пакетов Ubuntu. В этой же статье мы более детально остановимся на особенностях Debian.
P.S. Немного позитива
Разработчики - люди весёлые. Наберите в терминале команду
Забавно? Как же может ответить на это aptitude :
Вот незадача! Но постойте, а если попросить повежливей?
А можно и ещё вежливей, и даже намного вежливей:
Что называется, продолжайте по аналогии. Но это всё развлечения, нас же ждёт следующая тема:
На самом деле есть ещё apt-get , который вообще говоря является стандартным менеджером пакетов для терминала, однако его не рекомендуется использовать. Немного об этой программе я расскажу в конце статьи.
aptitude поддерживает огромное количество модификаторов поиска, кроме ~d , вообще механизм поиска у aptitude очень мощный, так что при необходимости можете поинтересоваться им. Однако обычно всё-таки проще искать через Synaptic или Центр Приложений.
Существенных по сравнению с aptitude , однако некритичных. apt-get хуже обрабатывает зависимости в некоторых случаях, не имеет мощного поиска и графического консольного интерфейса и не ведёт логов выполняемых операций.
То есть если вы видите какую-нибудь команду с apt-get , просто замените в ней apt-get на aptitude и всё отлично заработает.
Пакетный менеджер Apt или Advanced Package Tool используется во множестве дистрибутивов, основанных на Debian или Ubuntu, а таких дистрибутивов сейчас очень много. Этот пакетный менеджер поддерживает все необходимые функции, вы можете устанавливать и удалять пакеты, обновлять то, что было уже установлено, искать пакеты, устанавливать их из файла или загружать без установки. При этом все зависимости будут разрешаться автоматически.
Утилита apt ничем не уступает пакетному менеджеру yum, используемому в RPM дистрибутивах, да, здесь все ещё не поддерживается частичное обновление пакетов, как в Zypper, но в целом всё выглядит очень неплохо. В этой статье мы подробно рассмотрим как пользоваться apt в Linux для решения задач работы с программами.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье Репозитории.
Выводы
В этой статье мы рассмотрели примеры использования и основные команды apt Ubuntu, как видите, команд у этой утилиты хватает на все случаи жизни. Но, как видите, всё очень просто если разобраться. Я не рассказал только об одной команде, попробуйте ввести в терминале apt moo, увидите что будет. Это небольшая пасхалка от разработчиков.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Выводы
Вот и все. Теперь установка deb пакетов в Ubuntu не вызовет у вас проблем. Оказывается, есть несколько способов установки программ в ubuntu и все они имеют свои преимущества. Если у вас остались вопросы, спрашивайте в комментариях!
Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG и позволяет:
APT является одной из базовых программ и включена в состав Ubuntu.
Выводы
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
Синтаксис и опции apt
Синтаксис команды apt очень простой и похож на другие команды Linux:
$ apt опции команда параметры_команды
Опции указывают общее поведение утилиты, команда - действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить. Вот основные опции утилиты:
А теперь давайте пройдёмся по командам apt, которые вы можете использовать:
- install - установить пакет;
- remove - удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
- purge - полностью удалить пакет, вместе со всеми его конфигурационными файлами;
- autoremove - очистить ненужные пакеты;
- autoclean - очистить кэш пакетов;
- update - обновить списки пакетов из репозиториев;
- upgrade - обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
- full-upgrade - полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
- list - список установленных пакетов;
- search - поиск пакетов;
- show - посмотреть информацию о пакете;
- download - скачать пакет в текущую папку;
- edit-sources - открыть с настройками репозиториев в текстовом редакторе.
- source - скачать исходный код пакета в текущую папку;
- build-dep - установить зависимости необходимые для сборки выбранного пакета;
Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.
1. Обновление пакетов
Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:
sudo apt update
Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:
- Hit (Сущ) - список не изменился с момента предыдущей загрузки;
- Ign (Игн) - репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
- Get(Пол) - доступна новая версия и она будет загружена.
Когда кэш обновлен вы можете посмотреть для каких пакетов доступны обновления:
sudo apt list --upgradable
Аналогично можно посмотреть установленные пакеты apt:
sudo apt list --installed
Или всех доступных:
sudo apt list --all-versions
Затем можно обновить все пакеты в системе:
sudo apt full-upgrade
Где взять deb пакеты?
Дальше выбираем архитектуру:
И осталось получить deb файл для нашей системы:
Если у вас есть другой компьютер с интернетом или вы планируете устанавливать программы потом, а сейчас нужно только скачать deb пакеты, то это можно сделать с помощью apt:
apt download имя_пакета
Пакет будет сохранен в текущей папке и дальше вы сможете все без проблем установить. Но будет скачан только сам пакет, без его зависимостей. Зависимости мы можем получить только в системе с интернетом используя команду apt-rdepends:
apt download имя_пакета $(apt-rdepends имя_пакета|grep -v "^ ")
Теперь у вас есть не только пакет, но и все его зависимости.
2. Установка пакетов
Чтобы установить пакет apt используйте команду install, например, для установки программы Gimp используйте команду install:
sudo apt install gimp
Если пакет установился неверно и вы хотите его переустановить, можно использовать опцию --reinstall:
sudo apt install gimp --reinstall
Как видите, опции можно указывать не только перед командой, но и после неё, аналогично можно установить несколько пакетов сразу, например:
sudo apt install gimp inkskape -y
Чтобы не подтверждать установку вручную используем опцию -y. Допустим вы установили пакет с помощью dpkg и теперь хотите установить для него зависимости, запустите команду install без параметров с опцией -f или --fix-broken:
sudo apt install --fix-broken
Можно скачать deb пакет в текущую папку без установки:
apt download gimp
Скачивать пакеты надо от имени обычного пользователя, иначе тогда они не будут доступны для работы с ними. Если вам нужно установить пакет из файла, просто передайте путь к файлу команде install:
sudo apt install gimp_2.8.22-1_amd64.deb
Чтобы установить определенную версию пакета просто укажите нужную версию после имени пакета через знак =, например:
sudo apt install linux-headers-generic=4.15.0.20.23
Чтобы найти доступные версии можно использовать команду policy. Она отображает информацию о том какая версия установлена, а также какие версии доступны:
sudo apt policy linux-headers-generic
Если вы не знаете как точно называется пакет, можно выполнить поиск пакетов apt с помощью команды search:
sudo apt search gimp
Установка пакетов Aptitude
Aptitude - это более продвинутая программа для управления пакетами. Она поддерживает больше функций чем apt. Но для использования ее нужно установить:
sudo apt install aptitude
Кроме консольных команд, утилита имеет псевдографический интерфейс, с помощью которого намного удобнее управлять пакетами. Возможно, установка пакетов Debian здесь не так удобна, зато удалить лишние пакеты и посмотреть уже установленные самое оно. Для запуска утилиты выполните:
Пакеты разделены на удобные категории чтобы их можно было просто найти:
Чтобы посмотреть информацию о пакете нажмите "Enter", чтобы отметить пакет для установки, нажмите "+", а для удаления пакета - "-":
Далее чтобы установить или удалить отмеченные пакеты нажмите кнопку "g". Затем еще раз "g" для подтверждения:
Конечно, вам необязательно использовать интерфейс curses, если хотите, можете применять привычные консольные команды, утилита их тоже поддерживает. Синтаксис выполнения такой же, как и у apt, но команд намного больше:
- install - установить пакет, поддерживает регулярные выражения;
- remove - удалить пакет;
- purge - удалить пакет вместе с его конфигурацией;
- reinstall - переустановить пакет;
- build-depens - отобразить зависимости пакета;
- markauto - пометить пакет, как установленный автоматически в виде зависимости;
- hold - не обновлять этот пакет;
- keep - если для пакета намечено какое-либо действие - отменяет его;
- forget-new - удаляет всю информацию о пакете;
- update - обновление системы;
- safe-update - обновление системы без удаления конфликтующих пакетов, такие пакеты не будут обновлены;
- full-update - полное обновление системы;
- search - поиск пакетов;
- show - посмотреть информацию о пакете;
- source - скачать исходный код пакета;
- vesrsions - отобразить доступные версии пакета;
- why - отображает причину, почему пакет не может быть установлен;
- clean - удаляет лишние deb файлы;
- autoclean - удаляет все пакеты из кэша;
- download - скачать пакет, но не устанавливать.
Установка deb пакетов в debian с помощью aptitude будет выглядеть аналогично apt:
sudo aptitude install vlc
Опция -t здесь тоже актуальна:
sudo aptitude -t unstable install vlc
Установка deb пакетов Ubuntu
Установить Deb пакет Ubuntu не так уж сложно, для этого даже есть несколько утилит. Можно устанавливать как с помощью графического интерфейса, так и в терминале.
Самый простой способ установки - в графическом интерфейсе, с помощью центра приложений, с него и начнем. Откройте файловый менеджер в папке с пакетом:
Выполните двойной клик по deb пакету, далее откроется центр приложений, где вы посмотреть информацию о пакете и запустить установку нажав кнопку установить.
Установка программ Ubuntu с помощью центра приложений мне не очень нравится, он обычно очень долго думает и не всегда правильно открывает программу, но можно воспользоваться другой графической утилитой - gdebi. Сначала ее нужно установить:
sudo apt-get install gdebi
Теперь кликаем правой кнопкой мыши по файлу, выбираем открыть с помощью и gdebi:
Дальше осталось нажать кнопку установить и дождаться завершения установки пакета ubuntu. Программа автоматически установит все зависимости, если есть доступ к сети.
Установка deb из консоли Ubuntu выполняется не намного сложнее. Для этого используется утилита dpkg. Сначала переходим в папку куда был загружен deb пакет:
sudo dpkg -i имя_пакета.deb
Для этой команды доступны символы сокращений, например, можно написать вот так, чтобы установить все deb пакеты из этой директории:
$ sudo dpkg -i *.deb
Программа не умеет разрешать зависимости, даже если есть доступ к сети, она только устанавливает пакет, поэтому для установки зависимостей после установки deb ubuntu выполните:
$ sudo apt-get -f install
Теперь, когда зависимости были загружены, вы можете запускать и использовать программу.
Это не единственный способ установки пакетов ubuntu через терминал, утилиту gdebi тоже можно запустить таким способом:
sudo gdebi имя_пакета.deb
Возможно, вы не знали, но apt тоже умеет устанавливать deb пакеты и даже более чем успешно разрешает зависимости. Только утилите нужно передать полный путь к файлу для установки. Если вы находитесь в папке с deb пакетом выполните:
sudo apt install ./имя_пакета.deb
Программа автоматически установит все зависимости и больше ничего не придется выполнять.
Оцените статью:
Об авторе
4 комментария
ну блин, почему еще не показать как устанавливать пакеты непосредственно скачанных с сайтов в архиве tar кажеться??
Установка новых программ - один из самых важных моментов при работе с вашей системой. Раньше мы уже рассматривали добавление PPA в систему и установку программ из исходников. Но даже в PPA есть далеко не все пакеты, а установка из исходников слишком сложна для новичков.
Нередко возникает необходимость поставить программу, для которой уже есть собранные deb пакеты в интернете. Это может быть какая-нибудь не очень популярная программа или даже драйвера, которые вы скачали и хотите установить на компьютер где нет сети. На компьютере без сети установка программ с флешки ubuntu может стать единственным решением. В этой статье будет рассмотрена установка deb пакетов в ubuntu. Мы рассмотрим где их взять и как установить deb в ubuntu.
Читайте также: