Как найти приложение в репозитории

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

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

Важно всегда быть в курсе новинок программного обеспечения, чтобы использовать самые новые, самые безопасные и самые лучшие программы для решения своих задач. Конечно, если вам нужна замена для уже известной программы вы можете просто найти ее в Google. Скорее всего, уже на первой странице попадется что-нибудь толковое. Но также можно составить список ресурсов, на которых можно следить за новинками в мире программного обеспечения Linux.

В этой статье мы рассмотрим как и где искать программы Ubuntu 16.04 и для Linux в целом.

Перед тем как перейти к списку источников новых программ для Ubuntu, давайте рассмотрим как их устанавливать. Установка программ в операционных системах Linux отличается оттого, что вы привыкли видеть в Windows. Здесь возможна установка не только скачиванием программы из интернета и запуском установочного файла, но также есть установка из репозиториев дистрибутива. Это два основных способа установки программ но они делятся на более маленькие:

  • Установка программ из центра приложений
  • Установка программ с помощью пакетного менеджера
  • Установка программ из файла
  • Сборка программ из исходников
  • Установка с помощью установщика
  • Портативные программы

Самый распространенный и наиболее приемлемый способ установки программ в Linux – из официальных репозиториев, это установка с помощью пакетного менеджера и из центра приложений. Репозитории поддерживаются разработчиками дистрибутива, и содержат только проверенные и надежные программы. Но есть возможность также просто скачать установочный пакет в интернете и установить его, например, с помощью dpkg или gdebi. Также возможна сборка программ из исходных кодов, но такой вариант не для начинающих.

Рекомендуется устанавливать программы только из официальных репозиториев. Поскольку таким образом вы получаете надежное ПО, а также легкое обновление в случае выхода новой версии. Подробнее о каждом способе установки мы поговорим ниже, поскольку на этих способах и завязаны способы поиска пакетов.

Используйте центр приложений

Центр приложений – это графическая программа, очень похожая на Windows Store, GooglePlay и т д. Здесь вы можете не только устанавливать программы, но и искать новые просматривая категории или используя поле поиска. Неважно какой центр приложений вы будете использовать Ubuntu Software, Gnome Software все они имеют одинаковую функциональность.

Например, на главной странице Ubuntu Software вы можете видеть самые популярные среди других пользователей приложения, а также персональные рекомендации для вашего аккаунта Ubuntu One:

apps

Также можете искать программы по категориям:

apps1

Или с помощью формы поиска, если знаете что нужно найти.

У каждой программы есть подробное описание, рейтинг и пару снимков экрана. Но у такого способа искать новые программы Linux есть серьезный недостаток – вам доступны только старые и проверенные программы из официальных репозиториев, новинок вы здесь не увидите. Тем не менее это оптимальный вариант для новичков. Во всяком случае по простоте установки.

Поиск программ в репозиториях

Как правило, в центрах приложений находятся только те программы, для которых кем-то была создана страничка. Но в самих репозиториях дистрибутива программ намного больше. Вы можете использовать пакетный менеджер с графическим интерфейсом, например, Synaptic для поиска программ ubuntu, или же довольствоваться утилитой командной строки apt или aptitude.

Рассмотрим Synaptic. Здесь вы можете видеть все пакеты, которые есть в ваших репозиториях, в том числе и подключенных к системе PPA. Искать новые программы для Linux тут не очень удобно, потому что здесь перемешаны и консольные утилиты и графические приложения, и библиотеки, ну в общем, все что есть в репозиториях есть здесь.

apps3

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

apps4

Консольный пакетный менеджер Apt позволяет искать программы только по имени. Такой вариант подходит, если вы знаете что ищете. Например, для поиска программы используйте apt-search:

apt search имя_программы

apps5

Также вы можете вывести в один список все доступные программы:

apt list --all-versions | less

apps6

Подробнее об использовании apt можете прочитать в статье apt vs apt-get.

Но как вы понимаете, использовать Synaptic намного удобнее, здесь тоже есть описание программы но там намного удобнее навигация.

Портативные программы Snap, Flatpak

В последнее время большую популярность начали набирать портативные приложения. Это Snap, разрабатываемый в Canonical и Flatpack, от разработчиков Gnome.

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

Для того чтобы искать программы для Ubuntu с помощью snap наберите:

snap find

apps7

Сейчас программ совсем немного, но кроме названия, здесь есть описание для каждой программы. В этом репозитории есть не все snap пакеты. Еще больше программ вы можете найти на uappexplorer.com:

apps8

Здесь программы тоже распределены по категориям, имеют рейтинг и описание. Программу можно скачать на ее странице:

apps9

А затем установить командой:

sudo snap install имя_файла.snap

Новые программы на Electron

Electron – это платформа от GitHub для создания программ рабочего стола с помощью веб-технологий на JavaScript, Node.js и движке Chromium. Сейчас много новых и интересных программ разрабатываются на платформе Electron. Яркие тому доказательства утилита для заметок SimpleNote и приложение для управления сайтом – WordPress. Здесь есть не только текстовые редакторы и веб-клиенты, но и среды программирования, браузеры и даже медиаплееры.

Все разработанные на Electron программы размещены на сайте electron.atom.io и доступны для бесплатной загрузки:

apps10

Каждую из них вы можете скачать с ее официального сайта. Затем остается распаковать архив и запустить программу двойным щелчком. Также этот сайт можно использовать только в качестве базы для поиска, а устанавливать программы через PPA, такой вариант более приемлемый.

Найдите программы на pkgs.org

Сайт Linux Packages Search (Pkgs.org) индексирует официальные и некоторые неофициальные репозитории deb и rpm пакетов для нескольких дистрибутивов Linux. Вы можете искать программы по общим ключевым словам, например, Music:

apps11

apps12

Но лучше всего будет эффект, когда вы знаете точное название программы. Здесь удобно проверять есть ли версия нужной программы для вашего дистрибутива. У каждого пакета есть своя страница, где вы можете его скачать или посмотреть более подробную информацию о нем и его зависимостях:

apps13

Если вам не нужны пакеты для всех дистрибутивов, а только для Ubuntu, вы можете воспользоваться официальной базой пакетов – http://packages.ubuntu.com/.

apps14

Ищите альтернативы для Windows программ

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

apps15

По умолчанию сайт ищет все альтернативы, но мы можем установить фильтр на только для Linux или только Open Source. Для каждой программы есть описание и несколько снимков экрана.

apps16

Поиск новых программ в интернете

Не всегда нам нужно срочно ту или иную программу с необходимой функциональностью. Иногда нам просто интересно посмотреть, что же нового появилось в мире Linux. Возможно, вы хотите идти в ногу с новинками открытого программного обеспечения или хотите присоединиться к проекту в качестве бета-тестера.

В интернете, кроме базы программ на платформе Electron, существует много сайтов, собирающих новые программы. Обычно такие сайты делятся на два типа: старые, предоставляющие только список ссылок, и более новые с подробным описанием программ и даже снимками экрана. Рассмотрим несколько таких сайтов, все сайты на английском:

Free Software Directory – фонд свободного программного обеспечения собирает и каталогизирует приложения и информацию о выходе новых версий. Это позволяет искать программы по ключевым словам. Сайт выглядит как вики, у каждой программы есть своя страница с небольшим описанием и ссылкой для загрузки. Кроме того, здесь есть отдельный раздел “новые программы” где вы можете посмотреть новинки.

apps17

apps19

Linux Links – один из тех сайтов, где каждый пользователь сможет для себя что-то найти. В отличие от первого варианта может здесь и нет самых свежих новостей, но зато программы рассортированы по категориям и под-категориям и вы можете потратить несколько часов, чтобы просмотреть все что вас интересует. Здесь есть списки лучших приложений для решения различных задач. Для некоторых программ написаны мини-обзоры со списком возможностей и снимками экрана (правда, все по-английски).

apps20

apps21

openDesktop – этот сайт выглядит очень похожим на такие проекты, как gnome-look.org и kde-look.org, это потому, что он все это части одного проекта. Его очень просто использовать, здесь тоже есть описания, снимки экрана, рейтинги и ссылки для загрузки. Одни словом, все что нужно, чтобы искать программы для Linux.

apps22

Linux App Finder – это отличная коллекция программного обеспечения для Linux, которую вы можете использовать различными способами. В разделе Alternatives вы можете подобрать альтернативы для Windows и MacOS приложений. Также есть возможность искать программы по категориях и подкатегориях. Кроме того, есть рейтинги самых просматриваемых, высокого оцененных приложений. Для каждой программы есть своя страница с информацией. Все пользователи могут зарегистрироваться и редактировать информацию о программе.

apps23

apps24

Open Source Software Directory – этот сайт предлагает немного другой подход к поиску программ ubuntu. Программы разделены по задачам пользователя, для домашнего использования, для администраторов, разработчиков или бизнеса. Вы можете выбрать нужную категорию и просматривать программы. Проект довольно новый поэтому программ не много.

apps25

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 License

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

Contents

  1. Package management with APT

    1. Introduction
    2. Commands

      1. Installation commands

        1. auto-apt
      2. Maintenance commands
      3. Removal commands
      4. Search commands
    3. Typical usage example
    4. Setting up apt-get to use a http-proxy

      1. Temporary proxy session
      2. APT configuration file method
      3. BASH rc method
      4. How to login a proxy user
    5. Useful additional packages
    6. Additional links
    7. Troubleshooting

(i) This article applies to all supported versions of Ubuntu

Package management with APT

IconsPage/apt.png 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

IconsPage/info.png All these commands except the search commands must be run as root or with superuser privileges, see sudo for more information.

  • IconsPage/example.png 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>

    IconsPage/note.png 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
    • IconsPage/example.png 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.

    • IconsPage/example.png 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.

    • IconsPage/info.png 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
      • IconsPage/example.png If you want to remove package1 and install package2 in one step:

        apt-get remove <package1> <package2>+

        .

  • 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.

    IconsPage/info.png 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

    IconsPage/info.png 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.

  • IconsPage/example.png 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.

IconsPage/info.png 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

Описание

На этом уроке рассмотрим пакетные менеджеры apt и apt-get. Которые используются для работы с пакетами приложений в Linux

linux-apt-5-000.pngУмение устанавливать, обновлять и удалять программное обеспечение относится к важнейшим навыкам работы с любой операционной системой. Поэтому изучение данного вопроса первостепенная задача для любого начинающего пользователя Linux, сразу после того, как он немного осмотрелся в системе. К сожалению, нет единого способа управления ПО, подходящего для всех дистрибутивов, разные семейства предполагают различные подходы, хотя общие принципы во многом совпадают. В данном материале мы будем разбирать вопрос применительно к системам основанным на Debian и Ubuntu.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Пакеты и репозитории

Слова, вынесенные в подзаголовок, знакомы любому пользователю Linux, но не все знают, что именно за ними кроется. Начнем с пакетов. Пакет – это архив специального формата, который содержит все необходимые приложению бинарные и конфигурационные файлы, информацию о том, как их следует разместить в файловой системе, данные о зависимостях пакета, а также список действий которые необходимо выполнить в процессе установки. Вы можете сами открыть любой пакет при помощи архиватора и посмотреть, что у него внутри.

linux-apt-5-001.pngСуществуют различные форматы пакетов, наиболее распространенными из которых являются RPM (рекурсивный акроним RPM Package Manager, ранее Red Hat Package Manager) и DEB (сокращение от Debian). Первый используется в основанных на Red Hat/Fedora дистрибутивах, а также некоторых иных, например, OpenSUSE, второй – во всем многочисленном семействе систем на базе Debian и его производных, включая один из самых популярных дистрибутивов – Ubuntu.

Несмотря на разные форматы, общие принципы построения и управления пакетами в различных Linux системах совпадают, поэтому если вы овладеете приемами работы с одним форматом пакетов, то переучиться на другой не составит особого труда.

Еще одна особенность пакетов Linux вытекает из следования некоторым постулатам философии Unix, а именно каждый пакет содержит только необходимый минимум файлов и библиотек, все остальные необходимые ему компоненты указываются в качестве зависимостей. Причем разделение на небольшие пакеты присутствует даже у одного продукта: в один пакет могут быть включены бинарные файлы, во второй – общие библиотеки, в третий – документация и т.д. и т.п. Это позволяет достаточно гибко управлять процессом разработки и поддержки, если разработчики внесли изменения в какую-то библиотеку, то вам не нужно снова скачивать продукт целиком, достаточно обновить только пакет с библиотекой.

Кроме того, при разработке свободного ПО широко используются наработки других проектов, действительно, зачем повторно изобретать велосипед, если нужные функции уже есть в библиотеке другого проекта. Достаточно просто указать нужный пакет в зависимостях, при этом скачивать весь сторонний проект также будет не нужно, достаточно только необходимых пакетов.

Все это хорошо, скажет иной читатель, только как мне узнать какие именно пакеты мне нужно установить, чтобы получить на выходе полноценный продукт, как разобраться во всем этом обилии непривычных названий? Для этой цели существуют метапакеты. По сути – это пакет пустышка, который в своих зависимостях имеет нужный перечень пакетов для установки готового продукта. Например, если нужен офисный пакет, то достаточно просто установить libreoffice, этот метапакет по зависимостям подтянет и установит все необходимые компоненты для полного набора офиса, каким вы его привыкли видеть. Хотя никто не мешает установить самому только нужные компоненты, скажем только LibreOffice Calc.

linux-apt-5-002.pngСледующий вопрос – где брать пакеты? 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 (справа).

linux-apt-5-003.pngВ 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

linux-apt-5-004.pngДля установки просто выполните:

dpkg -i имя_файла_пакета.deb

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

dpkg -i *.deb

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

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

dpkg -l gimp

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

dpkg -l gimp*

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

dpkg -l | grep gimp

linux-apt-6-006.pngВ этом случае вы получите список только установленных, либо удаленных, но имеющих оставшиеся части (например, конфигурационные файлы) пакетов, но при этом будут найдены все вхождения указанной строки, даже в середине имени, в данном случае мы обнаружили ранее не найденную библиотеку 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, что позволяет предотвратить их скачивание в случае повторной установки.

linux-apt-6-007.pngСписки пакетов представляют собой простые текстовые файлы с перечнем пакетов в репозитории, данными о пакете, его зависимостях и его расположении в структуре репозитория, один из таких списков открыт на скриншоте выше.

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

apt update

Команда проверяет версии списков в репозитории и при необходимости скачивает их новые версии, после чего анализирует список установленных пакетов и сообщает о доступных обновлениях, увидеть список пакетов, для которых доступны обновления можно командой:

apt list --upgradable

linux-apt-6-008.pngУстановить обновления можно командой:

apt upgrade

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

apt dist-upgrade

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

Обычные обновления следует выполнять командой upgrade, тогда как dist-upgrade следует использовать для обновления дистрибутива, в том числе и на минорные версии в составе текущего выпуска.

Для установки пакетов следует использовать команду:

apt install имя_пакета

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

linux-apt-6-009.pngВ целом APT хорошо знает свое дело, но мы все равно советуем обращать внимание на состав добавляемых и, особенно, удаляемых пакетов. Также не будет лишним изучить список предлагаемых пакетов, там вы можете найти много интересного и полезного, что позволит расширить возможности устанавливаемого ПО и о чем вы могли даже не догадываться.

Для удаления пакета используйте:

apt remove имя_пакета

Это удалит сам пакет, но оставит его конфигурационные файлы (если они были изменены) и прочие данные. Для полного удаления пакета со всеми его данными используйте другую команду:

apt purge имя_пакета

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

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

linux-apt-6-010.pngУдалить их можно командой:

apt autoremove

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

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

apt clean

Эта команда полностью очистит кеш, также можно использовать более мягкую очистку с помощью apt-get, который дает возможность удалить из кеша только те пакеты, которые на текущий момент отсутствуют в репозитории (были заменены новыми версиями или удалены):

apt-get autoclean 

Затронем еще один интересный момент, допустим вы в своих экспериментах удалили или еще как-либо повредили входящие в состав пакета файлы, но система считает, что пакет установлен и отказывается устанавливать его повторно. Но можно всегда переустановить пакет:

apt --reinstall install имя_пакета

Еще одна важная возможность APT – это восстановление нарушенных зависимостей и автоматическое исправление ошибок при установке пакетов, например, когда процесс обновления или установки был аварийно прерван. Либо когда вы установили некоторый пакет при помощи dpkg и при этом у него оказались неудовлетворенные зависимости. Все это в большинстве случаев отлично исправляется одной простой командой:

apt install -f

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

apt install имя_пакета -s

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

linux-apt-6-011.pngЕсли вы не знаете точного названия нужного вам пакета, то можно выполнить его поиск командой:

apt search строка_поиска

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

linux-apt-6-012.pngДля получения информации о пакете просто введите:

apt show имя_пакета

linux-apt-6-013.pngЕще одна задача, с которой может столкнуться администратор – это фиксация версии пакета, допустим вы собрали и установили собственный пакет с нужными вам функциями и не хотите чтобы при обновлении системы он был заменен стандартным из репозитория. Не проблема, отметьте пакет как зафиксированный:

apt-mark hold имя_пакета

Чтобы отменить фиксацию выполните:

apt-mark unhold имя_пакета

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

apt moo

И вы увидите старую пасхалку от разработчиков, которая была еще в apt-get, а затем ее заботливо перенесли в apt.

linux-apt-6-014.png

Графические оболочки Aptitude и Synaptic

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

linux-apt-6-015.pngВ современных дистрибутивах Debian и Ubuntu aptitude отсутствует в основной поставке и вам потребуется установить этот пакет отдельно.

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

linux-apt-6-016.pngОднако не смотря на то, что Aptitude и Synaptic являются зрелыми и эффективными инструментами, мы бы не рекомендовали их использование по крайней мере до тех пор, пока вы не освоите работу с базовым интерфейсом apt.

Магазины приложений

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

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

Так и в современном Linux, если раньше эта ОС ассоциировалась преимущественно с энтузиастами и “хакерами”, то сейчас это система открыта для всех. Магазины приложений – это простой и надежный способ управления программным обеспечением для обычных пользователей, не имеющих специальных технических знаний. А опытный администратор, скорее всего, предпочтет работу в привычной ему командной строке.

Ниже показан магазин для актуальной версии Debian

linux-apt-6-017.pngили Ubuntu

linux-apt-6-018.pngЗаключение

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Магазины приложений, менеджер пакетов, терминал или привычные установщики — выбирайте способ себе по душе.

Как устанавливать программы для Linux

Как устанавливать программы для Linux через магазин приложений

Это самый простой и удобный способ, который лучше всего подходит новичкам. Никакой возни с терминалом и поиском.

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

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

  • GNOME Software используется в дистрибутивах с графической оболочкой GNOME.
  • Discover установлен в дистрибутивах KDE. Как и подобает приложению KDE, очень красив и при этом довольно удобен.
  • «Менеджер программ» — в Linux Mint.
  • AppCenter — в elementary OS.
  • Deepin Software Center — в Deepin Linux.

Введите название программы в строку поиска и выберите нужную в окне результатов. Нажмите на кнопку «Установить», введите свой пароль, а затем просто дождитесь окончания процесса.

Магазин приложений автоматически найдёт нужную программу и установит её.

Как устанавливать программы для Linux через терминал

Хотите верьте, хотите нет, но это даже быстрее, чем искать приложение в магазине. Нужно всего лишь скопировать команды с сайта разработчика (ищите в разделе «Установка») и поочерёдно вставить их в терминал, нажимая Enter.

Например, вы хотите установить популярный плеер Clementine. Открываем сайт разработчика и видим набор команд для установки.

  1. sudo add-apt-repository ppa:me-davidsansome/clementine — добавляем в систему адрес репозитория, откуда будут качаться программа, а в дальнейшем обновления для неё. Последует предложение ввести пароль — сделайте это.
  2. sudo apt update — приказываем системе обновить список пакетов.
  3. sudo apt install clementine — начинаем установку.

Прежде чем вводить команды в терминал, убедитесь, что они относятся к вашему дистрибутиву. Посмотреть, какая команда к какому дистрибутиву подходит, можно в руководстве Лайфхакера.

Как устанавливать программы для Linux через графический менеджер пакетов

Менеджер пакетов в Linux — это программа, которая автоматически скачивает другие программы из репозитория, устанавливает и удаляет их. В разных дистрибутивах Linux свои менеджеры. В Debian, Ubuntu и их родственниках используется APT, в CentOS и Fedora есть DNF, в openSUSE — Zypper, и в Arch Linux — pacman.

Когда вы устанавливаете программы через терминал, вы отдаёте команды вашему менеджеру пакетов. Но куда удобнее управлять этими данными через графический интерфейс, например через Synaptic в Ubuntu или Pamac в Arch. Ищите его в главном меню по запросу «Менеджер пакетов».

  1. Запустите менеджер пакетов.
  2. Введите в поисковой строке имя нужной программы.
  3. Выделите найденный элемент, а затем нажмите на кнопку «Установить».
  4. Введите свой пароль пользователя и подождите, пока менеджер пакетов скачает и установит нужную программу.

Как устанавливать программы для Linux с помощью установочных файлов

Именно так инсталлируют программы в Windows: открывают в браузере сайт разработчика, скачивают установщик и запускают его двойным щелчком.

Но в Linux лучше всё ставить из репозиториев — тогда программы будут автоматически обновляться сами и возни с ними будет меньше.

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

  1. Найдите сайт разработчика приложения и скачайте установщик, подходящий к вашему дистрибутиву.
  2. Откройте его двойным щелчком и нажмите «Установить».
  3. Введите свой пароль и дождитесь завершения процесса инсталляции.

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

  • 12 дистрибутивов Linux, которые вдохнут жизнь в старый компьютер
  • Как установить Linux на Android-смартфон или планшет
  • 6 задач, с которыми Linux справляется лучше, чем Windows
  • 5 способов установить Windows-программы на Linux
  • 14 неожиданных способов использовать терминал Linux

Добавить комментарий