Введение[править]
Программное обеспечение в дистрибутиве представлено в виде специальных архивов, называемых пакетами RPM.
Все пакеты находятся в специальном хранилище, называемом репозиторий. Репозиторий может находиться как на удалённом сервере, так и непосредственно на локальном компьютере. При подключении дополнительного репозитория следует тем, или иным образом убедиться в его совместимости с ОС. Описание известных репозиториев ALT Linux находится в соответствующей статье.
Программное обеспечение в систему устанавливается с помощью специальных программ, называемых менеджеры пакетов. Менеджером пакетов низкого уровня является сам RPM. Остальные рассматриваемые программы, Synaptic, модуль ALT Linux Control Center и консольная утилита apt, являются надстройками над RPM.
См. также:
- Releases/40/addremove
- Synaptic
- Где и как искать программы
- Downgrade
- Appimage
- epm
О пакетах и менеджерах пакетов в Linux. Что это и зачем нужно
К слову, немного выше я специально выделил три пункта, чтобы, так сказать, разбить содержание на несколько частей. О рeпозитории пакетов мы поговорили и теперь переходим к следующему куску повествования, а именно, поговорим о том, что подразумевается под понятием пакеты в Linux.
Под пакетами в Linux подразумевается программное обеспечение (ПО), которое Вы хотите установить на компьютер. Скажем, например, в Windows софт устанавливается с помощью мастера (программы) установки – setup.exe или install.exe. Вы запускаете этот мифический экзешный файл, и процесс установки начинается едва ли не мгновенно после выбора пути и мелких побочных настроек.
Установка же программ в Linux несколько отличается тем, что здесь используются два основных способа инсталляции: с помощью пакетов или из исходных кодов (установка пакетов это отдельный разговор, и сейчас мы этого вопроса касаться не будем). Пакетсодержит собранную программу, информацию о том, какие требуется совершить действия для ее установки, информацию о зависимостях, а также, возможно, много других данных (в зависимости от вида пакета). Причем за установку (удаление, обновление) отвечает такая штука, как менеджер пакетов.
Обычно менеджер пакетов является сердцем дистрибутива, обеспечивая полный контроль целостности и работоспособности всей системы, и он же обеспечивает пользователю интерфейс для автоматизированного получения пакета, его зависимостей и его установку. Пакеты, как уже говорилось, собираются в репозитории, т.е. всё это можно сложить в одну цепочку: пользователь запрашивает установку пакета – менеджер пакетов отслеживает зависимости – он же получает необходимые пакеты из репозитория(ев) – и он же устанавливает зависимости и требуемый пакет. Практически каждый дистрибутив Linux имеет свои репозитории, зачастую несовместимые с другими дистрибутивами. Менеджер же пакетов – консольная утилита, однако обычно для нее существуют многочисленные графические оболочки, которые легко отыскать в каждом дистрибутиве, введя в поиск «Установка/удаление программ».
Пакетные менеджеры бывают разные. Для управления пакетами в разных дистрибутивах используются разные программы. В общем-то, их не так уж и мало, а посему выделим «основные», которые «умеют» разрешать зависимости. Фраза «умеют разрешать зависимости» означает следующее – если при установке пакета будет обнаружено, что для корректной его установки нужны дополнительные пакеты, то менеджер пакетов установит их сам, т.е. Вам не придется искать дополнительные пакеты в репозиториях. Те менеджеры пакетов, которые не обладают такой функцией (умением разрешать зависимости), мы рассматривать не будем, ибо оные только сообщат Вам, что пакет установить невозможно и выведут весь список файлов (именно файлов, а не пакетов), которые нужны для установки данного пакета. А уж какой файл в каком пакете находится, Вы будете догадываться и искать самостоятельно.
Вот небольшой список:
- Yum (Yellow Dog Update Modified) – мощный менеджерпакетов, основанный на rpm (простой МП, не умеет разрешать зависимости), работающий в текстовом режиме и умеющий разрешать зависимости, а также умеющий поддерживать репозитории (источники пакетов). Используется в RedHat Linux, а так же в Fedora, SuSe и некоторых других;
- APT создана для дистрибутивов Linux, основанных на Debian, используется в Ubuntu (и клонах), АLT Linux и др. Мощный менеджер пакетов, работающий в текстовом режиме. Умеет разрешать зависимости и поддерживает репозитории (источники пакетов);
- Portage package management system имеет много разновидностей, примером может служить дистрибутив Gentoo. Как вариант пакетного менеджера можно привести emerge.
К слову, пакетные менеджеры не просто ищут желаемые Вами программы по описаниям, но прежде нам нужно ввести еще один не раз уже упомянутый термин и объяснить его.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита , которая содержит наиболее часто используемые команды из и . Утилита предназначена для пользователей, в то время как можно рассматривать как как инструмент более низкого уровня.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
Основные команды:
- — Обновить информацию о пакетах, содержащихся в репозиториях.
- — Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
- — Обновление пакетов, для которых в репозитории доступны новые версии.
- — Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
- — Удаление пакета foo из системы.
- — Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут.
- — Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
- — Получение исходных текстов пакета foo.
- — Получение зависимостей для сборки пакета foo.
Починка базы пакетов
apt-get также используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями. Разрешение зависимостей производится командой:
sudo apt-get install -f
apt-cache
apt-cache – утилита, позволяющая выполнять запросы к кешу APT.
Основные команды:
- — Поиск пакета по части названия или описания. Поддерживает регулярные выражения.
- — Информация о пакете: версия, размер, описание и т. п.
- — Зависимости указанного пакета.
- — Обратные зависимости пакета.
apt-key
apt-key служит для добавления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета. Подробнее смотрите в статье .
Основные команды:
- — Добавление ключа в базу доверенных ключей.
- — Удаление ключа из доверенных.
О зависимостях в Linux. Что это и зачем нужно
Например, Вы захотели установить программу и нажали кнопку «Установить», а она спрашивает Вас про какие-то мифические и непонятные зависимости. Так давайте разберемся – а что же это такое?
Часто компоненты, используемые различными программами, выделяют в отдельные пакеты и помечают, что для работы ПО, предоставленного пакетом A, необходимо установить пакет Б. В таком случае говорят, что пакет A зависит от пакета Б или что между пакетами A и Б существует зависимость (обычно в роли зависимостей выступают какие-либо библиотеки, без которых программа не будет запускаться, поскольку использует функции этой библиотеки). Вот как раз отслеживанием зависимостей между такими пакетами и занимается уже неоднократно упомянутый менеджер пакетов. Говоря просто, пакетный менеджер это такая программа, которая ведёт базу данных установленных приложений и их версий, и всегда знает, какие файлы куда установлены, чтобы можно было поставить новые программы, удалить старые или обновить всю систему целиком без переустановки и вычищения мусора оставшихся файлов.
Вся эта огромная куча пакетов с их ворохом зависимостей друг от друга, управляемая пакетным менеджером, как раз и составляет Ваш дистрибутив Linux. Но это не просто куча мусора, а упорядоченная система, которая называется — та-дам! — репозитории пакетов программ. Круг замкнулся – мы вернулись к первому понятию – что такое репозиторий
Список установленных пакетов с помощью Apt
— это интерфейс командной строки для системы управления пакетами. Он был представлен в Ubuntu 14.04 и сочетает в себе наиболее часто используемые команды из списка установленных пакетов и включает его.
Чтобы просмотреть список установленных пакетов в вашей системе Ubuntu, используйте следующую команду:
Как видно из выходных данных выше, команда выводит список всех установленных пакетов, включая информацию о версиях пакетов и архитектуре.
Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью команды grep . Например, чтобы узнать, установлен ли в нашей системе пакет screen, мы запустим:
Приведенный выше вывод показывает, что в нашей системе установлена экранная версия 4.6.2-1.
3.3 Удаление пакетов
Если пакет вам больше не нужен, то вы можете удалить его из вашей системы,
используя APT. Чтобы это сделать просто введите: apt-get remove
package. Например:
@[/] # apt-get remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Из вышеприведенного примера можно видеть, что APT также предлагает удалить
пакеты, от которых зависит пакет, предлагаемый вами к удалению. Способа
удалить пакет при помощи APT без удаления пакетов, от которых он зависит, нет.
Вышеприведенная команда удалит пакеты, но оставит их
настроечные файлы, если они есть. Для полного удаления пакета запустите:
@[/] # apt-get --purge remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Обратите внимание на ‘*’ после имен. Это указывает на то, что будут удалены
настроечные файлы для каждого из этих пакетов.. Аналогично действию install, вы можете инвертировать действие
remove для определенных пакетов
В случае удаления, если вы
добавите знак ‘+’ справа от имени пакета, то пакет будет
установлен, а не удален.
Аналогично действию install, вы можете инвертировать действие
remove для определенных пакетов. В случае удаления, если вы
добавите знак ‘+’ справа от имени пакета, то пакет будет
установлен, а не удален.
@[/] # apt-get --purge remove gnome-panel nautilus+ Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 nautilus The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Обратите внимание на то, что распечатывает дополнительные
пакеты, которые будут установлены (т.е., пакеты, которые будут установлены для
правильной работы запрашиваемых к установке пакетов), удаляемые пакеты и затем
пакеты, которые будут установлены (также включая дополнительные пакеты).
8 ответов
Вы можете установить gdebi-core, это версия командной строки установщика пакета GDebi с 10.04 и ранее. В новых версиях Ubuntu Центр программного обеспечения используется для установки debs, который не имеет эквивалента командной строки.
Чтобы установить пакет deb с помощью gdebi, просто запустите:
ответ дан
25 May 2018 в 21:31
Gdebi
gdebi устанавливает пакет deb и его зависимости. Чтобы использовать его, выполните:
В новых версиях Ubuntu это не установлено по умолчанию, поэтому вам нужно будет установить его из репозиториев.
См. для полного списка опций.
gdebi — это командная строка, эквивалентная графическому инструменту с тем же именем, которое по умолчанию было включено в Ubuntu. Команда для графического инструмента — gdebi-gtk и имеет аналогичную функциональность:
ответ дан
25 May 2018 в 21:31
, начиная с apt 1.1 (доступно в Xenial (16.04), растянуть) apt install также позволяет локальные файлы:
. Так проще и чище.
См. релиз объявления
ответ дан
25 May 2018 в 21:31
running
после установки пакета с dpkg может разрешить разбитые зависимости (по крайней мере, man apt-get сказать так …). Ill update, когда я его проверю.
ответ дан
25 May 2018 в 21:31
dpkg не поддерживает зависимость. Существует способ обойти это, но для этого потребуется создать локальную базу данных (и, следовательно, вы уже знаете зависимости), и считается устаревшей (…).
Должна ли она быть командой линия? (server install?) Если это так, посмотрите на apt-get -f, но будьте осторожны: решение зависимостей после установки может привести к повреждению системы.
gdebi (gui frontend) раньше имел возможность сделайте это, но замените USC.
Как вы загрузили .deb. Некоторые из новых возможностей 11.04 — это обработка .deb, загружаемая с веб-сайта: она открывается в USC, поэтому зависимости будут решены установщиком.
EDIT, основанный на комментарии andrew: sudo gdebi foo-1.2.3.deb сделал бы трюк !!
ответ дан
25 May 2018 в 21:31
В качестве альтернативы gdebi-gtk вы можете использовать Ubuntu Software Center.
Двойной щелчок по пакету и кнопка установки должна быть доступна.
ответ дан
25 May 2018 в 21:31
Вы можете создать файл dpkg-dep-inst со следующим содержимым.
Предполагаю, что вы создали файл в своей домашней папке. Сделайте это с помощью chmod +x dpkg-dep-inst и переместите его на /usr/local/bin с помощью sudo cp dpkg-dep-inst /usr/local/bin.
Теперь вы можете установить пакет debian с зависимостями автоматически с помощью:
ответ дан
25 May 2018 в 21:31
Я просто столкнулся с этой проблемой. Вызов apt-get install -f не будет устанавливать рекомендуемые зависимости, хотя! Единственным обходным решением для этого было бы создание локального репозитория и добавление к /etc/apt/sources.list, т. Е .:
ответ дан
25 May 2018 в 21:31
Список пакетов, установленных с помощью оснастки в Linux
Snap — это система развертывания программного обеспечения и управления пакетами, разработанная Canonical.
Чтобы вывести список всех приложений Snap, установленных в вашей системе, запустите:
$ snap list
Пример вывода:
Name Version Rev Tracking Publisher Notes chromium 87.0.4280.88 1424 latest/stable canonical* - core 16-2.48 10444 latest/stable canonical* core core18 20201210 1944 latest/stable canonical* base gnome-3-26-1604 3.26.0.20200529 100 latest/stable/… canonical* - gnome-3-28-1804 3.28.0-19-g98f9e67.98f9e67 145 latest/stable canonical* - gnome-3-34-1804 0+git.3556cb3 60 latest/stable canonical* - gnome-system-monitor 3.36.0-12-g35f88a56d7 148 latest/stable/… canonical* - gtk-common-themes 0.1-50-gf7627e4 1514 latest/stable/… canonical* - multipass 1.5.0 2907 latest/stable canonical* -
Проверка установки определенного пакета с помощью dpkg:
Чтобы проверить, установлен ли конкретный пакет в дистрибутивах Linux на основе Debian, вы можете использовать команду dpkg, за которой следует флаг -s (статус) и имя пакета. В приведенной ниже команде показан пример dpkg, используемый для проверки статуса пакета Steam.
dpkg -s steam
Как видите, команда возвращает информацию о пакете, включая следующее:
- Package name: имя пакета.
- Package status: здесь вы можете увидеть статус пакета в вашей системе.
- Priority: существует 5 возможных уровней приоритета для пакетов: приоритет «Required» принадлежит пакетам, которые необходимы для системы; удаление пакетов, помеченных как «Обязательные», может привести к сбою системы. Второй возможный режим приоритета для a – это приоритет «Important» для пакетов, которые не важны для системы, а для пользователя, например, для текстового редактора, такого как nano или net-tools. Третий приоритет – «Standard», который включает пакеты, которые определены для установки по умолчанию. Четвертый уровень приоритета – «Optional», который включает дополнительные пакеты в установках Debian/Ubuntu. Наконец, пятый приоритет – «Extra»., который устарел и заменен на “Необязательный” . Статус « Extra» использовался для специализированных пакетов.
- Section: Пакеты классифицируются по категориям; в настоящее время доступны категории: admin, database, cli-mono, debug, devel, doc, editors, education, gnustep, embedded, fonts, games, gnome, gnu-r, electronics, graphics, interpreters, hamradio, haskell, httpd, python, introspection, javascript, java, ruby, kde, localization, kernel, libdevel, libs, lisp, mail, math, metapackages, ocaml, net, news, misc, comm, oldlibs, otherosfs, perl, php, rust, science, shells, sound, text, video, tasks, tex, utils, vcs, web, x11, xfce, и zope.
- Installed size: вы можете увидеть приблизительное требуемое дисковое пространство в байтах для установки пакета.
- Maintainer: в этом поле отображается информация о разработчике пакета.
- Architecture: здесь вы можете увидеть архитектуру пакета.
- Version: Версия пакета.
- Depends: зависимости пакетов.
- Description: Описание пакета.
- Homepage: Пакет/Сайт разработчика.
На снимке экрана ниже показан результат проверки пакета, который не установлен.
dpkg -s nexpose
Вы также можете использовать команду dpkg, за которой следует флаг -l, чтобы проверить конкретный статус пакета, как показано в примере ниже.
dpkg -l steam
Просматриваем список установленных пакетов в Ubuntu
В Ubuntu присутствует и графический интерфейс, реализованный по умолчанию на оболочке Gnome, а также есть привычный «Терминал», через который осуществляется управление всей системой. Через два этих составляющих доступен просмотр перечня добавленных компонентов. Выбор оптимального способа зависит только от самого пользователя.
Способ 1: Терминал
В первую очередь внимание хотелось бы обратить именно на консоль, поскольку присутствующие в ней стандартные утилиты позволяют задействовать всю функциональность по максимуму. Что же касается отображения списка всех объектов, выполняется это достаточно легко:
- Откройте меню и запустите «Терминал». Делается это также зажатием горячей клавиши Ctrl + Alt + T.
Используйте стандартную команду с аргументом , чтобы вывести на экран все пакеты.
С помощью колесика мышки перемещайтесь по списку, просматривая все найденные файлы и библиотеки.
Добавьте к dpkg -l еще одну команду, чтобы осуществить поиск определенного значения по таблице. Выглядит строка так: , где java — имя необходимого для поиска пакета.
Найденные подходящие результаты будут подсвечены красным цветом.
Используйте , чтобы получить информацию обо всех файлах, установленных через этот пакет (apache2 — название пакета для поиска).
Появится список всех файлов с их расположением в системе.
Если вы хотите узнать, каким пакетом был добавлен определенный файл, следует ввести , где /etc/host.conf — сам файл.
К сожалению, не всем удобно использовать консоль, а также это не всегда требуется. Именно поэтому следует привести альтернативный вариант отображения списка присутствующих в системе пакетов.
Способ 2: Графический интерфейс
Конечно, графический интерфейс в Ubuntu не позволяет в полной мере проводить те же операции, которые доступны в консоли, однако визуализация кнопок и утилит значительно упрощает выполнение задачи особенно для неопытных юзеров. Сначала советуем обратиться в меню. Здесь присутствует несколько вкладок, а также сортировка на показ всех программ или только популярных. Поиск требуемого пакета может производиться через соответствующую строку.
Менеджер приложений
Подробнее: Установка Менеджера приложений в Ubuntu
- Откройте меню и запустите необходимый инструмент, нажав на его иконку.
Перейдите во вкладку «Установлено», чтобы отсеять тот софт, которого еще не имеется на компьютере.
Здесь вы видите названия ПО, краткое описание, размер и кнопку, позволяющую провести быстрое удаление.
Нажмите на название программы, чтобы перейти на ее страницу в Менеджере. Здесь осуществляется знакомство с возможностями софта, его запуск и деинсталляция.
Как видите, работа в «Менеджере приложений» проходит достаточно просто, однако функциональность этого инструмента все еще ограничена, поэтому на помощь придет более расширенный вариант.
Менеджер пакетов Synaptic
Установка дополнительного менеджера пакетов Synaptic позволит получать детальнейшую информацию обо всех добавленных программах и компонентах. Для начала все же придется воспользоваться консолью:
- Запустите «Терминал» и введите команду для установки Synaptic из официального репозитория.
Укажите свой пароль для рут-доступа.
Подтвердите добавление новых файлов.
По завершении инсталляции запустите инструмент через команду .
Интерфейс разделен на несколько панелей с различными разделами и фильтрами. Слева выбирайте подходящую категорию, а справа в таблице смотрите все установленные пакеты и подробную информацию о каждом из них.
Присутствует и функция поиска, позволяющая сразу же отыскать требуемые данные.
Ни одним из приведенных методов вам не удастся найти пакет, во время инсталляции которого произошли определенные ошибки, поэтому внимательно следите за появляющимися уведомлениями и всплывающими окнами во время распаковки. Если же все попытки завершились провалом, значит искомый пакет отсутствует в системе или имеет другое наименование. Сверьте название с тем, что указано на официальном сайте, и попробуйте переустановить программу.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Несколько слов о нюансах
Напоследок все-таки хочется сказать, что какой бы Linux не была устойчивой, стабильной и неубиваемой, всё же пользователь должен придерживаться определенной осторожности. Например:
- Не надо искушать судьбу и ставить программы в Linux в обход менеджера пакетов, простой компиляцией.Работать они будут, но пакетный менеджер ничего о них не будет знать, из-за чего при обновлении системы или программ Вы рискуете получить больше проблем на свою голову, чем представляете. Устанавливайте программы только в виде пакетов.
- Не надо подключать те репозитории, о которых имеете совсем смутное представление. Например, не надо подключать репозитории со словами testing, debug и тому подобными терминами, ибо эти репозитории в первую очередь предназначены для самих разработчиков дистрибутивов и далеко не всегда стабильны.
- Не подключайте подряд все доступные репозитории, это тоже может сыграть с Вами злую шутку. Подключайте только самые необходимые, не надо жадничать
Например, при установке операционной системы Fedora по умолчанию сразу подключены два репозитория:
- Fedora(пакеты, которые подходят на любую комбинацию из компакт-дисков или DVD-дисков)
- Updates (обновленные пакеты, новее, чем репозиторий (хранилище) Fedora)
Для нормальной работы нужно подключить дополнительный репозиторий rpmfusion (без него Вам действительно не обойтись), что даст доступ к программам, которые не могли быть включены в дистрибутив из-за лицензионных ограничений (приложения, которые требуются для воспроизведения мультимедиафайлов, таких как mp3, dvd и т.д.; драйвера – к ним относятся проприетарные драйвера для ATI и NVIDIA; игры: Bub’s Brothers, Secret Maryo Chronicles, UFO: Alien Invasion, Wörms of Prey, xrick, GLtron и многие, многие другие; эмуляторы: эмулятор Commodore 64, а также Commodore 8 bit, эмулятор Amiga, Nestopia, ZSNES и много других)
Чтобы подключить этот репозиторий, достаточно в командной строке (терминале) от суперпользователя (root) ввести команды:
Обратите внимание, что репозиторий rpmfusion разделяется на две части: free и nonfree. Первый содержит чисто свободные программы в понимании FSF, распространяемые под GPL и совместимыми с ней лицензиями
Содержимое второго, вопреки названию, — также программы по преимуществу свободные, но попадающие под пресловутые патентные ограничения некоторых государств (например, аудио- и видеокодеки).
То же самое касается и менеджера пакетов в Fedora. Для нормальной и удобной работы менеджера пакетов (yum) в Fedora рекомендуется подключить дополнительный плагин fastestmirror. Этот плагин очень важен: он определяет не просто ближайшее зеркало, как это делают аналогичные утилиты из других систем управления пакетами, а устанавливает именно самое быстрое зеркало в данный момент – по времени отклика.
В двух словах как-то так
Вывод:
Как видите, дистрибутивы Linux на основе Debian предлагают различные способы проверки состояния конкретного пакета или перечисления всех установленных, обновленных и удаленных пакетов. Команды, описанные в этой статье, легко применять, и их изучение обязательно для любого пользователя дистрибутива на основе Debian. Как вы видели, эти команды также могут предоставить информацию о версиях программного обеспечения, необходимом дисковом пространстве и многом другом.
Мы надеемся, что эта статья, объясняющее, как проверить, установлен ли пакет в Debian или Ubuntu, было полезно. Следуйте подсказкам Linux, чтобы получить больше советов и руководств по Linux.