Introduction
Note: The Main page is available in multiple languages.
Installing software in Ubuntu is easy, and this guide will show you how to do it.
By default, many useful programs are already installed when you put Ubuntu onto your computer. However, you may need a particular piece of software that serves a purpose not served by the default applications. You might just want to try an alternative program to one which is already installed. In other words, you need new software.
If you’d like to get some background information on what’s happening when you install software (which can sometimes be technical), read Packages and Package Management. If you just want to get started installing new programs, you can skip straight to Installing a Package.
Packages and Package Management
This section covers the basic concepts of packages and package management. You will learn about what a package is, the differences between different types of package and also how package management works on Ubuntu.
What is a package?
Software is a very broad term, and is generally taken to mean a program which you can run on your computer. However, such programs often need other resources to work. When you install software, thousands of files may be required just to let the program start! When you think that they all have to be put in exactly the right location, and some of those files may need to be changed depending on what type of computer you have, it can all get very complicated. Luckily, Ubuntu can look after this complexity.
Ubuntu uses packages to store everything that a particular program needs to run. A ‘package’, then, is essentially a collection of files bundled into a single file, which can be handled much more easily. In addition to the files required for the program to run, there will be special files called installation scripts, which copy the files to where they are needed (amongst other things).
Source or Binary?
Normally, when someone makes a package for a program, they put all of the source code for the program into that package. Source code is written by programmers and is essentially a list of instructions to a computer which humans are able to read and write. Computers can only understand this code if it is interpreted for them into a form that they can use directly. One such way of interpreting source code for a computer is by translating or compiling it into binary, which computers can understand.
So why don’t the people who make the package (called packagers) just convert it into binary from the start? Well, different computers use different types of binary, so if you make a binary package for one type (like an Intel PC), it won’t work on another (like a PowerPC).
Source packages are simply packages which just include source code, and can generally be used on any type of machine if the code is compiled in the right way. (For information on how to compile and install source packages, see CompilingEasyHowTo).
Binary packages are ones which have been made specifically for one type of computer, or architecture. Ubuntu supports the x86 (i386 or i686), AMD64 and PPC architectures. The correct binary packages will be used automatically, so you don’t have to worry about picking the right ones. To find out which one you are using, open Applications → Accessories → Terminal, type uname -m then hit the enter key.
Package Dependencies
Programs often use some of the same files as each other. Rather than putting these files into each package, a separate package can be installed to provide them for all of the programs that need them. So, to install a program which needs one of these files, the package containing those files must also be installed. When a package depends on another in this way, it is known as a package dependency. By specifying dependencies, packages can be made smaller and simpler, and duplicates of files and programs are mostly removed.
When you install a program, its dependencies must be installed at the same time. Usually, most of the required dependencies will already be installed, but a few extras may be needed, too. So, when you install a package, don’t be surprised if several other packages are installed too — these are just dependencies which are needed for your chosen package to function properly.
An example of dependencies
Package Managers
A package manager is an application which handles the downloading and installation of packages. Ubuntu includes a few package managers by default, and which one you use depends on how advanced the package management tasks are that you want to achieve. Most people will only need to use the most basic package manager, the Add/Remove tool, which is very easy to use.
Software Channels/Repositories
Where can you get packages from?
Ubuntu stores all of its packages in locations called software channels or repositories. A software channel is simply a location which holds packages of similar types, which can be downloaded and installed using a package manager. A package manager will store an index of all of the packages available from a software channel. Sometimes it will ‘re-build’ this index to make sure that it is up to date and knows which packages have been upgraded or added into the channel since it last checked.
There are four Ubuntu software channels for each architecture — Main, Restricted, Universe and Multiverse. Each has a different purpose. By default, only packages from Main and Restricted can be installed. If you would like to install packages from Universe or Multiverse, see the Repositories page for instructions on how to do this.
In addition to the official Ubuntu repositories, it is possible to use third party repositories. Be careful, though — some are not compatible with Ubuntu and using them may cause programs to stop working or may even cause serious damage to your installation. The page http://www.ubuntulinux.nl/source-o-matic (page removed — why) can help you to find extra repositories, and the Repositories page gives instructions on how to enable them.
Installing a Package
This section explains how to install packages using the various tools available in Ubuntu,Xubuntu,Edubuntu and Kubuntu.
Via your web browser
In the Ubuntu Documentation, you will sometimes find sentences like for example:
» To install this software in Ubuntu, install the following package: supertux. «
-
if the apturl protocol is enabled on your computer, you will be proposed to install the package called «supertux».
Via a basic graphical method
Note that some packages can’t be installed via this method, in this case please use another method.
for Ubuntu: «Sofware Centre «
In recent versions of Ubuntu, the «Add/Remove» option in the Applications menu has been replaced by the Ubuntu Software Center.
for Kubuntu : «Add/Remove Programs»
Kubuntu’s new and easy method of installing packages is to use the ‘Add/Remove Programs’ tool. Click K-Menu → Add/Remove Programs to start it.

Add/Remove Programs is a simple graphical way of installing and removing applications in Kubuntu. To launch Add/Remove Programs, choose K Menu → Add/Remove Programs from the desktop menu system.
To install new applications select the category on the left, then check the box of the application you want to install. When finished click Apply, then your chosen programs will be downloaded and installed automatically, as well as installing any additional applications that are required. The default selection is restricted to KDE suite, but GNOME applications can be installed simply by selecting from dropdown menu at the top. Alternatively, if you know the name of the program you want, use the Search tool at the top.
Software from additional repositories may be installed by enabling the Show: Unsupported and Show: proprietary software checkboxes if they are enabled in your repository list. For more information, see the Repositories page.
Once this has finished, click Close.Your new programs are installed, ready to use!
Via an advanced graphical method
for Ubuntu/Xubuntu/Edubuntu : Synaptic
The Synaptic Package Manager offers a more advanced way of installing packages. If you have problems finding a suitable package with the Add/Remove tool, try using the search in Synaptic. This searches all of the packages in the available repositories, even the ones which don’t contain programs.
For details on using Synaptic, see SynapticHowto.
Via a Text Based Methods
Text based methods can be used across Ubuntu, Kubuntu and Xubuntu, but require familiarity with the terminal. When helping users to install packages, you should consider using an AptURL instead of apt-get or aptitude.
Aptitude — the text-based method

Aptitude is a text-based package manager, which must be run from a Terminal. Read the AptitudeSurvivalGuide for more information on how to use Aptitude.
apt-get — the technical method
The apt-get program is a command-line package manager, which should be used if the Add/Remove tool and Synaptic ever run into problems. It provides an advanced interface to APT, the underlying package management system which Ubuntu uses, but is reasonably easy to operate. Power users may find that apt-get is quicker to use and more powerful than the graphical options above.
For details on how to use apt-get, read AptGet/Howto.
Installing downloaded packages
You may wish to install a package you have downloaded from a website, rather than from a software repository. These packages are called .deb files. Because they may have been created for a different Linux distribution, you might find that there’s dependency issues with Ubuntu, meaning that they may not be installable.
To find a package which you have previously downloaded using Synaptic, aptitude or apt-get, look in /var/cache/apt/archives
Using GDebi to install packages
GDebi is a simple tool to install .deb files. It has a graphical user interface but can also be used in your terminal. It lets you install local deb packages resolving and installing its dependencies.. It automatically checks packages for their dependencies and will try to download them from the Ubuntu software repositories if possible. You may first need to install GDebi — simply install the gdebi package using one of the package managers listed above, or open a Terminal and type sudo apt-get install gdebi.
Once you have installed GDebi, use the File Browser to find the package you wish to install. Package files will look similar to this:

Double-click the package to open it with GDebi. If all dependencies have been met for the selected package, simply click the ‘Install package’ button to install it. GDebi will warn you if there are unmet dependencies, which means that there’s dependencies that aren’t resolved in the repositories that you’re using.
Using dpkg to install packages
dpkg is a command-line tool used to install packages. To install a package with dpkg, open a Terminal and type the following:
Note: replace directory with the directory in which the package is stored and package_name with the filename of the package.
It is recommended that you read the dpkg manual page before using dpkg, as improper use may break the package management database. To view the manual page for dpkg, open a Terminal and type man dpkg.
Getting a list of recently installed packages
You can use the dpkg logs to discover recently installed packages; this is handy if you want to roll back some recent installations to a previous system state.
More detailed information on this can be found here.
Automatic updates: Update Manager
Ubuntu will automatically notify you when security updates and software upgrades are available. The Ubuntu Update Manager is a simple and easy to use application that helps users to keep their system software updated. Simply click the update icon (which will appear in the notification area), type in your super-user/administrator password and follow the instructions on-screen to download and install the updates.
Keeping up to date is important, as security fixes which protect your computer from harm are delivered in this way.

Installing packages without an Internet connection
Sometimes, an internet connection is unavailable to install programs.
It is possible to install programs without CDs or DVDs onto offline computers, using a simple USB key for example to transfer only the packages you need.
There are several methods to do this:
Use Keryx
Keryx is a portable, cross-platform package manager for APT-based (Ubuntu, Debian) systems. It provides a graphical interface for gathering updates, packages, and dependencies for offline computers. Keryx is free and open source. You can get Keryx here: https://launchpad.net/keryx
Use the Synaptic package download script
- Launch Synaptic on the offline computer
- Mark the packages you wish to install
Note: If you don’t have access to a PC with GNU/Linux or emulating/virtualizing GNU/Linux (Cygwin, VMware, VirtualBox, Qemu, etc), just open the script with a text editor and enter all the URLs you see in your browser to download the corresponding packages.
If you have all the necessary libraries and/or dependencies, the simplest way is of course to just download the .deb package you need, just as you would with a Windows installer, and double-click the package to install it with GDebi.
Use Offline apt-get update
If you can’t even select the packages on your offline PC because you can’t add the repository / update the package info, try this: AptGet/Offline/Repository
Basically, it consists in creating your own local repository, except that it won’t contain the packages themselves, only the dependency information.
The problem is that when you generate the package download list using this method, it will try to get the packages from your local repository and obviously fail.
The solution is to post-process the script by replacing the URLs with the correct one.
Assuming you created the local repository at «/home/username/repository» and got the different files from «http://archive.ubuntu.com/ubuntu/», this can easily be done with the following command:
or directly without creating a second script:
or simply with any text editor featuring search&replace.
Use apt-offline
apt-offline allows you to easily upgrade or install new packages on your offline PC, by using another online PC.
Установка deb пакета со всеми зависимостями

Некоторые программы, предназначенные для использования в дистрибутивах Linux на основе Debian/Ubuntu, для более простой установки упакованы в файлы формата deb, однако в процессе установки такого файла может вылезти одна неприятная мелочь — например, устанавливаемая программа зависит от какого-нибудь другого пакета, которого нет в системе.
Установить deb пакет и необходимые для его нормальной работы пакеты можно следующим образом:
Установка через gdebi
Самым простым способом является использование утилиты gdebi, предназначенной для установки deb пакетов и автоматической установки всех остальных нужных пакетов. Использовать её очень просто:
Установка через dpkg и докачивание нужных пакетов через apt-get или aptitude
Устанавливаем deb пакет как обычно:
В процессе установки появится ошибка, что нет необходимых пакетов. Запускаем команду:
Внимательно читаем предложенные варианты, в первом может предложить удалить пакет из deb файла — тут нужно отказаться, после чего будет предложено скачать все необходимое для нормальной работы устанавливаемого пакета.
Установка через apt-get или aptitude
Копируем нужный для установки deb файл в следующую папку:
И ставим будто обычный пакет:
В процессе установки apt/aptitude сам предложит установить все необходимые пакеты.
Была ли эта статья Вам полезна?
Комментарии к статье (5)
-
- Гость
- 04.12.2022 15:47
Дублирование help’а к системе. Ничего не установилось.
- Ответить
- Гость
- 21.01.2022 10:58
E: Невозможно найти пакет libgnome-2-0_2.32.1-6_amd64.deb
E: Не удалось найти ни один пакет с помощью шаблона «libgnome-2-0_2.32.1-6_amd64.deb»
E: Не удалось найти ни один пакет с помощью регулярного выражения «libgnome-2-0_2.32.1-6_amd64.deb»- Ответить
-
- Recluse
- 21.01.2022 20:01
Если вы рассчитываете получить какую-то помощь, то следует хотя бы написать, какие действия были выполнены, которые привели к подобному результату.
Извлечение deb пакетов с зависимостями в Ubuntu (Debian)
1. Компьютер «донор» с предустановленной операционной системой Ubuntu (Debian) и установленными необходимыми вам deb пакетами.
2. Подключение к интернету (желательно высокоскоростное подключение в среднем количество загружаемых пакетов с репозитариев около 1 гб — это зависит от вашей сборки Ubuntu (Debian))
3. Место на локальном диске куда будут скидываться пакеты.
4. Права root (права администратора).
Для начала необходимо установить пакет dpkg-repack:Специально для ленивых пишем sh скрипт с помощью редактора текста (конечно все это можно сделать прям из консоли терминала):
debex.sh (даем произвольное имя файлу какое вам нравится )
Делаем этот sh-скрипт исполняемым как приложение и запускаем его:
Ждем выполнение скрипта. (под правами администратора он создаст директорию DEB (эту директорию вы можете указать самостоятельно в sh-скрипте) в корневом каталоге пользователя куда скинет все собранные пакеты — удалить данную директорию(папку и файлы) вы сможете так же с правами администратора).
Теперь можно поступить несколькими способами:
1. Взять программу APTonCD и создать диск-репозитария добавив данные пакеты для записи на диск.
2. Использовать пакеты для установки по отдельности(не есть хорошо так как система может не найти зависимых пакетов).
3. Создать локальный репозитарий:
Теперь установить пакеты на компьютере с Ubuntu (Debian) не составит особого труда. Достаточно добавить диск-репозитарий в список рипозитариев менеджера пакетов Synaptic — при установке нужного пакета Synaptic сам выстроит зависимости и подгрузит их из нашего диска-репозитария.
Записки IT специалиста
Linux — начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
- Автор: Уваров А.С.
- 20.09.2019
Умение устанавливать, обновлять и удалять программное обеспечение относится к важнейшим навыкам работы с любой операционной системой. Поэтому изучение данного вопроса первостепенная задача для любого начинающего пользователя Linux, сразу после того, как он немного осмотрелся в системе. К сожалению, нет единого способа управления ПО, подходящего для всех дистрибутивов, разные семейства предполагают различные подходы, хотя общие принципы во многом совпадают. В данном материале мы будем разбирать вопрос применительно к системам основанным на Debian и Ubuntu.Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Пакеты и репозитории
Слова, вынесенные в подзаголовок, знакомы любому пользователю Linux, но не все знают, что именно за ними кроется. Начнем с пакетов. Пакет — это архив специального формата, который содержит все необходимые приложению бинарные и конфигурационные файлы, информацию о том, как их следует разместить в файловой системе, данные о зависимостях пакета, а также список действий которые необходимо выполнить в процессе установки. Вы можете сами открыть любой пакет при помощи архиватора и посмотреть, что у него внутри.

Существуют различные форматы пакетов, наиболее распространенными из которых являются RPM (рекурсивный акроним RPM Package Manager, ранее Red Hat Package Manager) и DEB (сокращение от Debian). Первый используется в основанных на Red Hat/Fedora дистрибутивах, а также некоторых иных, например, OpenSUSE, второй — во всем многочисленном семействе систем на базе Debian и его производных, включая один из самых популярных дистрибутивов — Ubuntu.
Несмотря на разные форматы, общие принципы построения и управления пакетами в различных Linux системах совпадают, поэтому если вы овладеете приемами работы с одним форматом пакетов, то переучиться на другой не составит особого труда.
Еще одна особенность пакетов Linux вытекает из следования некоторым постулатам философии Unix, а именно каждый пакет содержит только необходимый минимум файлов и библиотек, все остальные необходимые ему компоненты указываются в качестве зависимостей. Причем разделение на небольшие пакеты присутствует даже у одного продукта: в один пакет могут быть включены бинарные файлы, во второй — общие библиотеки, в третий — документация и т.д. и т.п. Это позволяет достаточно гибко управлять процессом разработки и поддержки, если разработчики внесли изменения в какую-то библиотеку, то вам не нужно снова скачивать продукт целиком, достаточно обновить только пакет с библиотекой.
Кроме того, при разработке свободного ПО широко используются наработки других проектов, действительно, зачем повторно изобретать велосипед, если нужные функции уже есть в библиотеке другого проекта. Достаточно просто указать нужный пакет в зависимостях, при этом скачивать весь сторонний проект также будет не нужно, достаточно только необходимых пакетов.
Все это хорошо, скажет иной читатель, только как мне узнать какие именно пакеты мне нужно установить, чтобы получить на выходе полноценный продукт, как разобраться во всем этом обилии непривычных названий? Для этой цели существуют метапакеты. По сути — это пакет пустышка, который в своих зависимостях имеет нужный перечень пакетов для установки готового продукта. Например, если нужен офисный пакет, то достаточно просто установить libreoffice, этот метапакет по зависимостям подтянет и установит все необходимые компоненты для полного набора офиса, каким вы его привыкли видеть. Хотя никто не мешает установить самому только нужные компоненты, скажем только LibreOffice Calc.

Следующий вопрос — где брать пакеты? Windows опыт подсказывает — на сайте разработчика или производителя ПО. Но этот подход в Linux не работает, точнее работает частично. Почему? Ну вот скачали мы нужный пакет и выясняется, что у него еще 10 пакетов в зависимостях, где их брать? На сайтах их разработчиков, а у них окажутся свои зависимости. Поэтому в Linux были созданы и поддерживаются централизованные хранилища пакетов — репозитории. Каждый крупный дистрибутив имеет собственные репозитории для всех поддерживаемых выпусков и архитектур, которые содержат огромное количество ПО и поэтому вам не следует волноваться о том, где искать пакеты.
Кроме того, установка пакетов в обход репозитория может быть небезопасна и считается правилом дурного тона, хотя и применяется, в основном для коммерческого ПО. Наличие репозиториев также позволяет централизованно обновлять пакеты, достаточно сравнить текущие версии пакетов с версиями в репозитории и скачать нужные обновления. Это удобно, так как одновременно обновляется и система и все установленное в нее ПО.
Кроме того, собственные репозитории существуют и у разработчиков. Поэтому, если вы хотите получать самую свежую версию нужного вам продукта, не дожидаясь пока ее включат в дистрибутив, то можете подключить репозиторий разработчика и обновлять его оттуда.
Как правило типичный дистрибутив на базе Debian имеет четыре основных репозитория:
- Base repository — основное хранилище, содержит все пакеты, но обновляется достаточно редко, обычно одновременно с выходом минорной версии дистрибутива, например, Debian 9.6, Debian 9.7 и т.д.
- Security updates — обновления безопасности, являются критически важными для функционирования системы и крайне желательны к установке.
- Stable updates — стабильные обновления, не являющиеся обновлениями безопасности, могут исправлять некритические ошибки в ПО или незначительно расширять его функционал в рамках текущей версии.
- Stable backports — стабильное ПО с обратной совместимостью, содержит прекомпилированные для текущего дистрибутива самые свежие версии ПО, которые разрабатываются в рамках новой версии, позволяет использовать более новые версии программ, не подвергая стабильность дистрибутива угрозам при использовании пакетов тестируемой или нестабильной ветки.
Каждый репозиторий состоит из нескольких разделов, в Debian это:
- main — содержит пакеты, которые полностью совместимы с «Критериями Debian по определению Свободного ПО»
- non-free — распространяемое без ограничений ПО, которое не соответствует или не полностью соответствует принципам свободного ПО по версии FSF (Free Software Foundation, Фонд свободного ПО)
- contrib — свободное ПО, которое требует для работы несвободные компоненты, например, бинарные модули драйверов, прошивок ROM и т.д., либо требует ПО, имеющее собственника, скажем несвободную версию Java от Oracle.
В Ubuntu разделы немного иные:
- main — также, как и в Debian содержит свободные пакеты, поддерживаемые компанией Canonical
- restricted — несвободное ПО, поддерживаемое Canonical
- universe — свободное ПО, поддерживаемое сообществом
- multiverse — несвободное ПО, поддерживаемое сообществом.
Список подключенных репозиториев хранится в /etc/apt/sources.list, ниже показано содержимое этих файлов в Debian 10 (слева) и Ubuntu 18.04 (справа).

В Debian все достаточно лаконично, подключен только раздел main трех репозиториев Base, Security updates и Stable updates, если вам нужны иные разделы, то их следует подключить самостоятельно, добавив через пробел в нужную строку.
В Ubuntu более развернутый список репозиториев, он полностью не уместился на скриншот, но для понимания структуры записей приведенного фрагмента хватает. Сверху вниз подключены Base и Security updates для поддерживаемых компанией разделов, затем они же вместе для свободного и несвободного ПО поддерживаемого сообществом, а вот Stable backports прописан для всех веток одновременно, еще ниже (за пределами экрана на скриншоте) подключены Security updates и специальный партнерский репозиторий для пакетов партнеров компании Canonical.
Типичная запись репозитория выглядит как строка со следующей структурой:
Строка начинается с deb, который обозначает репозиторий с двоичными пакетами или deb-src для репозиториев с исходным кодом, если вы не собираетесь самостоятельно собирать пакеты, то вам они не нужны. Далее идет адрес репозитория и имя выпуска, для Debian это buster, для Ubuntu — bionic, затем следует перечисление подключенных разделов, в указанном примере подключены все три.
Адреса репозиториев сохраняются постоянными, отличаясь только именами выпуска, поэтому если вам нужно обновить выпуск, скажем с Debian 9 на Debian 10, то вам просто потребуется заменить везде stretch (имя девятого выпуска) на buster.
Также в Debian можно использовать вместо имен классы выпусков:
- stable — текущий выпуск дистрибутива,
- oldstable — предыдущий выпуск,
- testing — разрабатываемый выпуск,
- unstable — нестабильный выпуск, он же имеет собственное имя sid.
Но на практике это не используется, так как при выходе нового релиза вы получите его автоматическое обновление, что в большинстве случаев неприемлемо. Хотя если вы энтузиаст и хотите всегда быть на переднем крае прогресса, то можете везде прописать testing, получив аналог популярных ныне rolling release дистрибутивов, которые не имеют закрепленной версии и всегда предоставляют наиболее свежий срез пакетов, зачастую ценой стабильности.
Для добавления собственных источников пакетов предназначена директория /etc/apt/sources.list.d/ в которой следует располагать файлы с адресами источников и обязательным расширением .list. Хотя их можно прописать и в основной файл, но это считается дурным тоном.
Низкоуровневый менеджер пакетов Dpkg
Все это время мы говорили о пакетах и не касались вопроса каким образом происходит их установка. В Windows все просто, инсталлятор является исполняемым файлом и сам производит все необходимые действия, в Linux это не так и для работы с пакетами нам потребуется специальная утилита — пакетный менеджер.
Основой системы управления пакетами в Debian является dpkg — достаточно низкоуровневая утилита, предназначенная для получения информации, установки и удаления пакетов. Назвать ее менеджером пакетов в современном смысле этого слова достаточно затруднительно, dpkg не умеет работать с репозиториями и разрешать зависимости. Но тем не менее этот инструмент достаточно широко используется по сей день и навыки работы с ним необходимо иметь каждому администратору.
Данная утилита обычно используется для установки пакетов, скачанных вручную, например, коммерческого ПО. Синтаксис ее довольно прост и легко запоминается. Прежде всего полезно получить информацию о пакете, чтобы узнать его зависимости и возможные конфликты, для этого выполните:

Для установки просто выполните:
Но помните, что dpkg не умеет разрешать зависимости и вы должны будете сделать это вручную, либо скачать все необходимые пакеты и установить их в нужном порядке, это можно поручить dpkg, запустив его с маской в имени пакетов:
Такая конструкция установит все находящиеся в данном расположении deb-пакеты, так что будьте внимательны, либо используйте более узкие маски.
Чтобы получить сведения о всех доступных и установленных пакетах используется ключ -l, но он выведет список всех пакетов, поэтому следует использовать его с маской, например, так:

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

Теперь мы видим больше пакетов, как установленных в системе, так и доступных в репозитории. Но это не все пакеты, относящиеся к gimp, так как наша маска предписывает искать пакеты, которые начинаются на gimp и игнорирует иные варианты. Поэтому, если вы не уверены, что правильно задали маску, можно пойти другим путем, отдав вывод dpkg команде grep, которая найдет все нужные вхождения.

В этом случае вы получите список только установленных, либо удаленных, но имеющих оставшиеся части (например, конфигурационные файлы) пакетов, но при этом будут найдены все вхождения указанной строки, даже в середине имени, в данном случае мы обнаружили ранее не найденную библиотеку libgimp2.0
Для удаления пакета используйте:
Обратите внимание, что здесь мы указываем не имя deb-файла, а имя установленного пакета, узнать его можно способом, представленным выше. Часто после удаления пакета от него остаются конфигурационные файлы и иные данные, полностью очистить их можно командой:
Но будьте внимательны, при этой операции могут быть удалены пользовательские данные, хранившиеся в стандартных расположениях. Это актуально для таких видов программ, как веб-сервера или СУБД.
На этом мы закончим знакомство с dpkg, ограничившись наиболее часто необходимыми в повседневной деятельности командами, а сами перейдем к более высокоуровневым инструментам.
Улучшенный инструмент для работы с пакетами APT и команды apt и apt-get
Настоящим пакетным менеджером в Debain является APT (Advanced Package Tool, Улучшенный инструмент для работы с пакетами), который умеет работать с репозиториями, разрешать зависимости и взаимодействовать с dpkg, которая, собственно, и занимается установкой пакетов.
APT имеет два интерфейса командной строки: apt-get и более новый apt. Их синтаксис и возможности во многом схожи, и мы будем практически всегда использовать последний, кроме отдельных случаев, когда требуемые возможности поддерживает только apt-get.
Как мы уже говорили, списки репозиториев хранятся в /etc/apt/sources.list, но они не содержат сведений о пакетах, чтобы их получить нужно скачать из репозитория список находящихся в нем пакетов. Понятно, что каждый раз скачивать списки — плохая идея, поэтому APT хранит локальный кеш пакетов в /var/lib/apt/lists, также копии всех скачанных пакетов сохраняются в /var/cache/apt/archives, что позволяет предотвратить их скачивание в случае повторной установки.

Списки пакетов представляют собой простые текстовые файлы с перечнем пакетов в репозитории, данными о пакете, его зависимостях и его расположении в структуре репозитория, один из таких списков открыт на скриншоте выше.
APT всегда работает с локальным кешем списков, поэтому перед любыми действиями с пакетным менеджером следует обновить списки в кеше. Это можно сделать командой, которая должна быть широко известна нашим читателям:
Команда проверяет версии списков в репозитории и при необходимости скачивает их новые версии, после чего анализирует список установленных пакетов и сообщает о доступных обновлениях, увидеть список пакетов, для которых доступны обновления можно командой:

Установить обновления можно командой:
Это безопасный способ обновления, при котором обновляются только установленные пакеты и не происходит установки новых пакетов, если они затрагивают текущие версии, также не удаляются убранные из репозитория пакеты. Если же вы хотите установить самые последние версии пакетов, то следует воспользоваться иной командой:
Следует понимать разницу в работе этих команд, потому что во многих случаях результат их работы оказывается одинаковым и кажется, что разницы между ними нет. Например, в ситуации, показанной на скриншоте выше обе команды отработают одинаково.
Обычные обновления следует выполнять командой upgrade, тогда как dist-upgrade следует использовать для обновления дистрибутива, в том числе и на минорные версии в составе текущего выпуска.
Для установки пакетов следует использовать команду:
Если нужно установить несколько пакетов, то их следует перечислить через пробел. Система проанализирует изменения и либо выполнит установку, либо попросит дополнительного подтверждения, особенно если нужно установить большое количество новых пакетов по зависимостям.

В целом APT хорошо знает свое дело, но мы все равно советуем обращать внимание на состав добавляемых и, особенно, удаляемых пакетов. Также не будет лишним изучить список предлагаемых пакетов, там вы можете найти много интересного и полезного, что позволит расширить возможности устанавливаемого ПО и о чем вы могли даже не догадываться.
Для удаления пакета используйте:
Это удалит сам пакет, но оставит его конфигурационные файлы (если они были изменены) и прочие данные. Для полного удаления пакета со всеми его данными используйте другую команду:
Но будьте внимательны, так как эта команда удалит все данные пакета, в том числе и добавленные пользователем в стандартные расположения, данные, находящиеся в домашних директориях пользователей при этом удалены не будут.
Дополнительно остановимся на таком виде пакетов, как пакеты установленные автоматически. Это пакеты, которые были установлены по зависимостям иных пакетов и после удаления или обновления последних могут более никем не использоваться. APT отслеживает такие пакеты и сообщает о них пользователю.

Удалить их можно командой:
Как можно заметить, APT достаточно дружелюбен к пользователю, постоянно подсказывая ему необходимые команды, что в очередной раз развеивает миф о сложности администрирования Linux, особенно в режиме командной строки.
Также иногда может потребоваться возможность очистить кеш скачанных пакетов, скажем при недостатке места на диске, это можно сделать, введя:
Эта команда полностью очистит кеш, также можно использовать более мягкую очистку с помощью apt-get, который дает возможность удалить из кеша только те пакеты, которые на текущий момент отсутствуют в репозитории (были заменены новыми версиями или удалены):
Затронем еще один интересный момент, допустим вы в своих экспериментах удалили или еще как-либо повредили входящие в состав пакета файлы, но система считает, что пакет установлен и отказывается устанавливать его повторно. Но можно всегда переустановить пакет:
Еще одна важная возможность APT — это восстановление нарушенных зависимостей и автоматическое исправление ошибок при установке пакетов, например, когда процесс обновления или установки был аварийно прерван. Либо когда вы установили некоторый пакет при помощи dpkg и при этом у него оказались неудовлетворенные зависимости. Все это в большинстве случаев отлично исправляется одной простой командой:
Также иногда бывает нужно проверить что произойдет при установке пакета без его установки, особенно если у нас есть подозрения, что мы можем что-то сломать в системе. Для этого запустите команду установки с ключом -s:
Система смоделирует все необходимые действия и покажет вам результат, после чего вы сможете принять верное решение без опасных экспериментов над ней.

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

Для получения информации о пакете просто введите:

Еще одна задача, с которой может столкнуться администратор — это фиксация версии пакета, допустим вы собрали и установили собственный пакет с нужными вам функциями и не хотите чтобы при обновлении системы он был заменен стандартным из репозитория. Не проблема, отметьте пакет как зафиксированный:
Чтобы отменить фиксацию выполните:
Объем данной статьи не позволяет рассмотреть все возможности apt, поэтому мы ограничились наиболее необходимыми в повседневной деятельности, ну и в завершение небольшая порция юмора. Если запустить команду apt без параметров, то вы увидите краткую справку в самом конце которой будет строка: В APT есть коровья СУПЕРСИЛА. Что это значит? Просто наберите:
И вы увидите старую пасхалку от разработчиков, которая была еще в apt-get, а затем ее заботливо перенесли в apt.

Графические оболочки Aptitude и Synaptic
Кроме родных для APT консольных интерфейсов apt-get и apt существуют и более высокоуровневые оболочки. Одна из них aptitude, которая может работать как в псевдографическом режиме, так и в режиме командной строки, имея синтаксис во многом повторяющий синтаксис apt. Благодаря этому многие воспринимают эту утилиту как еще один интерфейс к APT, хотя основной задачей разработчиков было именно создание псевдографической интерактивной оболочки.

В современных дистрибутивах Debian и Ubuntu aptitude отсутствует в основной поставке и вам потребуется установить этот пакет отдельно.
Если вы используете настольную версию Linux, то вам будет доступен графический менеджер пакетов Synaptic, он также отсутствует в основной поставке основных дистрибутивов и может быть установлен вручную. Данный пакет представляет собой опрятный и удобный графический интерфейс над APT, в тоже время дающий администратору все возможности по тонкой настройке процесса.

Однако не смотря на то, что Aptitude и Synaptic являются зрелыми и эффективными инструментами, мы бы не рекомендовали их использование по крайней мере до тех пор, пока вы не освоите работу с базовым интерфейсом apt.
Магазины приложений
Если мы говорим о настольных системах, то нельзя обойти вниманием магазины приложений. Это модный тренд, пришедший из мира мобильных устройств, но быстро завоевавший популярность и в настольной среде. Действительно, системой могут пользоваться разные люди, они могут являться хорошими специалистами в своей отрасли, но им совершенно не хочется разбираться в устройстве системы, а нужно просто включить компьютер в розетку и работать с ним.
Такой подход может вызвать возмущение у продвинутых пользователей и энтузиастов, но он имеет право на жизнь. Компьютер давно перестал быть уделом избранных и стал неотъемлемой частью нашей жизни. Проведем простую аналогию: сев за руль автомобиля многие из нас просто заводят его, нажимают педали, переключают рычаг коробки передач, не задумываясь о том, какие процессы происходят внутри, а в случае каких-либо неполадок отгоняют машину на сервис.
Так и в современном Linux, если раньше эта ОС ассоциировалась преимущественно с энтузиастами и «хакерами», то сейчас это система открыта для всех. Магазины приложений — это простой и надежный способ управления программным обеспечением для обычных пользователей, не имеющих специальных технических знаний. А опытный администратор, скорее всего, предпочтет работу в привычной ему командной строке.
Ниже показан магазин для актуальной версии Debian

или Ubuntu
ЗаключениеКак видим, Debian и основанные на нем системы предоставляют широкий выбор инструментов для управления пакетами, начиная от утилит командной строки и заканчивая магазинами приложений. Каждый найдет инструмент себе по душе. Но для начинающих администраторов мы бы рекомендовали в обязательном порядке осваивать базовые инструменты, такие как dpkg и apt, потому что ситуации бывают разные, а базовые инструменты, в отличие от графической оболочки или псевдографических утилит, доступны всегда.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:
