Как удалить пакет в debian

Обновлено: 07.07.2024

А теперь то что не очевидно или требует полного прочтения документации

1. Как после update посмотреть какие пакеты будут обновлены?

также можно юзать (если поставить)

но после его установки точно также будет себя вести и обычный update

2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать

для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить

3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета

и установить её

4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search '

M'), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов

но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить

5. Как посмотреть список файлов в пакете?
если пакет установлен

для любых пакетов поставить apt-file и

6. Как посмотреть какому пакету принадлежит файл?

7. Как удалить все пакеты, где есть key в названии пакета?

8. Как удалить оставшиеся конфиги от удалённых пакетов?

9. Как найти пакет пакет, в котором содержится файл lib.so:

10. Как сконвертировать rpm пакет в deb?

11. Как найти список установленных ядер?

12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть

13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда.

14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт

16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.

17. Как найти пакеты зависящие от данного

также может пригодится


Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.

Пакетный менеджер Apt или Advanced Package Tool используется во множестве дистрибутивов, основанных на Debian или Ubuntu, а таких дистрибутивов сейчас очень много. Этот пакетный менеджер поддерживает все необходимые функции, вы можете устанавливать и удалять пакеты, обновлять то, что было уже установлено, искать пакеты, устанавливать их из файла или загружать без установки. При этом все зависимости будут разрешаться автоматически.

Утилита apt ничем не уступает пакетному менеджеру yum, используемому в RPM дистрибутивах, да, здесь все ещё не поддерживается частичное обновление пакетов, как в Zypper, но в целом всё выглядит очень неплохо. В этой статье мы подробно рассмотрим как пользоваться apt в Linux для решения задач работы с программами.

Синтаксис и опции apt

Синтаксис команды apt очень простой и похож на другие команды Linux:

$ apt опции команда параметры_команды

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

А теперь давайте пройдёмся по командам apt, которые вы можете использовать:

  • install - установить пакет;
  • remove - удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
  • purge - полностью удалить пакет, вместе со всеми его конфигурационными файлами;
  • autoremove - очистить ненужные пакеты;
  • autoclean - очистить кэш пакетов;
  • update - обновить списки пакетов из репозиториев;
  • upgrade - обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
  • full-upgrade - полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
  • list - список установленных пакетов;
  • search - поиск пакетов;
  • show - посмотреть информацию о пакете;
  • download - скачать пакет в текущую папку;
  • edit-sources - открыть с настройками репозиториев в текстовом редакторе.
  • source - скачать исходный код пакета в текущую папку;
  • build-dep - установить зависимости необходимые для сборки выбранного пакета;

Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.

Как пользоваться 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


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

3. Удаление пакетов

Чтобы удалить ненужный пакет используйте команду remove:

sudo apt remove gimp

Однако если вы изменяли какие-либо конфигурационные файлы из состава пакета, то при таком способе удаления они останутся в системе, чтобы удалить всё полностью используйте команду purge:

sudo apt purge gimp

Чтобы удалить лишние пакеты, которые в системе больше не нужны выполните команду autoremove:

sudo apt autoremove

А для очистки кэша пакетов - autoclean:

sudo apt autoclean

Выводы

В этой статье мы рассмотрели примеры использования и основные команды apt Ubuntu, как видите, команд у этой утилиты хватает на все случаи жизни. Но, как видите, всё очень просто если разобраться. Я не рассказал только об одной команде, попробуйте ввести в терминале apt moo, увидите что будет. Это небольшая пасхалка от разработчиков.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

Это повысит вашу безопасность. В этой статье мы рассмотрим как выполняется удаление пакетов Debian различными способами, рассмотрим как удалить пакет имя которого вы знаете, а также как удалить все ненужные пакеты из системы.

Удаление пакетов Debian

Самый простой способ удалить программу Debian, которая вам больше не нужна - это воспользоваться пакетным менеджером apt. Просто используйте команду apt remove:

$ sudo apt-get remove имя_программы

Или можно удалить все пакеты, которые касаются этой программы, например:

$ sudo apt-get remove имя_программы*

Например, удалим установленный по умолчанию почтовый клиент evolution. Если бы мы использовали звездочку, то были бы удаленны все пакеты, имя которых начинается на evolution, например, evolution-data и evolution-plugins.

sudo apt-get remove evolution


Но при таком способе удаления в системе могут оставаться конфигурационные файлы программы, а также дополнительные пакеты. Чтобы удалить конфигурационные файлы можно использовать опцию --purge или команду purge:

sudo apt-get --purge remove evolution

sudo apt-get --purge --auto-remove remove evolution


sudo apt-get purge --auto-remove evolution

Последняя команда выполняет полное удаление пакета из системы. Но чтобы удалить пакет вам нужно сначала знать его имя. Имя пакета можно узнать с помощью утилиты dpkg. Сначала ищем какие-либо файлы программы по ее названию, например, тот же evolution:

find / -name evolution


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

sudo dpkg -S /usr/bin/evolution


А дальше, уже на основе полученной информации вы можете удалить лишний пакет. Рассмотрим как удалить пакет Debian с помощью dpkg, для этого есть опция -r или --remove. Но тут вам придется указать все зависимости:

sudo dpkg --remove evolution evolution-plugins


У dpkg есть свой аналог команды purge, это опция -p или --purge, которая позволяет удалить пакет Debian полностью и не оставлять никаких конфигурационных файлов в системе:

sudo dpkg --purge evolution evolution-plugins

Если пакет не удаляется потому что был поврежден или была повреждена база пакетов, а вы считаете что удаление именно этого пакета может спасти ситуацию, то используйте опцию --force-remove-reinstreq:

sudo dpkg --remove --force-remove-reinstreq имя_пакета

Также можно использовать опцию --force-depends, чтобы не удалять пакеты, которые зависят от удаляемого:

sudo dpkg -r --force-depends имя_пакета

Иногда, во время удаления пакетов, некоторые зависимости остаются в системе, например, рекомендованные пакеты. Их тоже можно удалить чтобы освободить место и не держать лишнего на компьютере. Для этого используется программа deborphan. Для начала вам нужно будет ее установить:

sudo apt-get install deborphan

Затем для поиска всех пакетов, которые можно удалить наберите:


Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:

deborphan | xargs sudo apt-get -y remove --purge


Имя каждого пакета будет подставлено в конец строки.

Удаление пакетов в GUI

Пакеты можно удалять не только через терминал, но и через графический интерфейс. В Debian используется окружение рабочего стола Gnome, поэтому там доступен центр приложений Gnome Software. Вы можете запустить его из главного меню системы:


Затем перейдите на вкладку "Установлено":


Вам осталось выбрать приложение, которое хотите удалить, а затем нажать кнопку "Удалить":


После этого вам нужно будет ввести пароль пользователя, а затем дождаться завершения удаления. Как видите, все очень просто.


Выводы

В этой статье мы рассмотрели как выполняется удаление программ debian несколькими способами. Как видите, это достаточно просто. Если вы имеете немного опыта использования терминала, то сможете получить все его преимущества, в противном же случае можете использовать графический интерфейс. Если у вас остались вопросы, спрашивайте в комментариях!

8.1. Какие программы для управления пакетами имеются в Debian?

В Debian для управления пакетами имеется множество средств, от программ с графическими или текстовыми интерфейсами, до низкоуровневых утилит установки пакетов. Корректная работа всех доступных инструментов зависит от низкоуровневых утилит, и все они представлены здесь в порядке уменьшения уровня сложности.

Важно понимать, что высокоуровневые инструменты управления пакетами, такие как aptitude или synaptic , для управления пакетами используют apt , который, в свою очередь, использует dpkg для управления пакетами системы.

See Chapter 2. Debian package management of the Debian reference for more information about the Debian package management utilities. This document is available in various languages and formats, see the Debian Reference entry in the DDP Users' Manuals overview.

8.1.1. dpkg

Это основная программа управления пакетами. dpkg может вызываться с многими параметрами. Наиболее часто используемые из них:

Показать список всех параметров: dpkg --help

Показать управляющий файл (и другую информацию) для указанного пакета: dpkg --info foo_VVV-RRR.deb

Установить пакет на жёсткий диск (т. е. распаковать и настроить): dpkg --install foo_VVV-RRR.deb

Распаковать архив Debian на жёсткий диск (но не настраивать): dpkg --unpack foo_VVV-RRR.deb . Учтите, что в результате данной операции пакет не обязан быть в рабочем состоянии; для правильной работы может потребоваться внесение изменений в некоторые файлы. Данная команда удаляет любую ранее установленную версию программы и запускает сценарий preinst указанного пакета (см. Раздел 7.6, «Зачем нужны сценарии preinst, postinst, prerm и postrm?»).

