- Установка deb пакетов из консоли
- Содержание
- Установка deb пакетов из консоли
- Удаление deb пакетов из консоли
- Стандартная установка пакетов из репозитория
- Настройка репозитория системы
- Установка пакетов
- Linux установка пакета со всеми зависимостями
- Как применять это руководство
- Описание инструментов управления пакетами для Debian
- Apt-get
- Apt-cache
- Aptitude
- Taskel
- Другие
- Обновление кеша пакетов и самой системы
- Обновление локального кеша пакетов
- Обновление пакетов без их удаления
- Обновление пакетов с удалением по необходимости
- Установка и скачивание пакетов
- Поиск пакетов
- Установка пакета из хранилищ
- Установка определенной версии пакета из хранилища
- Переустановка пакетов
- Холостой запуск действий с пакетами
- Отключение запроса на подтверждение действий
- Восстановление испорченных зависимостей и пакетов
- Загрузка пакетов из хранилища
- Загрузка исходного кода пакета
- Установка .deb пакета
- Установка программных “задач” при помощи Tasksel
- Удаление пакетов и их файлов
- Удаление пакета
- Удаление пакета и связанного с ним файлов
- Автоматическое удаление невостребованных зависимостей
- Очистка устаревших загруженных пакетов
- Получение информации о пакетах
- Отображение информации о пакете
- Отображение информации о .deb пакете
- Отображение прямых и обратных зависимостей
- Вывод версий установленных и доступных к установке пакетов
- Вывод установленных пакетов при помощи dpkg -l
- Вывод состояния пакета при помощи фильтров
- Вывод установленных пакетов при помощи dpkg —get-selections
- Поиск среди установленных пакетов
- Вывод установленных пакетом файлов
- Поиск пакета, установленного по адресу
- Обнаружение пакета, ответственного за файл, без его установки
- Передача списка пакетов между системами
- Экспорт списка пакетов
- Импорт списка пакетов
- Добавление хранилищ и PPA
- Добавление PPA
- Добавление хранилища
- Заключение
Установка deb пакетов из консоли
Содержание
Рассмотрим, как происходит установка deb пакетов из консоли на примере Ubuntu Linux если вы скачали пакет. Это может быть редкая программа, не представленная официально либо вы рискнули поставить более свежую версию игнорируя зависимости. Напомню, что в Ubuntu и Debian имеются тестовые ветки с более свежим, но менее стабильным софтом.
Установка deb пакетов из консоли
Откройте каталог со скачанным файлом, кликните правой кнопкой мыши и выберите «Открыть в терминале»:
Установка deb пакетов из консоли производится следующей командой:
Вероятнее всего вы увидите ошибку зависимостей. Продемонстрирую на примере пакета nmap в свежеустановленной системе Ubuntu 18.04:
Исправить это довольно просто, введите команду проверки зависимостей:
Зависимости успешно добавлены в систему и установленный пакет стабильно работает:
Удаление deb пакетов из консоли
Или если хотите удалить пакет со всеми его настройками:
После удаления установленного вручную пакета остались его зависимости. Чтобы навести порядок в системе воспользуемся командой:
Используйте в консоли клавишу «Tab» один или несколько раз чтобы автоматически продолжить путь к директории или файлу. Это не только ускоряет работу в терминале, но также избавляет от лишних ошибок при наборе команд. Авто продление «Tab» работает не только при наборе пути к файлу. Его можно применять для запуска любой программы если она уже установлена в системе. Просто наберите первые буквы из названия пакета и продолжите нажатием на «Tab».
Стандартная установка пакетов из репозитория
В операционных системах Linux есть очень гибкая консоль, которая позволяет устанавливать пакеты из централизованного хранилища – репозитория. Не нужно искать подходящую программу на сомнительных ресурсах по интернету. Достаточно ввести пару команд и установить пакет со всеми его зависимостями из проверенного официального источника.
Настройка репозитория системы
Примеры с консолью будут идентичны для OS Debian с рабочим окружением Gnome на которой основана Ubuntu. Откройте консоль нажав комбинацию клавиш Ctrl + Alt + T (для Ubuntu Linux). Либо щёлкните на рабочем столе правой клавишей мыши и выберите «Открыть терминал». Наберите название текстового редактора, и путь к открываемому файлу:
Введите свой пароль и в открывшемся окне редактора вы увидите список источников для установки пакетов. Прежде всего посмотрите, что находится в вашем списке репозиториев. Сделайте доступным проприетарное (коммерческое) программное обеспечение и ПО от партнёров Canonical. Там могут находиться различные драйверы видео и множество полезных утилит с закрытым исходным кодом:
Раскомментируйте нужную строку – удалите решётку # перед словом deb, сохраните изменения в редакторе. Затем вернитесь в консоль и наберите команду:
Терминал Linux сохраняет историю введённых ранее команд. Используйте стрелки вверх-вниз на клавиатуре для быстрого перебора и вывода предыдущих записей.
Выше я показываю, как вы можете отредактировать непосредственно сам файл через консоль. Но можно воспользоваться и графической утилитой:
Проставьте нужные галочки на источниках ПО на первой и второй вкладках. Нажмите внизу на кнопку «Закрыть» и система сама предложит обновить список пакетов: выберите «Обновить».
Установка пакетов
Теперь можно приступать к установке программ. Вы находитесь на сайте, который посвящён этому процессу. Здесь имеется огромная база (свыше 50 000) пакетов для Ubuntu / Linux Mint и Debian дистрибутивов.
Просто откройте поиск и введите название пакета, который хотите установить из официального репозитория системы. Команду sudo apt update необходимо ввести однократно, перед каждой последующей установкой её вводить не требуется.
На главной странице сайта подобраны категории всех пакетов для более удобной навигации.
Источник
Linux установка пакета со всеми зависимостями
Одно из основных преимуществ Linux систем — это управление пакетами. Формат самих пакетов и способы управления ими отличается в разных дистрибутивах, но, тем не менее, можно выделить два основных направления.
В дистрибутивах на базе RHEL используется RPM формат пакетов, а управлять ими можно при помощи rpm или yum. Второе направление используется в операционных системах семейства Debian (например Ubuntu). В них применяется формат пакетов deb, а роль инструментов, помогающих управлять ими, apt и dpkg. Именно вторую группу мы и обсудим в статье. В этой статье-шпаргалке мы пройдемся по всем основным инструментам для управления пакетами, которыми пользуются системные администраторы на Debian и Ubuntu. Сохранив эту статью вы сможете всегда к ней обратиться при возникновении проблем с пакетами.
Как применять это руководство
Мы рассмотрим часто применяемые пользовательские инструменты в Debian и Ubuntu системах. Оставим инструменты для создания пакетов, так как они сильно различаются от дистрибутива к дистрибутиву в силу различий в лицензионных соглашениях.
Каждый отдельный инструмент мы рассмотрим в разделе “Описание инструментов управления пакетами для Debian”. Вся остальная часть руководства будет основываться больше на отдельных функциях, чем на инструменте как таковом. Такое построение руководства более логично, так как сначала вы сталкиваетесь с задачей, а уже потом ищите инструменты для её решения.
Не забывайте про следующие моменты, обращаясь к данному руководству:
- Если вы не знакомы с инструментами управления пакетами для Debian, то полностью прочтите раздел “Описание инструментов управления пакетами для Debian”.
- Каждый раздел руководства можно использовать по отдельности. Поэтому можете сразу обращаться к той части, которая вам нужна в текущий момент.
- Используйте содержание к руководству для поиска важной вам информации.
- Копируйте команды в терминал вашей ОС, чтобы видеть результат для вашей ОС.
Описание инструментов управления пакетами для Debian
Debian/Ubuntu системы используют довольно небольшое количество инструментов для управления пакетами.
Большинство из них имеют много общего и работают с одной БД пакетов. Одни инструменты используют довольно высокий уровень абстрагирования от систем управления, другие же предлагают низкоуровневый доступ.
Apt-get
apt-get, пожалуй, наиболее часто используемый инструмент. Его основные задачи — обеспечения интерфейса с удаленными хранилищами пакетов, которыми управляют разработчики ОС, и выполнение базовых операций с ними. Так же при помощи этой команды можно обновить локальный кеш пакетов, установить новые или удалить старые пакеты.
Чаще всего, apt-get применяется для обновления кеша и выполнения операций на рабочей системе.
Apt-cache
Другой незаменимый инструмент из семейства apt — apt-cache . С его помощью вы сможете получить информацию о доступных пакетах из локального кеша.
Например, если вам необходимо установить определенный пакет или найти подходящий инструмент, то начать поиск стоит именно здесь. Вы легко найдете информацию о доступной версии пакета, прямых и обратных зависимостях.
Aptitude
Объединяет в себе функционал двух предыдущих инструментов. Он может работать не только в командном режиме, но и имеет интерфейс, построенный на базе библиотеки ncurses . При работе в командном режиме aptitude почти полностью копирует команды apt-get и apt-cache . Поэтому мы не будем отдельно обсуждать этот инструмент. По идеи вы всегда можете заменить apt-get и apt-cache на aptitude .
Основное отличие dpkg от рассмотренных инструментов — это возможность работы напрямую с пакетами deb, т.е. без удаленных хранилищ. По идее, все выше описанные инструменты используют dpkg для своей работы.
В отличии от инструментов apt-* dpkg автоматически не устанавливает требуемые зависимости. Основные задачи dpkg — работа с .deb пакетами напрямую и получение полной информации о пакете и его структуре. Хотя при помощи dpkg можно получить информацию об установленных пакетах в системе, его первостепенная задача — это работа с отдельными пакетами.
Taskel
Taskel стоит особняком в этом ряду. Эта программа объединяет пакеты, основываясь на выполнении определенной задачи.
Вы можете выбрать задачу как при помощи текстового интерфейса, так и отдельного пакета. Конечно такой подход не назовешь кропотливым, но когда вам надо быстро установить ряд пакетов, он может подойти как нельзя лучше.
Другие
Конечно на этом ряд инструментов для управления пакетами не заканчивается. Существуют еще и другие программы с отличающимся функционалом и манерой предоставления информации. Мы будем к ним обращаться только по необходимости, но не стоит про них забывать. Очень полезными могут оказаться такие инструменты как apt-file , dselect и gdebi .
Обновление кеша пакетов и самой системы
В Debian/Ubuntu системах реализован очень удобный подход не только для поддержания актуальности списка пакетов, но и для их обновления.
Обновление локального кеша пакетов
Удаленные хранилища, в которых хранятся пакеты, постоянно обновляются. А так как все инструменты управления пакетами работают с локальным кешем, следует следить за актуальностью кеша.
В общем, перед тем как начать работу с пакетами, всегда рекомендуется для начала обновить кеш. Более того, некоторые команды могут закончиться неудачно, если информация о пакетах сильно устарела.
Для обновления кеша воспользуйтесь командой apt-get и её подкомандой update :
Информация о доступных пакетах для вашей операционной системы полностью обновится.
Обновление пакетов без их удаления
Команда apt предоставляет вам возможность легко поддерживать актуальность установленных пакетов.
Она различает два типа обновления. Первый (будет рассмотрен в этом разделе) — используется для обновления пакетов, не требующих предварительного удаления. Для описания процедуры обновления, допускающей удаление и замену пакетов по необходимости, обращайтесь к разделу ниже.
Этот момент может иметь довольно большое значение, в случае, когда вам необходимо сохранить определенные установленные пакеты. Тем не менее, иногда для обновления требуется удаление других пакетов с целью избежания конфликтов. Следующая команда игнорирует обновления требующие удаления других пакетов:
После выполнения этой команды вы все пакеты, чье обновление не требует удаления других пакетов, будут обновлены.
Обновление пакетов с удалением по необходимости
Команда apt предоставляет вам возможность легко поддерживать актуальность установленных пакетов.
Она различает два типа обновления. Первый (будет рассмотрен в этом разделе) — используется для обновления пакетов, не требующих предварительного удаления. Эта процедура описана в разделе выше.
Другой подход (описан в этом разделе) — обновление всех пакетов, даже если это требует удаления уже имеющихся в системе пакетов. Такая ситуация часто возникает, так как зависимости пакетов довольно часто изменяются.
Чаще всего, удаляемые пакеты заменяются на аналоги, поэтому эта операция, как правило, безопасна. Тем не менее, всегда обращайте внимание на список удаляемых пакетов для избежания неожиданностей. Для выполнения такого типа обновления вам понадобится следующая команда:
В итоге получите полностью обновленную систему.
Установка и скачивание пакетов
Одна из основных задач системы управления пакетами — упрощение процесса скачивания и установки пакетов.
Поиск пакетов
Первый шаг при установке пакетов — поиск необходимого пакета в хранилищах. Большинство команд apt работает напрямую с кешем вашей локальной машины. Таким образом вы экономите на времени выполнения и сетевом трафике.
Поиск пакетов — это единственная операция, которая работает с локальным кешем. Для выполнения поиска вам потребуется команда apt-cache . Не забывайте, что кеш необходимо предварительно обновить командой sudo apt-get update :
Так как эта команда просто ищет необходимую информацию о пакете, ей не требуются права администратора. В качестве результата поиска вы получите название подходящего пакета и его полное описание.
Например, если вы ищете htop , то вы увидите следующий результат:
Как вы видите, помимо пакета htop , мы получили два других пакета, в описании которых присутствует слово htop (описание в примере сокращено).
Установка пакета из хранилищ
Для установки пакета из хранилищ со всеми необходимыми зависимостями можно воспользоваться командой apt-get install .
В качестве аргументов команде следует передать название пакета или пакетов точно так, как они названы в хранилищах.
Можно установить несколько пакетов за раз, разделив их названия пробелом:
Если для установки требуемых пакетов нужны определенные зависимости, то их список будет выведен и потребуется подтверждение действий. Пример вывода:
Как видите, хотя мы устанавливаем только apache2, пакет apache2-data устанавливается в качестве зависимости. В это случае вы можете просто нажать Enter или Y для подтверждения действия или N для отмены.
Установка определенной версии пакета из хранилища
Если вам нужна определенная версия пакета, то указать её вы можете через знак равенства после имени пакета:
В этом случае версия должна совпадать с одной из доступных из хранилища. Чтобы получить список доступных версий выполните следующую команду:
Переустановка пакетов
Многие пакеты подразумевают выполнение пост-установочных скриптов. Чаще всего администратору компьютера приходится выбирать определенные варианты настройки пакета. Если, после установки, вам потребуется снова выполнить эти скрипты, то можно воспользоваться командой dpkg-reconfigure . Она находит указанный вами пакет и исполняет все требуемые скрипты.
Таким образом вы получите доступ к тем же (а иногда и к другим) вариантам настройки пакета.
Холостой запуск действий с пакетами
Довольно часто вам понадобится увидеть результат действий с пакетом без внесения каких либо изменений в систему. Команда apt позволяет сделать это при помощи ключа -s . Например, чтобы увидеть, что произойдет при установке пакета, можно выполнить следующую команду:
В результате вы увидите полный список требуемых зависимостей и изменений для установки пакета. Таким образом, вы можете увидеть что произойдет в системе, как если бы вы выполнили эту команду с правами администратора (sudo).
Например, чтобы увидеть что произойдет при установке apache2, надо выполнить следующее:
Вы видите полный список пакетов и их версий, которые будут установлены, но это всего лишь симуляция процесса.
Такой же подход можно применять и к другим процедурам, например полному обновлению системы:
Отключение запроса на подтверждение действий
По-умолчанию, apt требуется подтверждение от пользователя по многим действиям. К ним относятся установка зависимостей и обновление пакетов.
Чтобы не отвечать каждый раз на эти запросы, вы можете сразу указать ваш ответ по-умолчанию, указав флаг -y :
В результате все пакеты будут установлены без лишних вопросов к администратору. Также можно поступить и при обновлении системы:
Восстановление испорченных зависимостей и пакетов
Случается так, что установка обрывается в силу проблем с зависимостями либо по другим причинам. Например, вы устанавливаете .deb пакет при помощи dpkg , не указав все необходимые зависимости.
Команда apt-get попробует исправить ситуацию, если ей передать флаг -f :
Apt попробует найти необходимые зависимости и установить их. При столкновении с подобными проблемами, первое, что вам следует сделать это выполнить вышеописанную команду.
Загрузка пакетов из хранилища
Иногда вам требуется скачать сам пакет без установки. Вы можете это легко сделать указав подкоманду download команде apt-get .
Так как вы не вносите изменений в систему, права администратора не требуются.
Пакет будет загружен в текущий рабочий каталог.
Загрузка исходного кода пакета
Команда apt может загрузить не только сам .deb пакет, но и его исходный код, если соответствующая информация указана в списке используемых вами хранилищ.
Для загрузки исходного кода соответствующая deb-src строка должна быть указана в файле source.list для apt . Более подробно вы можете почитать об этом в соответствующем разделе руководства.
После выполнения требуемых действий, исходный код можно скачать следующей командой:
Файлы будут загружены в текущий каталог. Чаще всего это — каталог пакета, файл описания dsc и сам пакет сжатый архиватором tar.
Такой подход может быть полезен, если вы хотите внести свои изменения в имеющийся пакет.
Установка .deb пакета
Установка пакетов из хранилищ является предпочитаемым вариантом, но иногда разработчика предоставляют только сам .deb пакет.
Для их установки вам понадобится dpkg , который в основном работает с отдельными пакетам. Эта команда не обращается к хранилищам, а ищет необходимый пакет по указанному вами пути:
Важно помнить, что dpkg не обрабатывает зависимости автоматически. То есть при обнаружении проблем с зависимостями, установка прекратится. Но, к счастью, dpkg выводит список требуемых зависимостей, которые можно установить в дальнейшем при помощи:
Все необходимые пакеты будут установлены.
Установка программных “задач” при помощи Tasksel
Большие наборы пакетов можно установить при помощи, так называемых, “задач”. Задачи — набор пакетов, которые вместе образуют определенную программную среду. Примером таких задач служат сервер LAMP, окружение рабочего стола или сервера приложений.
Не на всех системах tasksel установлен по-умолчанию. Установить его можно следующим образом:
Выбрать группу задач можно в интерактивном режиме командой:
Вы увидите интерфейс, позволяющий вам выбрать нужную задачу и выполнить требуемые изменения.
Список установленных и доступных к установке задач можно получить следующим образом:
Далее можно установить задачу из командной строки выполнив:
Удаление пакетов и их файлов
Удаление пакетов так же можно выполнить при помощи систем управления пакетами. В этом разделе мы рассмотрим как удалить пакеты и файлы, оставшиеся после них.
Удаление пакета
Для удаления пакета требуется выполнить подкоманду remove команды apt-get . Большинство файлов, связанных с пакетом будут удалены, за одним большим исключением. Все файлы настройки остаются нетронутыми, чтобы вы могли легко восстановить состояния пакета в случае его повторной установки. Такой подход очень удобен, так как вы сохраняете все настройки, если случайно удалили пакет.
Для удаления необходимо указать название пакета:
Пакет будет удален, а файлы настройки сохранены.
Удаление пакета и связанного с ним файлов
Если вам необходимо удалить пакет со всеми связанными с ним файлами, включая конфигурационные, то используйте подкоманду purge .
В отличии от remove , purge удаляет все файлы. Такой подход может быть полезен в случае когда вам необходимо создать настройки заново и начать с чистого листа. Не забывайте, что удалив файлы настройки, восстановить вы их не сможете.
Теперь при переустановке пакета будет использованы настройки по-умолчанию.
Автоматическое удаление невостребованных зависимостей
При использовании apt-get remove или apt-get purge вы удаляете указанный вами пакет. Но все зависимости, что были установлены ранее для этого пакета остаются нетронутыми. Для удаления таких брошенных зависимостей используйте команду autoremove :
Чтобы удалить конфигурационные файлы зависимых пакетов, используйте ключ —purge . Таким образом все лишние файлы будут удалены. Действие идентично команде purge .
Очистка устаревших загруженных пакетов
По мере добавления новых пакетов в хранилища, некоторые из них становятся устаревшими. Команда apt-get способна удалить файлы на вашем компьютере, которые связаны с устаревшими пакетами при помощи подкоманды autoclean .
Таким образом вы поддерживаете кеш на своем сервере в актуальном состоянии и избавляетесь от ненужных файлов, экономя дисковое пространство.
Получение информации о пакетах
Каждый пакет содержит в себе довольное большое количество мета информации, доступ к которой можно получить средствами инструментов управления пакетами.
Отображение информации о пакете
Чтобы просмотреть информацию о пакете из хранилища, воспользуйтесь подкомандой show команды apt-cache . Команде достаточно передать название пакета из хранилища.
Команда выведет вам подробную информацию о пакете, включая его зависимости, версию, архитектуру, конфликты, полное название пакета, размер пакета в установленном виде и др. информацию.
Чтобы вывести полную информацию о пакете, включая полный список обратных зависимостей (то есть какие пакеты зависят от искомого), используйте showpkg . Вы увидите довольно много полезной информации о связях между пакетами.
Отображение информации о .deb пакете
Чтобы получить информацию о deb пакете используйте ключ —info команды dpkg . Так же следует указать путь к deb файлу.
Вы увидите различную мета информацию, включая название пакета, его версию, архитектуру, размер, список зависимостей, полное описание и возможные конфликты.
Отображение прямых и обратных зависимостей
Для вывода всех зависимостей следует воспользоваться командой apt-cache c подкомандой depends .
Вы получите полный список жестких зависимостей, рекомендаций и конфликтных пакетов. Для вывода списка обратных зависимостей используйте подкоманду rdepends
Вывод версий установленных и доступных к установке пакетов
Довольно часто в хранилище находятся несколько версий пакетов, причем одна из них устанавливается по-умолчанию. Чтобы получить список доступных версий, используйте подкоманду policy команды apt-cache
Вы увидите номер установленной версии, версию по-умолчанию, если не указать её отдельно, а так же таблицу версий с указанием приоритета.
Таким образом вы видите какая версия пакета будет установлена и какие вы можете выбрать. Так как вы также получите адреса хранилищ где хранятся пакеты, что даст вам представление о дополнительных хранилищах пакетов.
Вывод установленных пакетов при помощи dpkg -l
Существует несколько способов получить список установленных пакетов, выбор которого зависит от необходимой вам детальности.
Первый метод — использование dpkg или dpkg-query с ключом -l . Вывод команд идентичен. При использовании без аргументов вы получите список всех установленных и частично установленных пакетов. Пример вывода:
Вывод будет произведен для каждого пакета в системе. Вверху вы видите описание значения первых трех символов каждой строки. Первый символ указывает на состояние пакета. Он может принимать значения:
- u: неизвестно
- i: установлен
- r: удален с сохранением файлов настроек
- p: удален без сохранения файлов настроек
- h: удержание версии
Второй символ показывает действительный статус пакета в системе управления пакетами. Он принимает значения:
- n: не установлен
- i: установлен
- c: наличие файлов настроек, но сам пакет отсутствует
- u: распакован. Файлы распакованы, но не настроены
- f: Пакет частично установлен. Указывает на возникшую ошибку в процессе установки
- w: пакет ожидает запуска от другого пакета
- p: Пакет был запущен из другого пакета
Третий символ, как правил, пробел, но может принимать только одно значение:
- r: Требуется переустановка. Обычно означает, что пакет испорчен и восстановить его невозможно.
Остальные столбцы содержат имя пакета, версию, архитектуру и описание.
Вывод состояния пакета при помощи фильтров
Если указать маску названия пакета после ключа -l , то вы получите информацию о пакетах, попадающих под эту маску. Например, давайте найдем библиотеку для обработки YAML:
Как видите первый и четвертый результаты не установлены, то есть вы получаете информацию не только о установленных пакетах, но и о доступных.
Вывод установленных пакетов при помощи dpkg —get-selections
Второй способ: вывод списка установленных пакетов — использование команды dpkg с ключом — -get-selections .
Вы получите список всех установленных и удаленных с сохранением настроек пакетов.
Чтобы вывести только установленные пакеты, используйте:
Для вывода удаленных пакетов используйте:
Поиск среди установленных пакетов
Чтобы найти установленный пакет используйте маску пакета после ключа —get-selections. Опять, вы увидите не только установленные пакеты, но и удаленные с сохранением настроек пакеты.
Так же как и в предыдущем примере, допускается использование ключей awk.
Вывод установленных пакетом файлов
Чтобы получить список файлов, которые установил определенный пакет, используйте ключ -L команды dpkg :
Вы получите список абсолютных путей к файлам. Файлов настроек, которые были созданы в процессе работы, вы не увидите.
Поиск пакета, установленного по адресу
Чтобы понять какой пакет установил интересующий вас файл, вы можете использовать команду dpkg с ключом -S :
Вы увидите название пакета, ответственного за файл:
Не забывайте, что это связка работает только для файлов, созданных в процессе установки.
Обнаружение пакета, ответственного за файл, без его установки
При помощи ключа -S довольно легко определить какому пакету принадлежит файл. Но иногда вам необходимо знать какой пакет даст вам определенный файл или команду, до установки самого пакета.
Для этого вам понадобится утилита apt-file . Она поддерживает базу связки файлов и пакетов.
Установить её можно следующим образом:
Затем обновите базу данных утилиты и приступайте к поиску:
И снова, такой метод подходит только для файлов, созданных в процессе установки.
Передача списка пакетов между системами
Иногда вам приходится создавать системы с одинаковым набором пакетов. В таком случае можно экспортировать список установленных пакетов на одной машине и использовать её на другой. Такой подход так же можно использовать при создания резервных копий. В этом разделе мы рассмотрим методы создания списков пакетов.
Экспорт списка пакетов
Для начала вам понадобится создать список пакетов. Получить такой список можно при помощи команды dpkg —get-selections .
Этот список позднее можно скопировать на другую машину и импортировать. Также имеет смысл сохранить список хранилищ и ключей к ним. Для этого создайте каталог для хранения необходимых файлов и просто скопируйте её.
Экспортировать ключи можно следующим образом:
Все созданные файлы теперь можно перенести на другую машину.
Импорт списка пакетов
Если вы создали список пакетов, как описано выше, то импортировать его вы можете так же при помощи команды dpkg .
Для начала надо добавить ключи и списки репозиториев. Если все файлы находятся в домашнем каталоге, то достаточно будет выполнить следующие команды:
Теперь обнулите состояние не основных пакетов в системе. То есть изменения надо наносить на свежие пакеты. Команда должна быть выполнена с правами администратора.
Таким образом вы отметите все неважные пакеты для удаления. Теперь следует обновить кеш пакетов, чтобы мы установили последние версии. Самой установкой займется утилита под названием dselect .
Убедитесь в том, что она установлена и обновите её БД.
Теперь мы можем применить наш список пакетов поверх имеющегося:
Эта команда установит нужные состояния для интересующих нас пакетов. Чтобы применить изменения выполните следующую команду:
Она загрузит, установит и удалит все необходимые пакеты. В итоге вы должны получить полный аналог предыдущей машины, за исключением файлов настроек, которые следует скопировать или изменить отдельно.
Добавление хранилищ и PPA
Конечно список репозиториев по-умолчанию довольно обширен, но все же иногда вам может понадобится добавить какие-то свои хранилища. В этом разделе мы рассмотрим как это сделать.
Добавление PPA
PPA (личные архивы пакетов) — своего рода аналог хранилищам. На момент написания руководство они доступны только для Ubuntu. PPA гораздо меньше по объему чем хранилища и поддерживаются частными лицами.
Добавив PPA в список доступных источников пакетов, вы можете использовать их так же как и обычные хранилища. Таким образом можно поддерживать актуальность пакетов или предоставлять пакеты недоступные в стандартных хранилищах. Не забывайте, вы добавляете только те PPA, которым доверяете, так как вы будете устанавливать оттуда пакеты. Чтобы добавить PPA воспользуйтесь командой add-apt-repository . Вы должны передать команде приставку ppa: , имя собственника ppa на launchpad, слеш и название ppa.
Возможно вам придется принять ключ от ppa , после чего вы получите новый источник пакетов, который сможете использовать при помощи apt. Прежде чем искать или устанавливать новые пакеты из ppa, не забудьте обновить кеш:
Добавление хранилища
Существует два подхода для добавления хранилищ в ubuntu и debian.
Первый — вручную внести изменения в файл /etc/apt/sources.list/ или добавить файл списка, оканчивающийся на .list , в каталог /etc/apt/sources.list.d/ .
Добавлять источник нужно в формате:
- deb или deb-src : Указывает на тип хранилища. Традиционные хранилища обозначаются при помощи deb , а хранилища исходных кодов — при помощи deb-src .
- url: Главный url хранилища. Адрес расположения хранилища.
- release code name or suite: кодовое имя вашей системы, обозначающее набор пакетов именно для вашей версии системы.
- component names: Отметка набора пакетов, которые вы хотите сделать доступными себе.
Часто их указывает владелец хранилища, чтобы отобразить, например, лицензию. Эти строки следует добавить в сам файл. Как правило, вы можете найти формат добавления хранилища в самом хранилище.
Второй способ добавления хранилищ — команда add-apt-repository . Как правило, эта утилита установлена по-умолчанию в ubuntu и debian. Если у вас её нет, то установить её можно следующим образом:
Далее, просто отдавайте хранилища в указанном формате этой утилите.
Не забывайте обновлять кеш после добавления хранилища. Иначе система не увидит новых пакетов.
Заключение
Конечно это не полный список возможностей систем управления пакетами в ubuntu и debian, но постарались выделить наиболее важные на наш взгляд. Не забывайте добавлять свои замечания в коментариях.
Источник