После установки дистрибутива, вместе с базовой системой устанавливается достаточно большое количество сторонних программ, это офисные приложения, программы для работы с графикой и видео, чаты интернет-браузеры и даже игры. На первое время этих программ хватает и кажется даже, что их очень много если вы новичок.
Но с каждым днем появляются новые программы для Linux, многие из них лучше чем, те что сейчас есть. Это новые окружения рабочего стола, новые текстовые редакторы, медиаплееры и так далее. К тому же, если вы хотите заменить одну из уже установленных программ, вам нужно найти что-то новое, что-то лучше.
Важно всегда быть в курсе новинок программного обеспечения, чтобы использовать самые новые, самые безопасные и самые лучшие программы для решения своих задач. Конечно, если вам нужна замена для уже известной программы вы можете просто найти ее в Google. Скорее всего, уже на первой странице попадется что-нибудь толковое. Но также можно составить список ресурсов, на которых можно следить за новинками в мире программного обеспечения Linux.
В этой статье мы рассмотрим как и где искать программы Ubuntu 16.04 и для Linux в целом.
Перед тем как перейти к списку источников новых программ для Ubuntu, давайте рассмотрим как их устанавливать. Установка программ в операционных системах Linux отличается оттого, что вы привыкли видеть в Windows. Здесь возможна установка не только скачиванием программы из интернета и запуском установочного файла, но также есть установка из репозиториев дистрибутива. Это два основных способа установки программ но они делятся на более маленькие:
- Установка программ из центра приложений
- Установка программ с помощью пакетного менеджера
- Установка программ из файла
- Сборка программ из исходников
- Установка с помощью установщика
- Портативные программы
Самый распространенный и наиболее приемлемый способ установки программ в Linux – из официальных репозиториев, это установка с помощью пакетного менеджера и из центра приложений. Репозитории поддерживаются разработчиками дистрибутива, и содержат только проверенные и надежные программы. Но есть возможность также просто скачать установочный пакет в интернете и установить его, например, с помощью dpkg или gdebi. Также возможна сборка программ из исходных кодов, но такой вариант не для начинающих.
Рекомендуется устанавливать программы только из официальных репозиториев. Поскольку таким образом вы получаете надежное ПО, а также легкое обновление в случае выхода новой версии. Подробнее о каждом способе установки мы поговорим ниже, поскольку на этих способах и завязаны способы поиска пакетов.
Используйте центр приложений
Центр приложений – это графическая программа, очень похожая на Windows Store, GooglePlay и т д. Здесь вы можете не только устанавливать программы, но и искать новые просматривая категории или используя поле поиска. Неважно какой центр приложений вы будете использовать Ubuntu Software, Gnome Software все они имеют одинаковую функциональность.
Например, на главной странице Ubuntu Software вы можете видеть самые популярные среди других пользователей приложения, а также персональные рекомендации для вашего аккаунта Ubuntu One:
Также можете искать программы по категориям:
Или с помощью формы поиска, если знаете что нужно найти.
У каждой программы есть подробное описание, рейтинг и пару снимков экрана. Но у такого способа искать новые программы Linux есть серьезный недостаток – вам доступны только старые и проверенные программы из официальных репозиториев, новинок вы здесь не увидите. Тем не менее это оптимальный вариант для новичков. Во всяком случае по простоте установки.
Поиск программ в репозиториях
Как правило, в центрах приложений находятся только те программы, для которых кем-то была создана страничка. Но в самих репозиториях дистрибутива программ намного больше. Вы можете использовать пакетный менеджер с графическим интерфейсом, например, Synaptic для поиска программ ubuntu, или же довольствоваться утилитой командной строки apt или aptitude.
Рассмотрим Synaptic. Здесь вы можете видеть все пакеты, которые есть в ваших репозиториях, в том числе и подключенных к системе PPA. Искать новые программы для Linux тут не очень удобно, потому что здесь перемешаны и консольные утилиты и графические приложения, и библиотеки, ну в общем, все что есть в репозиториях есть здесь.
Чтобы поиск программ Linux был более удобным, вы можете использовать категории, они не такие проработанные, как в центре приложений, но они есть и позволяют навести кое-какой порядок в списке программ. Например, можно выбрать только пакеты видеопрограмм, музыкальные плееры или только библиотеки:
Консольный пакетный менеджер Apt позволяет искать программы только по имени. Такой вариант подходит, если вы знаете что ищете. Например, для поиска программы используйте apt-search:
apt search имя_программы
Также вы можете вывести в один список все доступные программы:
apt list --all-versions | less
Подробнее об использовании apt можете прочитать в статье apt vs apt-get.
Но как вы понимаете, использовать Synaptic намного удобнее, здесь тоже есть описание программы но там намного удобнее навигация.
Портативные программы Snap, Flatpak
В последнее время большую популярность начали набирать портативные приложения. Это Snap, разрабатываемый в Canonical и Flatpack, от разработчиков Gnome.
Snap уже готов к использованию и поставляется вместе с дистрибутивом Ubuntu 16.04, а также доступен для ряда других дистрибутивов. Многие разработчики новых программ создают Snap пакеты для своих работ. Сейчас таких программ не так уж много и вы можете все их просмотреть, чтобы выяснить, нет ли там чего интересного.
Для того чтобы искать программы для Ubuntu с помощью snap наберите:
snap find
Сейчас программ совсем немного, но кроме названия, здесь есть описание для каждой программы. В этом репозитории есть не все snap пакеты. Еще больше программ вы можете найти на uappexplorer.com:
Здесь программы тоже распределены по категориям, имеют рейтинг и описание. Программу можно скачать на ее странице:
А затем установить командой:
sudo snap install имя_файла.snap
Новые программы на Electron
Electron – это платформа от GitHub для создания программ рабочего стола с помощью веб-технологий на JavaScript, Node.js и движке Chromium. Сейчас много новых и интересных программ разрабатываются на платформе Electron. Яркие тому доказательства утилита для заметок SimpleNote и приложение для управления сайтом – WordPress. Здесь есть не только текстовые редакторы и веб-клиенты, но и среды программирования, браузеры и даже медиаплееры.
Все разработанные на Electron программы размещены на сайте electron.atom.io и доступны для бесплатной загрузки:
Каждую из них вы можете скачать с ее официального сайта. Затем остается распаковать архив и запустить программу двойным щелчком. Также этот сайт можно использовать только в качестве базы для поиска, а устанавливать программы через PPA, такой вариант более приемлемый.
Найдите программы на pkgs.org
Сайт Linux Packages Search (Pkgs.org) индексирует официальные и некоторые неофициальные репозитории deb и rpm пакетов для нескольких дистрибутивов Linux. Вы можете искать программы по общим ключевым словам, например, Music:
Но лучше всего будет эффект, когда вы знаете точное название программы. Здесь удобно проверять есть ли версия нужной программы для вашего дистрибутива. У каждого пакета есть своя страница, где вы можете его скачать или посмотреть более подробную информацию о нем и его зависимостях:
Если вам не нужны пакеты для всех дистрибутивов, а только для Ubuntu, вы можете воспользоваться официальной базой пакетов – http://packages.ubuntu.com/.
Ищите альтернативы для Windows программ
Чаще всего мы хотим не просто какую-нибудь новую программку, а программу, которая бы реализовала нужные нам функции. Если вы знаете программу для Windows, которая выполняет нужные действия, то вы можете найти программу с аналогичной функциональностью с помощью сайта alternativeto.com. Просто введите название нужной программы и веб-сайт покажет вам ее альтернативы:
По умолчанию сайт ищет все альтернативы, но мы можем установить фильтр на только для Linux или только Open Source. Для каждой программы есть описание и несколько снимков экрана.
Поиск новых программ в интернете
Не всегда нам нужно срочно ту или иную программу с необходимой функциональностью. Иногда нам просто интересно посмотреть, что же нового появилось в мире Linux. Возможно, вы хотите идти в ногу с новинками открытого программного обеспечения или хотите присоединиться к проекту в качестве бета-тестера.
В интернете, кроме базы программ на платформе Electron, существует много сайтов, собирающих новые программы. Обычно такие сайты делятся на два типа: старые, предоставляющие только список ссылок, и более новые с подробным описанием программ и даже снимками экрана. Рассмотрим несколько таких сайтов, все сайты на английском:
Free Software Directory – фонд свободного программного обеспечения собирает и каталогизирует приложения и информацию о выходе новых версий. Это позволяет искать программы по ключевым словам. Сайт выглядит как вики, у каждой программы есть своя страница с небольшим описанием и ссылкой для загрузки. Кроме того, здесь есть отдельный раздел “новые программы” где вы можете посмотреть новинки.
Linux Links – один из тех сайтов, где каждый пользователь сможет для себя что-то найти. В отличие от первого варианта может здесь и нет самых свежих новостей, но зато программы рассортированы по категориям и под-категориям и вы можете потратить несколько часов, чтобы просмотреть все что вас интересует. Здесь есть списки лучших приложений для решения различных задач. Для некоторых программ написаны мини-обзоры со списком возможностей и снимками экрана (правда, все по-английски).
openDesktop – этот сайт выглядит очень похожим на такие проекты, как gnome-look.org и kde-look.org, это потому, что он все это части одного проекта. Его очень просто использовать, здесь тоже есть описания, снимки экрана, рейтинги и ссылки для загрузки. Одни словом, все что нужно, чтобы искать программы для Linux.
Linux App Finder – это отличная коллекция программного обеспечения для Linux, которую вы можете использовать различными способами. В разделе Alternatives вы можете подобрать альтернативы для Windows и MacOS приложений. Также есть возможность искать программы по категориях и подкатегориях. Кроме того, есть рейтинги самых просматриваемых, высокого оцененных приложений. Для каждой программы есть своя страница с информацией. Все пользователи могут зарегистрироваться и редактировать информацию о программе.
Open Source Software Directory – этот сайт предлагает немного другой подход к поиску программ ubuntu. Программы разделены по задачам пользователя, для домашнего использования, для администраторов, разработчиков или бизнеса. Вы можете выбрать нужную категорию и просматривать программы. Проект довольно новый поэтому программ не много.
Freshcode – это попытка возродить ресурс freecode (ранее freshmeat). Выглядит очень похоже на оригинал, но здесь пока нет столько приложений. У каждого приложения есть отдельная страница с подробной информацией о нем, последних версиях и ссылками на загрузку. Вы можете искать программы по тегам, ключевым словам в описании, а также сортировать их по лицензии.
Open Hub – этот сайт отличается от других проектов в списке. Он ориентирован больше на разработчиков, чем на обычных пользователей. Здесь предоставляется такая информация, как язык программирования, количество строк кода, количество разработчиков, комитов. Такие вещи могут быть не очень интересны обычному пользователю Linux. Но здесь тоже можно искать программы по тегам, просматривать похожие программы, смотреть рейтинги и т д. Также вы можете сравнивать два или больше приложения, чтобы понять насколько активно они разрабатываются.
Теперь вы точно знаете как и где искать программы ubuntu 16.04. Если вас интересуют любые новые программы, вы можете время от времени смотреть на новостные сайты, такие как opennet.ru или linux.org.ru. На них часто появляются сообщения о новых программах.
Спросите у пользователей
Если вам нужно приложение, с какой-нибудь экзотичной функциональностью, поддержку которой не так легко проверить не установив программу, вы можете спросить существует ли такая программа у других пользователей. Для этого можно использовать форумы, сообщества пользователей Linux в социальных сетях, сервисы вопросов и ответов, а также другие сообщества Linux в интернете.
Многие пользователи любят делиться своим опытом с другими. Подробно опишите какую функциональность должно иметь приложение, что оно должно делать и вы найдете ответ на свой вопрос.
Выводы
В этой статье мы рассмотрели где искать программы для ubuntu 16.04. Несмотря на то, что инструкция ориентирована на Ubuntu, вы можете применить ее и для другого дистрибутива. А как выполняете поиск программ linux вы? Какие ресурсы используете? Откуда узнаете о новых программах? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Contents
-
Package management with APT
- Introduction
-
Commands
-
Installation commands
- auto-apt
- Maintenance commands
- Removal commands
- Search commands
-
Installation commands
- Typical usage example
-
Setting up apt-get to use a http-proxy
- Temporary proxy session
- APT configuration file method
- BASH rc method
- How to login a proxy user
- Useful additional packages
- Additional links
- Troubleshooting
This article applies to all supported versions of Ubuntu
Package management with APT
Package management via apt-get runs hand-in-hand with the /etc/apt/sources.list file. For information on editing or updating your sources list see SourcesList.
Introduction
This page describes how to handle the packages on your system using apt-get and related commands. For example, you can install a new package, remove an installed package, or update all installed packages to the latest versions.
Commands
All these commands except the search commands must be run as root or with superuser privileges, see sudo for more information.
-
Example:
sudo apt-get install ubuntu-desktop
Installation commands
-
apt-get install <package_name>
This command installs a new package.
-
apt-get build-dep <package_name>
This command searches the repositories and installs the build dependencies for <package_name>. If the package is not in the repositories it will return an error.
-
aptitude install <package_name>
Aptitude is an Ncurses viewer of packages installed or available. Aptitude can be used from the command line in a similar way to apt-get. Enter man aptitude for more information.
- APT and aptitude will accept multiple package names as a space delimited list. For example:
apt-get install <package1_name> <package2_name> <package3_name>
Use the -s flag to simulate an action. For example: “apt-get -s install <package_name>” will simulate installing the package, showing you what packages will be installed and configured.
auto-apt
-
auto-apt run <command_string>
This command runs <command_string> under the control of auto-apt. If a program tries to access a file known to belong in an uninstalled package, auto-apt will install that package using apt-get. This feature requires apt and sudo to work.
- Auto-apt keeps databases which need to be kept up-to-date in order for it to be effective. This is achieved by calling the commands auto-apt update, auto-apt updatedb and auto-apt update-local.
- Usage example
-
You’re compiling a program and, all of a sudden, there’s an error because it needs a file you don’t have. The program auto-apt asks you to install packages if they’re needed, stopping the relevant process and continuing once the package is installed.
# auto-apt run ./configure
It will then ask to install the needed packages and call apt-get automatically. If you’re running X, a graphical interface will replace the default text interface.
-
Maintenance commands
-
apt-get update
Run this command after changing /etc/apt/sources.list or /etc/apt/preferences . For information regarding /etc/apt/preferences, see PinningHowto. Run this command periodically to make sure your source list is up-to-date. This is the equivalent of “Reload” in Synaptic or “Fetch updates” in Adept.
-
apt-get upgrade
This command upgrades all installed packages. This is the equivalent of “Mark all upgrades” in Synaptic.
-
apt-get dist-upgrade
The same as the above, except add the “smart upgrade” checkbox. It tells APT to use “smart” conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary.
-
apt-get check
This command is a diagnostic tool. It does an update of the package lists and checks for broken dependencies.
-
apt-get -f install
This command does the same thing as Edit->Fix Broken Packages in Synaptic. Do this if you get complaints about packages with “unmet dependencies”.
-
apt-get autoclean
This command removes .deb files for packages that are no longer installed on your system. Depending on your installation habits, removing these files from /var/cache/apt/archives may regain a significant amount of diskspace.
-
apt-get clean
The same as above, except it removes all packages from the package cache. This may not be desirable if you have a slow Internet connection, since it will cause you to redownload any packages you need to install a program.
-
The package cache is in /var/cache/apt/archives . The command
du -sh /var/cache/apt/archives
will tell you how much space cached packages are consuming.
-
-
dpkg-reconfigure <package_name>
Reconfigure the named package. With many packages, you’ll be prompted with some configuration questions you may not have known were there.
-
For example:
dpkg-reconfigure fontconfig-config
will present you with a “wizard” on configuring fonts in Ubuntu.
-
-
echo "<package_name> hold" | dpkg --set-selections
This command places the desired package on hold.
-
This command may have the unintended side effect of preventing upgrades to packages that depend on updated versions of the pinned package. apt-get dist-upgrade will override this, but will warn you first. If you want to use this command with sudo, you need to use echo “<package_name> hold” | sudo dpkg –set-selections not sudo echo “<package_name> hold” | dpkg –set-selections.
-
-
echo "<package_name> install" | dpkg --set-selections
This command removes the “hold” or “locked package” state set by the above command. The note above about sudo usage applies to this command.
Removal commands
-
apt-get remove <package_name>
This command removes an installed package, leaving configuration files intact.
-
apt-get purge <package_name>
This command completely removes a package and the associated configuration files. Configuration files residing in ~ are not usually affected by this command.
- + operator
-
If you want to remove package1 and install package2 in one step:
apt-get remove <package1> <package2>+
.
-
- + operator
-
apt-get autoremove
This command removes packages that were installed by other packages and are no longer needed.
-
apt-get autoremove <package_name>
This command removes an installed package and dependencies.
-
-
While there is no built in way to remove all of your configuration information from your removed packages you can remove all configuration data from every removed package with the following command.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
Search commands
-
apt-cache search <search_term>
Each package has a name and a description. This command lists packages whose name or description contains <search_term>.
-
dpkg -l *<search_term>*
This will find packages whose names contain <search_term>. Similar to apt-cache search, but also shows whether a package is installed on your system by marking it with ii (installed) and un (not installed).
-
apt-cache show <package_name>
This command shows the description of package <package_name> and other relevant information including version, size, dependencies and conflicts.
-
dpkg --print-avail <package_name>
This command is similar to “apt-cache show”.
-
dpkg -L <package_name>
This command will list files in package <package_name>.
-
dpkg -c foo.deb
This command lists files in the package “foo.deb”. Note that foo.deb is a pathname. Use this command on .deb packages that you have manually downloaded.
-
dlocate <package_name>
This command determines which installed package owns <package_name>. It shows files from installed packages that match <package_name>, with the name of the package they came from. Consider this to be a “reverse lookup” utility.
In order to use this command, the package dlocate must be installed on your system.
-
dpkg -S <filename_search_pattern>
This command does the same as dlocate, but does not require the installation of any additional packages. It is slower than dlocate but has the advantage of being installed by default on all Debian and Ubuntu systems.
-
apt-file search <filename_search_pattern>
This command acts like dlocate and dpkg -S, but searches all available packages. It answers the question, “what package provides this file?”.
-
apt-file needs to be updated regularly like apt-get. Use the command:
apt-file update
In order to use this command, the package apt-file must be installed on your system.
-
-
apt-cache pkgnames
This command provides a listing of every package in the system
-
A general note on searching: If searching generates a list that is too long, you can filter your results by piping them through the command grep. Examples:
-
apt-cache search <filename> | grep -w <filename>
will show only the files that contain <filename> as a whole word
-
dpkg -L package | grep /usr/bin
will list files located in the directory /usr/bin, useful if you’re looking for a particular executable.
-
For more information on apt-get, apt-cache and dpkg consult their manual pages by using the man command. These manuals will provide a wider scope of information in addition to all of the options that you can use with each program.
-
Example:
man apt-get
.
Typical usage example
I want to feel the wind in my hair, I want the adrenaline of speed. So let’s install a racing game. But what racing games are available?
apt-cache search racing game
It gives me a lot of answers. I see a game named “torcs”. Let’s get some more information on this game.
apt-cache show torcs
Hmmm… it seems interesting. But is this game not already installed on my computer? And what is the available version? Which repository is it from (Universe or Main)?
apt-cache policy torcs
Ok, so now, let’s install it!
apt-get install torcs
What is the command I must type in the console to launch this game? In this example, it’s straightforward (“torcs”), but that’s not always the case. One way of finding the name of the binary is to look at what files the package has installed in “/usr/bin”. For games, the binary will be in “/usr/games”. For administrative programs, it’s in “/usr/sbin”.
dpkg -L torcs | grep /usr/games/
The first part of the command display all files installed by the package “torcs” (try it). With the second part, we ask to only display lines containing “/usr/games/”.
Hmmm, that game is cool. Maybe there are some extra tracks?
apt-cache search torcs
But I’m running out of space. I will delete the apt cache!
apt-get clean
Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.
apt-get remove torcs
If I want to also remove config files :
apt-get purge torcs
Setting up apt-get to use a http-proxy
These are three methods of using apt-get with a http-proxy.
Temporary proxy session
This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.
Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).
export http_proxy=http://yourproxyaddress:proxyport
If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.
Defaults env_keep = "http_proxy https_proxy ftp_proxy"
APT configuration file method
This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.
On some installations there will be no apt-conf file set up. This procedure will either edit an existing apt-conf file or create a new apt-conf file.
gksudo gedit /etc/apt/apt.conf
Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).
Acquire::http::Proxy "http://yourproxyaddress:proxyport";
Save the apt.conf file.
BASH rc method
This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.
gedit ~/.bashrc
Add these lines to the bottom of your ~/.bashrc file (substitute your details for yourproxyaddress and proxyport)
http_proxy=http://yourproxyaddress:proxyport export http_proxy
Save the file. Close your terminal window and then open another terminal window or source the ~/.bashrc file:
source ~/.bashrc
Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.
If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source ~/.bashrc as shown above.
source ~/.bashrc
How to login a proxy user
If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)
http_proxy=http://username:password@yourproxyaddress:proxyport
Useful additional packages
-
Deborphan
-
Debfoster
Additional links
-
Repositories/CommandLine
-
PinningHowto
-
AutoDeb
-
Synaptic Package Manager
-
Ubuntu Community Forums: Installations and Upgrades
-
What is apt-fast and should I use it?
Troubleshooting
-
https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
CategoryPackageManagement CategoryCommandLine
На этом уроке рассмотрим пакетные менеджеры apt и apt-get. Которые используются для работы с пакетами приложений в Linux.
На этом уроке мы рассмотрим следующие пакетные менеджеры:
- apt-get — используется для установки, удаления, обновления пакетов;
- apt-cache — используется для получения информации о пакетах;
- apt-mark — используется для установок различных меток на пакеты. Например, можно, поставив метку, запретить пакету обновляться;
- apt — утилита основанная на apt-get и apt-cache. Она является более удобной и информативной. В процессе установки пакета, обновления системы или удаления пакета показывает “Прогресс бар”. В некоторых случаях выводит больше информации.
Работа с пакетами это административное действие, поэтому вам придётся работать под пользователем root или использовать sudo. Я в примерах буду использовать sudo. Примеры одинаково выполняются и в Debian и в Ubuntu.
Все рассматриваемые команды имеют под-команды, и в зависимости от под-команды могут иметь различные опции. Например переустановка приложения:
$ sudo apt install --reinstall apache2
Где:
- apt — сам пакетный менеджер;
- install — под-команда установки пакета;
- –reinstall — опция переустановки;
- apache2 — имя пакета.
Обновление системы
Обновление кэша пакетов
В Debian и Ubuntu прежде чем обновлять систему, нужно выяснить, какие обновления доступны в репозиториях. Это так называемое обновление кэша пакетов. Выполняется оно с помощью команды apt-get update или apt update. Пример:
$ sudo apt-get update $ sudo apt update
При этом команда apt update дополнительно покажет количество пакетов, которые можно обновить и команду с помощью которой можно посмотреть список таких пакетов.
Получаем список возможных обновлений
Если есть пакеты, которые можно обновить, то мы можем посмотреть их с помощью команды apt list –upgradable, а опция -a выводит больше информации. С помощью apt-get это проделать невозможно.
Пример:
$ sudo apt list --upgradable -a
Обновление системы (без возможности удаления пакетов)
Перед обновлением расскажу про зависимости пакетов. Работа некоторых приложений зависит от других приложений или библиотек. Поэтому почти каждый пакет имеет список зависимостей других пакетов. Обычно вручную с зависимостями не работают. Просто пакетные менеджеры (apt или apt-get) при установке определённого пакета также устанавливают пакеты от которых зависит этот пакет.
Точно также и при обновлении. Если приложение после обновления начало зависеть от других библиотек, то их тоже нужно установить или обновить.
Но бывает ситуация когда некоторые пакеты не совместимы. Например, чтобы обновить пакет требуется установить новые пакеты, но они несовместимы с теми, которые уже установлены. Тут есть два варианта, либо удалить установленные пакеты и выполнить обновление системы, либо не удалять пакеты и прервать обновление.
Без возможности удаления пакетов вы можете выполнить обновление с помощью команд apt-get upgrade и apt upgrade. Например:
$ sudo apt-get upgrade $ sudo apt upgrade
Обновление системы (с возможностью удаления пакетов)
Если вы все-таки хотите обновить пакеты и вас не пугает удаление некоторых пакетов, то выполните следующие команды: apt-get dist-upgrade или apt dist-upgrade. Но это более рискованно, так что обратите особое внимание на то, какие пакеты будут удалены. Ведь удаление некоторых пакетов может просто сломать вашу систему. Пример:
$ sudo apt-get dist-upgrade $ sudo apt dist-upgrade
Получение информации о пакетах из репозиториев
Список пакетов в репозиториях
Чтобы получить список пакетов в репозиториях можно выполнить apt list. Так как это не административное действие, то можно не использовать sudo. Например:
$ apt list
Кстати, утилита apt-get это выполнить не может.
Поиск пакета по ключевому слову
Если мы примерно знаем название приложения, которое нам нужно, то можем попытаться найти пакет используя ключевое слово. При этом поиск идет не только по названию пакетов, но и по его содержимому. Такой поиск выполняется с помощью команд apt-cache search <ключевое слово> или apt search <ключевое слово>.
Пример (так как вывод может быть большим, то я использую less):
$ apt-cache search apache | less $ apt search apache | less
Смотрим информацию о пакете
Зная имя пакета, можем посмотреть информацию о нём с помощью команд apt-cache show <имя пакета> или apt show <имя пакета>.
Пример (так как вывод может быть большим, то я использую less):
$ apt-cache show apache2 | less $ apt show apache2 | less
Поиск зависимостей
Зависимости можно посмотреть в информации о пакете с помощью уже рассмотренных команд apt-cache show <имя пакета> или apt show <имя пакета>. Но для этого есть ещё одна команда: apt-cache depends <имя пакета> или apt depends <имя пакета>. Например:
$ apt-cache depends apache2 $ apt depends apache2
Работа с отдельными пакетами
Установка пакета
Установить пакет из репозитория можно с помощью команд apt-get install <имя пакета> или apt install <имя пакета>. При этом установится пакет и его зависимости. Пример:
$ sudo apt-get install apache2 $ sudo apt install apache2
Удаление пакета без удаления конфигов
Чтобы удалить пакет обычно используют команды apt-get remove <имя пакета> или apt remove <имя пакета>. Но эти команды удалят только само приложение, не удалив его конфиги. Пример:
$ sudo apt-get remove apache2 $ sudo apt remove apache2
Удаление пакета вместе с конфигами
А чтобы удалить приложение вместе с его конфигами используйте команды apt-get purge <имя пакета> или apt purge <имя пакета>, например:
$ sudo apt-get purge apache2 $ sudo apt purge apache2
Переустановка пакета
Для переустановки используйте команды apt-get install –reinstall <имя пакета> или apt install –reinstall <имя пакета>.
Например:
$ sudo apt-get install --reinstall apache2 $ sudo apt install --reinstall apache2
Обновление отдельного приложения
Если нам нужно обновить не всю систему а отдельный пакет, то тут нужно использовать знакомую команду apt-get install <имя пакета> или apt install <имя пакета>. При этом, если пакета нет в системе то он установится, а если есть то обновится. Пример:
$ sudo apt-get install apache2 $ sudo apt install apache2
Скачивание пакета без установки
Если вам просто нужно скачать пакет, а не устанавливать его в систему, то используйте команду apt-get download <имя пакета> или apt download <имя пакета>. Например:
$ apt-get download apache2 $ apt download apache2
При этом зависимости скачиваться не будут.
Заморозка пакета
Если вы хотите чтобы система больше не обновляла какой-то отдельный пакет то выполните apt-mark hold <имя пакета>, например:
$ sudo apt-mark hold apache2
К сожалению с помощью apt это проделать невозможно.
Исправление проблем с пакетами
Исправление ошибок с зависимостями
Если в процессе установки некоторого пакета или при обновлении всей системы вы столкнётесь с проблемой с зависимостями. То можете воспользоваться командами apt-get -f install или apt -f install. Эти команды пытаются решить проблемы с зависимостями путём удаления или установки новых пакетов.
$ sudo apt-get -f install $ sudo apt -f install
Только внимательно смотрите на список удаляемых пакетов!
Очистка системы от ненужных пакетов
Удаление ненужных пакетов
Когда мы устанавливаем пакет то устанавливаются и его зависимости. А при удалении пакета зависимости остаются и больше не используются. Чтобы удалить подобные пакеты, которые установились, но больше не нужны в системе применяются команды apt-get autoremove или apt autoremove. Например:
$ sudo apt-get autoremove $ sudo apt autoremove
Очистка кэша
При установке какого-нибудь пакета, он вначале скачивается в каталог /var/cache/apt/archives/, а затем устанавливается в систему. Эти установочные файлы тоже можно удалять, освобождая место на диске. Для этого используйте команды apt-get clean или apt clean, например
$ sudo apt-get clean $ sudo apt clean
Мягкая очистка кэша
Помимо clean есть более мягкая команда autoclean. Она удалит только те скаченные пакеты, у которых версия ниже чем в репозитории, остальные пакеты не удалятся:
$ sudo apt-get autoclean $ sudo apt autoclean
Посмотрим на корову 🙂
А еще с помощью apt-get и apt мы можем посмотреть на корову:
$ apt moo (__) (oo) /------/ / | || * /---/ ~~ ~~ ..."Have you mooed today?"... $ apt-get moo (__) (oo) /------/ / | || * /---/ ~~ ~~ ..."Have you mooed today?"...
Итог
Мы узнали множество команд с помощью которых можем устанавливать и удалять пакеты в систему, а также обновлять её. И проделывать другие вещи.
А также мы узнали что перед установкой deb пакеты скачиваются в каталог /var/cache/apt/archives/. И у пакетов есть зависимости, которые apt или apt-get определяет и автоматически устанавливает.
Сводка
Имя статьи
Пакетные менеджеры apt и apt-get
Описание
На этом уроке рассмотрим пакетные менеджеры apt и apt-get. Которые используются для работы с пакетами приложений в Linux
Умение устанавливать, обновлять и удалять программное обеспечение относится к важнейшим навыкам работы с любой операционной системой. Поэтому изучение данного вопроса первостепенная задача для любого начинающего пользователя 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 http://deb.debian.org/debian buster main contrib non-free
Строка начинается с 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 -I имя_файла_пакета.deb
Для установки просто выполните:
dpkg -i имя_файла_пакета.deb
Но помните, что dpkg не умеет разрешать зависимости и вы должны будете сделать это вручную, либо скачать все необходимые пакеты и установить их в нужном порядке, это можно поручить dpkg, запустив его с маской в имени пакетов:
dpkg -i *.deb
Такая конструкция установит все находящиеся в данном расположении deb-пакеты, так что будьте внимательны, либо используйте более узкие маски.
Чтобы получить сведения о всех доступных и установленных пакетах используется ключ -l, но он выведет список всех пакетов, поэтому следует использовать его с маской, например, так:
dpkg -l gimp
Так как мы задали имя пакета без подстановочных символов, то информация будет выведена только при полном совпадении заданного имени с именем пакета. Если мы хотим получить больше информации, то можем сделать так:
dpkg -l gimp*
Теперь мы видим больше пакетов, как установленных в системе, так и доступных в репозитории. Но это не все пакеты, относящиеся к gimp, так как наша маска предписывает искать пакеты, которые начинаются на gimp и игнорирует иные варианты. Поэтому, если вы не уверены, что правильно задали маску, можно пойти другим путем, отдав вывод dpkg команде grep, которая найдет все нужные вхождения.
dpkg -l | grep gimp
В этом случае вы получите список только установленных, либо удаленных, но имеющих оставшиеся части (например, конфигурационные файлы) пакетов, но при этом будут найдены все вхождения указанной строки, даже в середине имени, в данном случае мы обнаружили ранее не найденную библиотеку libgimp2.0
Для удаления пакета используйте:
dpkg -r имя_пакета
Обратите внимание, что здесь мы указываем не имя deb-файла, а имя установленного пакета, узнать его можно способом, представленным выше. Часто после удаления пакета от него остаются конфигурационные файлы и иные данные, полностью очистить их можно командой:
dpkg -P имя_пакета
Но будьте внимательны, при этой операции могут быть удалены пользовательские данные, хранившиеся в стандартных расположениях. Это актуально для таких видов программ, как веб-сервера или СУБД.
На этом мы закончим знакомство с 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 всегда работает с локальным кешем списков, поэтому перед любыми действиями с пакетным менеджером следует обновить списки в кеше. Это можно сделать командой, которая должна быть широко известна нашим читателям:
apt update
Команда проверяет версии списков в репозитории и при необходимости скачивает их новые версии, после чего анализирует список установленных пакетов и сообщает о доступных обновлениях, увидеть список пакетов, для которых доступны обновления можно командой:
apt list --upgradable
Установить обновления можно командой:
apt upgrade
Это безопасный способ обновления, при котором обновляются только установленные пакеты и не происходит установки новых пакетов, если они затрагивают текущие версии, также не удаляются убранные из репозитория пакеты. Если же вы хотите установить самые последние версии пакетов, то следует воспользоваться иной командой:
apt dist-upgrade
Следует понимать разницу в работе этих команд, потому что во многих случаях результат их работы оказывается одинаковым и кажется, что разницы между ними нет. Например, в ситуации, показанной на скриншоте выше обе команды отработают одинаково.
Обычные обновления следует выполнять командой upgrade, тогда как dist-upgrade следует использовать для обновления дистрибутива, в том числе и на минорные версии в составе текущего выпуска.
Для установки пакетов следует использовать команду:
apt install имя_пакета
Если нужно установить несколько пакетов, то их следует перечислить через пробел. Система проанализирует изменения и либо выполнит установку, либо попросит дополнительного подтверждения, особенно если нужно установить большое количество новых пакетов по зависимостям.
В целом APT хорошо знает свое дело, но мы все равно советуем обращать внимание на состав добавляемых и, особенно, удаляемых пакетов. Также не будет лишним изучить список предлагаемых пакетов, там вы можете найти много интересного и полезного, что позволит расширить возможности устанавливаемого ПО и о чем вы могли даже не догадываться.
Для удаления пакета используйте:
apt remove имя_пакета
Это удалит сам пакет, но оставит его конфигурационные файлы (если они были изменены) и прочие данные. Для полного удаления пакета со всеми его данными используйте другую команду:
apt purge имя_пакета
Но будьте внимательны, так как эта команда удалит все данные пакета, в том числе и добавленные пользователем в стандартные расположения, данные, находящиеся в домашних директориях пользователей при этом удалены не будут.
Дополнительно остановимся на таком виде пакетов, как пакеты установленные автоматически. Это пакеты, которые были установлены по зависимостям иных пакетов и после удаления или обновления последних могут более никем не использоваться. APT отслеживает такие пакеты и сообщает о них пользователю.
Удалить их можно командой:
apt autoremove
Как можно заметить, APT достаточно дружелюбен к пользователю, постоянно подсказывая ему необходимые команды, что в очередной раз развеивает миф о сложности администрирования Linux, особенно в режиме командной строки.
Также иногда может потребоваться возможность очистить кеш скачанных пакетов, скажем при недостатке места на диске, это можно сделать, введя:
apt clean
Эта команда полностью очистит кеш, также можно использовать более мягкую очистку с помощью apt-get, который дает возможность удалить из кеша только те пакеты, которые на текущий момент отсутствуют в репозитории (были заменены новыми версиями или удалены):
apt-get autoclean
Затронем еще один интересный момент, допустим вы в своих экспериментах удалили или еще как-либо повредили входящие в состав пакета файлы, но система считает, что пакет установлен и отказывается устанавливать его повторно. Но можно всегда переустановить пакет:
apt --reinstall install имя_пакета
Еще одна важная возможность APT – это восстановление нарушенных зависимостей и автоматическое исправление ошибок при установке пакетов, например, когда процесс обновления или установки был аварийно прерван. Либо когда вы установили некоторый пакет при помощи dpkg и при этом у него оказались неудовлетворенные зависимости. Все это в большинстве случаев отлично исправляется одной простой командой:
apt install -f
Также иногда бывает нужно проверить что произойдет при установке пакета без его установки, особенно если у нас есть подозрения, что мы можем что-то сломать в системе. Для этого запустите команду установки с ключом -s:
apt install имя_пакета -s
Система смоделирует все необходимые действия и покажет вам результат, после чего вы сможете принять верное решение без опасных экспериментов над ней.
Если вы не знаете точного названия нужного вам пакета, то можно выполнить его поиск командой:
apt search строка_поиска
При этом поиск производится не только по имени пакета, но и по его описанию. Это удобно и позволяет быстро найти все связанные с указанной строкой поиска пакеты, даже если они имеют отличное наименование.
Для получения информации о пакете просто введите:
apt show имя_пакета
Еще одна задача, с которой может столкнуться администратор – это фиксация версии пакета, допустим вы собрали и установили собственный пакет с нужными вам функциями и не хотите чтобы при обновлении системы он был заменен стандартным из репозитория. Не проблема, отметьте пакет как зафиксированный:
apt-mark hold имя_пакета
Чтобы отменить фиксацию выполните:
apt-mark unhold имя_пакета
Объем данной статьи не позволяет рассмотреть все возможности apt, поэтому мы ограничились наиболее необходимыми в повседневной деятельности, ну и в завершение небольшая порция юмора. Если запустить команду apt без параметров, то вы увидите краткую справку в самом конце которой будет строка: В APT есть коровья СУПЕРСИЛА. Что это значит? Просто наберите:
apt moo
И вы увидите старую пасхалку от разработчиков, которая была еще в 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 часов практики и доступ навсегда.
Магазины приложений, менеджер пакетов, терминал или привычные установщики — выбирайте способ себе по душе.
Как устанавливать программы для Linux через магазин приложений
Это самый простой и удобный способ, который лучше всего подходит новичкам. Никакой возни с терминалом и поиском.
Магазины приложений позволяют найти большинство программ в специальных библиотеках Linux — репозиториях. Оттуда же качаются обновления, патчи — в общем, всё подряд.
Откройте магазин приложений из главного меню. В разных дистрибутивах он может иметь вариативные названия, но принцип работы везде одинаков.
- GNOME Software используется в дистрибутивах с графической оболочкой GNOME.
- Discover установлен в дистрибутивах KDE. Как и подобает приложению KDE, очень красив и при этом довольно удобен.
- «Менеджер программ» — в Linux Mint.
- AppCenter — в elementary OS.
- Deepin Software Center — в Deepin Linux.
Введите название программы в строку поиска и выберите нужную в окне результатов. Нажмите на кнопку «Установить», введите свой пароль, а затем просто дождитесь окончания процесса.
Магазин приложений автоматически найдёт нужную программу и установит её.
Как устанавливать программы для Linux через терминал
Хотите верьте, хотите нет, но это даже быстрее, чем искать приложение в магазине. Нужно всего лишь скопировать команды с сайта разработчика (ищите в разделе «Установка») и поочерёдно вставить их в терминал, нажимая Enter.
Например, вы хотите установить популярный плеер Clementine. Открываем сайт разработчика и видим набор команд для установки.
sudo add-apt-repository ppa:me-davidsansome/clementine
— добавляем в систему адрес репозитория, откуда будут качаться программа, а в дальнейшем обновления для неё. Последует предложение ввести пароль — сделайте это.sudo apt update
— приказываем системе обновить список пакетов.sudo apt install clementine
— начинаем установку.
Прежде чем вводить команды в терминал, убедитесь, что они относятся к вашему дистрибутиву. Посмотреть, какая команда к какому дистрибутиву подходит, можно в руководстве Лайфхакера.
Как устанавливать программы для Linux через графический менеджер пакетов
Менеджер пакетов в Linux — это программа, которая автоматически скачивает другие программы из репозитория, устанавливает и удаляет их. В разных дистрибутивах Linux свои менеджеры. В Debian, Ubuntu и их родственниках используется APT, в CentOS и Fedora есть DNF, в openSUSE — Zypper, и в Arch Linux — pacman.
Когда вы устанавливаете программы через терминал, вы отдаёте команды вашему менеджеру пакетов. Но куда удобнее управлять этими данными через графический интерфейс, например через Synaptic в Ubuntu или Pamac в Arch. Ищите его в главном меню по запросу «Менеджер пакетов».
- Запустите менеджер пакетов.
- Введите в поисковой строке имя нужной программы.
- Выделите найденный элемент, а затем нажмите на кнопку «Установить».
- Введите свой пароль пользователя и подождите, пока менеджер пакетов скачает и установит нужную программу.
Как устанавливать программы для Linux с помощью установочных файлов
Именно так инсталлируют программы в Windows: открывают в браузере сайт разработчика, скачивают установщик и запускают его двойным щелчком.
Но в Linux лучше всё ставить из репозиториев — тогда программы будут автоматически обновляться сами и возни с ними будет меньше.
Если то, что вам необходимо, отсутствует в репозиториях, вот как можно решить вопрос:
- Найдите сайт разработчика приложения и скачайте установщик, подходящий к вашему дистрибутиву.
- Откройте его двойным щелчком и нажмите «Установить».
- Введите свой пароль и дождитесь завершения процесса инсталляции.
Читайте также 🧐
- 12 дистрибутивов Linux, которые вдохнут жизнь в старый компьютер
- Как установить Linux на Android-смартфон или планшет
- 6 задач, с которыми Linux справляется лучше, чем Windows
- 5 способов установить Windows-программы на Linux
- 14 неожиданных способов использовать терминал Linux