Настроить пакет, который был распакован ранее: dpkg --configure foo . Кроме всего прочего, эта команда запускает сценарий postinst указанного пакета (см. Раздел 7.6, «Зачем нужны сценарии preinst, postinst, prerm и postrm?»). Она также обновляет файлы, перечисленные в conffiles . Обратите внимание, что в качестве аргумента для параметра configure указывается имя пакета (т. е. foo), а не имя файла-архива Debian (т. е. foo_VVV-RRR.deb).

Распаковать файл с именем "blurf" (или группу файлов с именем "blurf*") из архива Debian: dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - 'blurf*'

Удалить пакет (но не его файлы настроек): dpkg --remove foo

Удалить пакет (вместе с файлами настроек): dpkg --purge foo

Вывести состояние установки пакетов, содержащих в имени строку (или регулярное выражение) «foo*»: dpkg --list 'foo*'

8.1.2. APT

APT is the Advanced Package Tool , an advanced interface to the Debian packaging system which provides the apt-get program. It provides commandline tools for searching and managing packages, and for querying information about them, as well as low-level access to all features of the libapt-pkg library. For more information, see the User's Guide in /usr/share/doc/apt-doc/guide.html/index.html (you will have to install the apt-doc package).

Starting with Debian Jessie, some frequently used apt-get and apt-cache commands have an equivalent via the new apt binary. This means some popular commands like apt-get update , apt-get install , apt-get remove , apt-cache search , or apt-cache show now can also be called simply via apt , say apt update , apt install , apt remove , apt search , or apt show . The following is an overview of the old and new commands:

Инструмент apt совмещает функциональность apt-get и apt-cache, а также по умолчанию использует красивый цветной формат вывода, что очень удобно. Для использования в сценариях или для продвинутого использования предпочтительнее использовать apt-get (а иногда он просто необходим).

apt-get provides a simple way to retrieve and install packages from multiple sources using the command line. Unlike dpkg , apt-get does not understand .deb files, it works with the packages proper name and can only install .deb archives from a source specified in /etc/apt/sources.list . apt-get will call dpkg directly after downloading the .deb archives [5] from the configured sources.

Часто используемые команды apt-get :

To update the list of packages known by your system, you can run:

(вы должны регулярно запускать эту команду для обновления списка пакетов)

Установить пакет foo и все его зависимости:

Удалить пакет из системы:

Удалить из системы пакет и все его файлы настроек:

To list all packages for which newer versions are available, run:

Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов):

Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета:

(Команда upgrade оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда full-upgrade менее консервативна.)

Note that you must be logged in as root to perform any commands that modify packages.

Note that apt-get now also installs recommended packages as default, and thanks to its robustness it's the preferred program for package management from console to perform system installation and major system upgrades.

В комплект инструментов apt входит также программа для обработки запросов по списку пакетов apt-cache . Её можно использовать для поиска пакетов, имеющих определённую функциональность, с помощью простых текстовых запросов или регулярных выражений, а также для получения списка зависимостей из системы управления пакетами. Часто используемые команды apt-cache :

Найти пакеты, содержащие в своём описании слово :

Показать подробную информацию о пакете:

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

To print detailed information on the versions available for a package and the packages that reverse-depends on it:

For more information, install the apt package and read apt (8) , apt-get (8) , sources.list (5) and install the apt-doc package and read /usr/share/doc/apt-doc/guide.html/index.html .

8.1.3. aptitude

aptitude — это менеджер пакетов для систем Debian GNU/Linux, он предоставляет интерфейс к инфраструктуре управления пакетами apt. aptitude представляет собой текстовый интерфейс на основе библиотеки curses. Действия можно выполнять как из визуального интерфейса, так и из командной строки.

aptitude может использоваться для лёгкого и быстрого выполнения задач по управлению пакетами. Она позволяет пользователю просматривать список пакетов и выполнять такие задачи по управлению пакетами как установка, обновление и удаление.

Помимо функциональности apt-get , aptitude имеет много других дополнительных возможностей:

обеспечивает лёгкий доступ ко всем версиям пакета;

позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших пакетов и пакетов, созданных локально»;

включает достаточно мощную систему поиска и ограничения отображаемых пакетов. Пользователи, знакомые с mutt , освоятся быстро, так как синтаксис регулярных выражений был навеян этой программой;

можно использовать для установки заранее сформированных наборов для определённых задач. Подробности см. в Раздел 8.1.5, «tasksel»;

aptitude in full screen mode has su functionality embedded and can be run by a normal user. It will call su (and ask for the root password, if any) when you really need administrative privileges.

С aptitude можно работать, используя визуальный интерфейс (просто запустить aptitude ), или непосредственно из командной строки. Используемый синтаксис командной строки очень похож на синтаксис apt-get . Например, для установки пакета foo , можно выполнить aptitude install foo .

Note that aptitude is the preferred program for daily package management from the console.

For more information, read the manual page aptitude (8) and install the aptitude-doc package.

8.1.4. synaptic

synaptic is a graphical package manager. It enables you to install, upgrade and remove software packages in a user friendly way. Along with most of the features offered by aptitude, it also has a feature for editing the list of used repositories, and supports browsing all available documentation related to a package. See the Synaptic Website for more information.

8.1.5. tasksel

Иногда бывает трудно найти подходящий комплект пакетов для выполнения определённой задачи. Разработчики Debian определили задачи , представляющие собой наборы из нескольких пакетов Debian, предназначенных для определённой деятельности. Задачи можно устанавливать с помощью программы tasksel или aptitude .

Typically, the Debian installer will automatically install the task associated with a standard system and a desktop environment. The specific desktop environment installed will depend on the CD/DVD media used, most commonly it will be the GNOME desktop ( gnome-desktop task). Also, depending on your selections throughout the installation process, tasks might be automatically installed in your system. For example, if you selected a language other than English, the task associated with it will be installed automatically too and if the installer recognises you are installing on a laptop system the laptop task will also be installed.

8.1.6. Другие инструменты управления пакетами

8.1.6.1. dpkg-deb

Вывести список допустимых параметров: dpkg-deb --help

Определить, какие файлы содержатся в файле-архиве Debian: dpkg-deb --contents foo_VVV-RRR.deb )

Извлечь файлы из указанного архива Debian в определённый пользователем каталог: dpkg-deb --extract foo_VVV-RRR.deb tmp извлечёт все файлы из foo_VVV-RRR.deb в каталог tmp/ . Это удобно для просмотра содержимого пакета в отдельном каталоге без его установки в основное дерево каталогов.

Извлечь из пакета файлы с управляющей информацией: dpkg-deb --control foo_VVV-RRR.deb tmp .

Учтите, что любые пакеты, просто распакованные командой dpkg-deb --extract , будут установлены некорректно, для установки следует использовать dpkg --install .

More information is given in the manual page dpkg-deb (1) .

8.2. Говорят, что Debian способен обновить работающую программу; как это делается?

Ядро (файловая система) в системах Debian GNU/Linux поддерживает замену файлов, даже когда они используются.

Мы также предоставляем программу start-stop-daemon , которая используется для запуска служб при загрузке компьютера или их останова при изменении уровня выполнения (например, при переключении из многопользовательского в однопользовательский или для выключения компьютера). Эта же программа используется сценариями установки при установке нового пакета со службой, для остановки работающей службы и её перезапуска при необходимости.

8.3. Как узнать, какие пакеты установлены в системе Debian?

Чтобы получить список всех установленных пакетов, выполните команду

Эта команда выведет для каждого пакета однострочную сводку, включающую два символа состояния (объясняемые в заголовке), имя пакета, установленную версию и краткое описание.

To learn the status of packages whose names match any pattern beginning with "foo", run the command:

Чтобы получить более подробный отчёт о состоянии определённого пакета, выполните команду:

8.4. How do I display the files of an installed package?

Чтобы вывести список файлов установленного пакета foo , выполните команду

Учтите, что файлы, созданные сценариями установки, не отображаются.

8.5. Как определить пакет, которому принадлежит определённый файл?

Чтобы определить, в каком пакете содержится файл с именем foo , выполните одну из следующих команд:

dpkg --search foo

Эта команда ищет foo в установленных пакетах. (В настоящий момент это эквивалентно поиску всех файлов с расширением .list в каталоге /var/lib/dpkg/info/ и выводу имён всех пакетов, которые содержат заданное имя файла, и отклонений.)

Более быстрая альтернатива этому — программа dlocate .

zgrep foo Contents-ARCH.gz

Эта команда ищет файлы, содержащие в своих полных именах путей подстроку foo . Файлы Contents-ARCH.gz (где ARCH представляет нужную архитектуру) расположены в основных каталогах пакетов (main, non-free, contrib) на FTP-сайте Debian (то есть, в /debian/dists/buster ). Файл Contents относится только к тем пакетам, что расположены в структуре подкаталогов того же каталога, где находится и он сам. Поэтому, чтобы найти пакет, содержащий файл foo , пользователю нужно искать более чем в одном файле Contents .

Преимущество этого метода над dpkg --search состоит в том, что будут найдены файлы в тех пакетах, которые могут быть не установлены в вашей системе.

apt-file search foo

If you install the apt-file package, similar to the above, it searches files which contain the substring or regular expression foo in their full path names. The advantage over the example above is that there is no need to retrieve the Contents-ARCH.gz files as it will do this automatically for all the sources defined in /etc/apt/sources.list when you run (as root) apt-file update .

8.6. Why is `foo-data' not removed when I uninstall `foo'? How do I make sure old unused library-packages get purged?

Some packages are split in program (`foo') and data (`foo-data') (or in `foo' and `foo-doc'). This is true for many games, multimedia applications and dictionaries in Debian and has been introduced since some users might want to access the raw data without installing the program or because the program can be run without the data itself, making `foo-data' optional.

Подобное относится и к библиотекам: обычно они устанавливаются, так как пакеты приложений зависят от них. Когда пакет приложения вычищается, пакет библиотеки может остаться в системе. Или когда пакет приложения больше не зависит, скажем, от libdb4.2, а зависит от libdb4.3, то пакет libdb4.2 может остаться в системе при обновлении пакета приложения.

In these cases, `foo-data' doesn't depend on `foo', so when you remove the `foo' package it will not get automatically removed by most package management tools. The same holds true for the library packages. This is necessary to avoid circular dependencies. However, if you use apt-get (see Раздел 8.1.2, «APT») or aptitude (see Раздел 8.1.3, «aptitude») as your package management tool, they will track automatically installed packages and give the possibility to remove them, when no packages making use of them remain in your system.

[5] Notice that there are ports that make this tool available with other package management systems, like Red Hat package manager, also known as rpm

Как установить программу в дебиан. В этой статье я расскажу как. Программы в дебиан и дистрибутивах основанных на Debian распространяются с помощью репозиториев (как настроить репозиторий рассказывал здесь) и отдельных пакетов с расширением *.DEB.

Установка программ в Debian и дистрибутивах на его основе не отличается. Рекомендованный способ это - репозиторий. Старайтесь не использовать установку программ из пакетов полученных иным путем. Рассмотрим способы как с помощью терминала так и в графическом интерфейсе.

Установка программ в Linux Debian и производных с помощью терминала

Для поиска, проверки, установки, обновления и удаления программных пакетов в дебиан и дистрибутивах основанных на нем (Ubuntu, LinuxMint, Elementary OS, Kali Linux и др.) используется пакетный менеджер APT - advanced packaging tool.

Для примера установим двухпанельный файловый менеджер Midnight Commander. Cначала обновите список пакетов:

ДЛЯ СПРАВКИ: В ранних версиях дистрибутива, таких как дебиан 7 и старше, требовалось указывать команду "apt-get". Такой вариант команды работает и в современных системах. Но я буду использовать обновленный вариант.

Продолжим. Теперь проверим есть ли пакеты для установки в наших репозиториях. Для поиска используем команду apt search имя_программы . Например:

На скриншоте ниже отображен результат поиска.

результат работы пакетного менеджера apt при поиске программы mc

Как видно из примера пакет доступен для установки. Что бы установить пакет используется команда apt install имя_пакета .

Как одной командой установить две и более программы или пакета с помощью терминала. Для этого, просто указывайте названия через пробел. Например, sudo apt install имя_программы_1 имя_программы_2 имя_программы_3 и так далее.

Будет установлен сам пакет и все зависимости. Продолжим на заданном примере. Как мы выяснили нужно установить пакет "mc". Даем команду:

Начнется установка программы. Потребуется указать пароль и подтвердить желание продолжить инсталляцию. Для того, что бы не подтверждать установку можно сразу задать атрибут "-y". Например, sudo apt install mc -y . Снизу виден прогресс бар отображающий процесс.

показан ход выполнения инсталляции пакета mc в debian

По завершении можно пользоваться программой. По моему это очень хороший двухпанельный файловый менеджер.

Пример запущенного mc

Для запуска программы из терминала в линкс нужно указать её имя. Например для работы с mc нужно указать команду mc . Пример выполнения смотрите на скриншоте.

Учтите, что приложение запустится с правами того пользователя под которым вы авторизовались в системе.

Если нужно выполнить команду от имени другого пользователя то нужно сначала авторизоваться под ним и запустить или использовать команду - sudo. Например, мы часто используем её при обновлении системы когда указываем sudo apt update .

Mc это консольная программа и открывается внутри терминала поэтому нам не мешает консоль.

Если же мы хотим открыть, например, браузер Firefox то он запустится и окно терминала тоже будет открыто а если консоль закрыть то закроется и браузер.

Чтобы запустить программу и автоматически закрылся терминал нужно использовать амперсанд (&) после имени программы тогда терминал можно будет закрыть. А для того, чтобы оно закрылось автоматически нужно дописать "exit". Например, Firefox & exit .

Debian установка пакетов

Теперь рассмотрим как установить deb пакеты в debian которого нет в репозиториях. Еще раз напомню, что такие пакеты нужно тщательно выбирать и не добавлять в систему все подряд.

Для примера я буду использовать пакет libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb для архитектуры AMD64. Я уже скачал пакет с официальной страницы.

Обращаю внимание, что это должен быть .deb пакет. Иногда программа распространяется в архиве. В таком случае архив нужно распаковать.

Работа с пакетами осуществляется с помощью низкоуровневой утилиты dpkg. При наличии пакета именно она позволяет устанавливать и анализировать его. Для установки пакетов применяется опция -i или --install  (подробную справку о программе можно получить используя команду man dpkg ).

Итак, использую команду cd для перехода в папку с пакетом. В моем случае это директория "Загрузки". Выполним команду:

пример установленного пакета с помощью dpkg в терминале линукс

Пакет установлен. Иногда возникает ситуация когда программа не может быть установлена из-за неудовлетворенных зависимостей. В этой ситуации в большинстве случаев поможет команда:

без указывания имени пакета. После этого все зависимости подтянутся и будут установлены.

Установка программ имеющих свой инсталлятор из файлов sh, run. Запуск sh скрипта

Программы распространяемые с собственным инсталлятором похожи на установку программ в windows с помощью файла setup.exe. С ними идет скрипт или бинарный файл в котором прописаны инструкции для установки этой программы.

Этот вариант так же не желателен! Но если вы уверены, что не навредит и программа вам нужна то можно установить.

Для установки зайдите в папку с программой, например, cd Загрузки и сделайте скрипт исполняемым командой chmod +x имя_скрипта.sh . Например:

Запуск скрипта sh в linux нужно производить из под учетной записи root или с помощью sudo. Пример, sudo ./имя_скрипта.sh . Теперь можно запустить скрипт командой:

Будет запущена установка программы. Программы и драйверы так же распространяются в самораспаковывающихся архивах. В этом случае будет один файл с названием приложения и расширением .sh.

Пример запуска исполняемого скрипт программы NeatBeans в debian

Как посмотреть установленные пакеты linux Debian

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

Для удобства можно вывести эту информацию в файл. Пример команды:

В этом случае список пакетов будет сохранен в текстовом файле в корне пользовательского каталога с именем package.txt.

Также можно использовать утилиту apt. Команда:

Что бы посмотреть установлена программа или пакет можно использовать команду

dpkg --get-selections имя_пакета. Для примера возьмем наш файловый менеджер mc. Команда будет такой:

Графический пакетный менеджер Synaptic

Теперь перейдем к рассмотрению установки программ в линукс Debian с помощью графического пользовательского интерфейса. Для этого в дебиан по умолчанию используется программа Synaptic.

Если по какой либо причине в вашей копии системы этой программы нет то установить её можно командой:

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

Окно запущенной программы Synaptic

В верхней части окна программы есть панель с кнопками. Я буду ссылаться на него по ходу рассказа.

Кнопки управления программы Synaptic

Для установки программ в Linux Debian с помощью Synaptic нужно выбрать пакет. Прежде всего обновите информацию о пакетах. Для этого можно нажать сочетание клавиш Ctrl+R либо кликнуть по кнопке "Обновить".

Затем, что бы вызвать меню поиска нажать сочетание клавиш Ctrl+ F или кликнуть по кнопке "Поиск". В открывшемся окне указать название программы или пакета. Например, Midnight Commander и нажать кнопку "Поиск".

Окно для поиска приложений в Synaptic

После завершения поиска будет выведен список с вариантами для установки. Можно выбрать пакет кликнув по нему левым кликом и посмотреть его описание.

Для установки нужно сделать правый клик по строке с выбранным пакетом. Появится контекстное меню в котором выберите пункт "Отметить для установки".

Добавление в очередь необходимых изменений в программы Synaptic width=

Откроется окно в котором будут показаны пакет и все зависимости которые потребуются для работы программы.

Добавление в очередь необходимых изменений в программы Synaptic

Завершенный процесс установки в Synaptic

Как установить быстрый фильтр в Synaptic

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

Читайте также: