Пакетные менеджеры linux debian

Управление пакетами в Debian

Базовая конфигурация

APT использует файл, который содержит список «источников» из которых могут быть получены пакеты. Это файл /etc/apt/sources.list. Записи в этом файл обычно следуют формату:

Конечно, указанные выше записи приведены только для примера и не должны использоваться. Первое слово каждой линии, deb или deb-src, показывают тип архива: является ли эта строка ссылкой на бинарные пакеты (deb), которые являются прекомпилированными пакетами, которые мы обычно используем, или это это ссылки на исходные коды оригинальных программ, плюс контрольные файлы Debian (.dsc) и diff.gz, содержащие изменения необходимы для «дебианизации» программы.

В Debian версии 6.0.5, установленного загрузкой файлов из интернета, sources.list имеет следующее содержание:

Здесь представлены строки, необходимые для базовой установки Debian. Первый блок указывает на региональный архив основных файлов, второй — на обновления безопасности, а третий на обновления Debian.

Строки, начинающиеся с deb — ссылки на архивы бинарных пакетов, начинающиеся с deb-src — ссылки на архивы исходных кодов пакетов.

Файл /etc/apt/sources.list может содержать различные типы строк. APT умеет использовать архивы следующих типов: http, ftp, file (локальные файлы, то есть директории, содержащие примонтированные файловые системы типа ISO9660) и ssh, насколько мне известно.

Не забудьте запустить команду apt-get update после изменения файла /etc/apt/sources.list. Вы должны сделать это чтобы APT мог получить списки пакетов из указанных вам источников. Когда вы устанавливаете пакет APT получает необходимые файлы с хостов перечисленных в /etc/apt/sources.list, сохраняет их в локальном репозитарии (/var/cache/apt/archives/) и переходит к установке.

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

dpkg – установщик пакетных файлов Debian
apt-get – утилита командной строки для APT
aptitude – имеет как псевдографический интерфейс, так и вариант для командной строки
synaptic – графический (gui) интерфейс для APT
dselect – менеджер пакетов на основе меню
tasksel – установщик задач

Для установки программ с помощью apt выполните следующее:

Утилита имеет следующие параметры:

-h — отобразить справку
-d — только загрузить пакеты, но не устанавливать их
-f — попытаться продолжить, если тесты целостности не пройдены
-s — ничего не делать, только провести симуляцию установки
-y — отвечать Да на все вопросы и ничего не спрашивать
-u — также отобразить список обновляемых пакетов.

Примеры использования apt-get

Если вы как-либо повредили установленный пакет или просто хотите обновить пакет до последней версии, которая доступна, вы можете использовать параметр —reinstall, к примеру, так:

Обновление списка пакетов из источников, перечисленных в вашем файле sources.list:

Обновление программ с помощью APT:

Чтобы изменить список зеркал APT:

Искать пакет в локальном кэше:

Удалить программу с помощью APT:

Обновить список пакетов:

Обновить доступные списки пакетов:

Обновить все установленные пакеты:

Показать все установленные и удалённые пакеты:

Показать статус установки пакета:

Показать все пакеты, удовлетворяющие маске:

Показать пакеты, которые содержат строку:

Показать список файлов в пакете:

Показать статус пакета:

Показать детали пакета:

Показать связанные пакеты:

Установить пакет из deb файла:

Вычистить пакет из системы вместе с конфигурационными файлами:

Повторно запустить конфигурацию для пакета:

Получить исходные коды пакета:

Определяет зависимости для исходников и устанавливает их, если нужно:

Установить пакет из указанного релиза:

Предотвращает загрузку указанной программы при старте системы:

Параметр -u показывает список обновляемых пакетов:

Как узнать, какие пакеты могут быть обновлены?

apt-show-versions — это программа, которая показывает какие пакеты в системе могут быть обновлены и, кроме того, некоторую полезную информацию.

Управление пакетами с помощью aptitude

Aptitude является в настоящий момент предпочтительной системой для работы с APT (Advanced Package Tool). Она запоминает, какие пакеты были установлены напрямую Вами, а какие пакеты были установлены за счет зависимостей. Недавние пакеты будут автоматически удалены системой aptitude, когда они будут уже не будут требоваться какому-либо пакету, установленному напрямую. Aptitude имеет продвинутые функции фильтрации пакетов, но они могут быть сложны в настройке.

Читайте также:  Отсутствует модуль windows media component

Обновление локального кеша доступных пакетов (ранее: apt-get update):

Обновить доступные пакеты (ранее: apt-get upgrade):

Обновить доступные пакеты, даже если это значит удаление части пакетов (ранее: apt-get dist-upgrade):

Установить пакет (ранее: apt-get install):

Удалить пакет (ранее: apt-get remove):

Удалить пакет и конфигурационные файлы (ранее: apt-get –purge remove):

Искать пакет с текстом «string» в имени или описании (ранее: apt-cache search string):

Показать подробную информацию о пакете (ранее: apt-cache show pkgname):

Удалить загруженные файлы пакетов (ранее: apt-get clean):

Удалить только файлы пакетов старых версий, но пакеты текущих версий оставить (ранее: apt-get autoclean):

Зафиксировать пакет на текущей версии и не обновлять его автоматически (ранее: не понятная команда echo-to-file):

Чтобы снять фиксацию следует использовать параметр unhold.

Оптимизированный sources.list

Вообще говоря, усилия для создания оптимизированного sources.list не дают особого улучшения.

apt-spy создает sources.list автоматически, на основе задержек и пропускной способности. netselect-apt создает более полный sources.list, но использует более простой метод выбора лучшего зеркала (сравнения времени пингов).

Команда dpkg-divert

Файловые «отклонения» (divertions) — это способ заставить dpkg не устанавливать файл в директорию по умолчанию, но устанавливать в измененную директорию. «Отклонения» могут быть использованы с помощью дебиановских скриптов управления пакетами для перемещения файла в другое место когда он вызывает конфликты. Системные администраторы также могут использовать «отклонение» для подавления конфигурационного файла пакета или в случае, когда некоторые файлы (которые не помечены как conffiles) должны быть сохранены системой dpkg во время установки новой версии пакета, содержащего эти файлы.

Что делать, если команда dpkg сломана

Сломанный dpkg делает невозможным установку любых .deb файлов. Процедура, описанная ниже, поможет вам в этой ситуации. Вам понадобится любая команда для браузинга сайтов, к примеру, links.

Для архитектуры i386, в URL может быть использована также ссылка http://packages.debian.org/dpkg

Локальный архив пакетов

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

Локальный deb репозитарий, похожий на официальный архив Debian, может быть создан следующим образом:

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

К этим архивам можно получить удаленный доступ, если предоставить доступ к этим директориям посредством HTTP или FTP и внести соответствующие изменения в файл /etc/apt/sources.list

Команда auto-apt

auto-apt — это приложение для установки пакетов по требованию.

Основные ошибки при управлении пакетами

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

1. Если Вы получили представленное ниже сообщение, когда пытались выполнить команду вида apt-get install package

то вы забыли выполнить команду apt-get update после того, как внесли изменения в файл /etc/apt/sources.list.

2. Если ошибка выглядит как эта:

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

Существует ошибка похожая на представленную выше, которая возникает когда вы запускаете две копии apt-get в одно и то же время или если вы даже пытаетесь запустить apt-get пока активен процесс dpkg. Единственный метод, который может использоваться одновременно с другими — это метод source.

3. Если установка прерывается в середине процесса и вы обнаруживаете, что более нет возможности устанавливать или удалять пакеты, попробуйте воспользоваться следующими двумя командами:

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

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

Читайте также:  Операционная система windows создание папок документов

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Управление пакетами в Debian-подобных операционных системах

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Установка, удаление, обновление пакетов. Поиск пакетов и их зависимостей. Получение полной информации о пакетах.

Dpkg утилита управления пакетами в Debian системах и во всех операционных системах которые от нее пошли это mint, Ubuntu и другие. Утилита достаточно большая и работать с ней не очень удобно, поэтому обычно предпочитают использовать более распространённый пакетный менеджер apt. Сама утилита имеет большое количество ключей, в добавок значение ключей зависит от регистра ключа. Заглавная буква в ключе или прописная, имеют разный функционал. Основные ключи:

  • -I перечень пакетов в системе;
  • -L перечень файлов в пакетах;
  • -s информация о статусе пакета;
  • -S поиск пакета, содержащего данный файл;
  • -i установка пакета;
  • -I информация о пакете в файле *.deb;
  • -r простое удаление пакета;
  • -P удаление пакета вместе с конфигурационными файлами.

Dpkg-reconfigure переконфигурация пакета. Можно сказать, что это мастер настройки пакета. Полезная утилита.

Теперь посмотрим, как это работает вводим dpkg —help :

Dpkg сложная низкоуровневая утилита, имеет кучу настроек, на скриншоте приведен вывод справки по ней. Если мы просмотрим внимательно то, в конце справки мы увидим рекомендацию использовать менеджер управления пакетами apt или aptitude. Утилита dpkg используется для каких-то очень тонких настроек пакетов. Можно посмотреть список установленных пакетов в системе dpkg -l . В системе их установлено их достаточно много, поэтому для поиска нужного использовать grep.

dpkg -s mc посмотрим статус пакета midnight commander.

И видим, что пакет mc, он установлен, размер его, архитектуру (разрядность), зависимости. Используя, ключ S, мы можем посмотреть в какой пакет входит данная программа. Программа mc входит во множество пакетов. А вот, например, /bin/ls входит в базовые утилиты ядра, о чем вы можете убедится, набрав команду с ключом S, т.е в базовый состав любого дистрибутива Ubuntu.

Можем посмотреть более подробно работу с пакетом, для этого можно скачать какой-нибудь пакет, например, webmin небольшая графическая утилита для управления unix сервером. Скачиваем и кладем, например, в /opt. Переходим в директорию, где находится наш пакет cd /opt, далее мы можем посмотреть информацию по данному пакету dpkg I /opt/ webmin_1.955_all.deb . Мы можем увидеть версию пакета и краткое описание, в котором говорится, что при установке будет установлен вебсервер и мы получим через него управление к базовым сервисам.

Установим пакет dpkg i /opt/ webmin_1.955_all.deb . dpkg не умеет ставить зависимости именно этим он плох. Есть ключи, которые позволяют ставить зависимости, но по умолчанию он не умеет.

При установке система выдала ошибки, на то что необходимые зависимости не установлены, но набирая информацию о пакете можно увидеть, что пакет webmin уже установлен. Но он не будет работать т. к. зависимости необходимые для работы не установились, но сам dpkg его установил.

Можно его удалить командой dpkg r webmin , т. к. мы конфигураций не писали и ничего с данным пакетом не делали, если бы мы уже поработали необходимо было бы удалять через ключ p. После этой команды если посмотреть статус пакета, то мы увидим deinstall т.е удален.

Еще можно посмотреть команду dpkg-reconfigure . Используется для переконфигурирования пакетов. Например, можно реконфигурировать временную зону dpkg-reconfigure tzdata . Таким образом открывается удобный мастер и мы можем прям налету изменить параметры пакета.

Еще надо сказать, что у dpkg , есть свой конфигурационный файл. Располагается он /etc/dpkg/dpkg.cfg

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

В основном используется несколько утилит:

  • apt-get — утилита для скачивания и установки пакетов;
  • apt-cache утилита для поиска пакетов;
  • aptitude — утилита полного управления пакетами с опцией псевдографики;
Читайте также:  Безопасное извлечение устройства жесткий диск убрать windows 10

Для работы с пакетным менеджером нам так же понадобится понятие репозитория.

  • /etc/apt/source.list — список репозиториев.

Вот так у нас выглядит файл справки по apt-get —help . У программы, как видно есть свои ключи. Теперь попробуем сделать apt-get update данная команда обновляет список всех репозиториев, команда проверяет, какие новые места появились откуда можно скачать обновления, т.е. просто обновляется информация об источниках обновлений. Если мы хотим поискать обновление пакетов и их установить, то мы используем команду apt-get upgrade. Данная команда проверяет все установленное ПО на наличие обновлений и, если находит предлагает установить обновление. Данную процедуру рекомендуется делать, сразу после установки свежей Операционной системы. В дальнейшем перед данной операции обязательно сделайте Резервную копию данных!

Для установки любого дополнительного программного обеспечения мы можем воспользоваться apt-get install gmail-notify . Для удаления мы можем использовать ключ remove.

При инсталляции программного обеспечения зачастую ставится куча зависимостей, которые необходимы для корректной работы основного программного пакета, а при удалении с ключом remove данные зависимости остаются. Для того чтобы очистить систему от неиспользуемых зависимостей рекомендуется использовать ключ apt-get autoremove .

Теперь мы можем посмотреть apt-cache, как работает. Для начала справку. apt-get help

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

Попробуем воспользоваться поиском. apt-cache search gmail ищем все пакеты, где может встречаться «gmail«.

Мы можем посмотреть информацию по какому-либо пакету например: apt-cache show gnome-gmail . Утилита показывает размер, название, кто произвел, архитектура и краткое описание пакета.

С помощью команды и ключа apt-cache depends gnome-gmail мы можем посмотреть от каких зависимостей зависит пакет. Т.е. без каких пакетов программное обеспечение работать не будет.

Мы можем посмотреть обратные зависимости apt-cache rdepends gnome-gmail т.е. кто зависит от данного программного обеспечения.

Далее посмотрим утилиту aptitude.

Данная утилита по умолчанию не идет и ее необходимо установить apt-get install aptitude . Посмотрим справку по данной утилите aptitude help .

Так же мы можем увидеть, что это такая же программа по управлению пакетами как apt-get и apt-cache . Те же самые команды и ключи, за исключением того, что здесь есть графика и мы можем написать aptitude и попасть в графическую оболочку.

Можно зайти, например, в не установленные пакеты и установить, что необходимо. Для этого необходимо встать на интересующий пакет и нажать знак плюса и нажимаем g, для произведения действия. Для выхода из графического режима используем q.

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

Смотрим cat /etc/apt/sources.list

Вот в таком виде хранятся репозитории в Ubuntu, которые подключены. Хранилища пакетов. У нас есть 2 вида указателей. Deb файлы исходники и deb-src файлы исходники. Далее у каждой строчки указателе есть ссылка в интернете и далее описание дистрибутива. Далее есть несколько видов репозиториев. Main — это основной репозиторий. Не требует установки дополнительных пакетов и является официально поддерживаемым от производителей Ubuntu. Есть пакеты, которые помечены restricted это пакеты, которые содержат частично свободное программное обеспечение, т.е. не полностью свободное программное обеспечение. Есть еще universe это дистрибутивы Ubuntu управляемые сообществом официально не поддерживаются, но есть куча энтузиастов. Есть пакеты multiverse — это пакеты, которые не соответствуют политики свободно распространяемого программного обеспечения. Ничего не мешает нам дописать свои репозитории. Это можно сделать через специальную команду из консоли или просто отредактировав файл. Это необходимо делать, когда у нас есть, какое-либо программное обеспечение, которое не обновляется в составе операционной системы. Если мы добавили репозиторий самостоятельно, то обязательно необходимо сделать apt-get update . Для того, чтобы операционная система перечитала список репозиториев.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Источник

Оцените статью