На что способен менеджер пакетов

На что способен менеджер пакетов

Управляем программами как программисты

Недавно мы поговорили о том, что такое менеджер пакетов и зачем он нужен. Вот основное, если пропустили:

  • Существует программа «менеджер пакетов».
  • У этого менеджера есть библиотека программ где-то на сервере в интернете.
  • Вы говорите менеджеру: «Установи мне такую-то программу». Если она есть в библиотеке, менеджер её выкачает и установит.
  • Пакет — это набор файлов и инструкций, которые вместе дают вам рабочую программу или библиотеку на вашем компьютере.
  • Менеджер умеет читать эти пакеты, скачивать, устанавливать, обновлять и удалять.
  • Ещё менеджеры занимаются зависимостями: когда одной программе для работы нужны другие, он их тоже скачивает и устанавливает.
  • Благодаря менеджеру пакетов вы можете установить множество программ одной строчкой в командной строке. Например, вы говорите: «Установи мне такую-то систему машинного обучения». И дальше он сам ставит вам все библиотеки, всю математику, все базы данных и вообще всё, что нужно для работы этой системы.

Сегодня будет практика: поработаем с менеджером пакетов в Ubuntu и посмотрим, на что он способен.

Менеджеры пакетов — линуксовая тема, в Windows и Mac OS их нет. При желании, конечно, можно поставить какие-то менеджеры и туда и туда, но всей мощи, как у менеджеров в Linux, у них не будет.

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

Что нам понадобится

Чтобы посмотреть, как работает и что умеет менеджер пакетов, будем использовать Ubuntu — популярный дистрибутив Linux как среди разработчиков, так и у обычных пользователей. В нём используется менеджер пакетов apt, поэтому все команды у нас будут начинаться именно с apt, например apt list --installed.

В Ubuntu нам нужно запустить командную строку — всё управление менеджером пакетов будет там. Для этого нажимаем на точки в левом нижнем углу и в общем списке приложений выбираем Terminal:

На что способен менеджер пакетов
Запускаем командную строку в Ubuntu
На что способен менеджер пакетов
Командная строка, где будут происходить все наши эксперименты

Смотрим, что у нас есть

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

apt list --installed

На что способен менеджер пакетов

Список получился огромный, на пару десятков экранов, потому что команда показала нам вообще всё, что у нас есть. Если нам среди этого нужно найти, например, Python, чтобы знать, надо его ставить или нет, добавим к команде | grep — он отберёт только те варианты, которые нам нужны:

apt list --installed | grep python

На что способен менеджер пакетов
Оказывается, Python уже был в системе

Видно, что на компьютере уже есть Python третьей версии, поэтому можно сразу проверить, какая версия сейчас установлена. Для этого используем команду python3 --version:

На что способен менеджер пакетов

Обновляем то, что уже установлено

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

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

apt list --upgradable

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

На что способен менеджер пакетов

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

На что способен менеджер пакетов
Список программ, которые можно обновить, скриншот linuxthebest.net

Чтобы обновить всё, используем команду apt upgrade — она сама сходит в репозиторий (хранилище программ) на сервере, заберёт оттуда последние версии и установит их вместо старых. Кайф в том, что сколько бы ни было необновлённых программ, менеджер пакетов пройдёт их по очереди и сделает всё сам. Это может занять много времени, но вас он тревожить не будет. 

Устанавливаем новое

Ситуация: мы хотим смотреть видео и слушать музыку у себя на компьютере, но плеера у нас ещё нет. Проверенный вариант — использовать открытый и бесплатный VLC Player. 

Сначала посмотрим информацию о пакете, используя команду apt show vlc — она выведет описание пакета и какие там зависимости:

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

Устанавливаем плеер командой sudo apt install vlc. Sudo означает, что команда выполнится от имени суперпользователя (администратора) — без этого установить новую программу не получится. После установки у нас появилась новая программа в меню приложений:

На что способен менеджер пакетов
На что способен менеджер пакетов
После запуска появляется стандартный интерфейс медиаплеера

Удаляем ненужное

Если программа больше не нужна, её можно удалить такими командами:

sudo apt remove название — программа удалится, но настройки и данные останутся;

sudo apt purge название — если настройки программы и прочие её файлы вам уже не нужны;

На что способен менеджер пакетов

Во время удаления VLC появилось сообщение, что хоть пакет vlc и удалён, но в системе осталось много пакетов, которые шли вместе с ним при установке (зависимости). Чтобы их тоже удалить, используем команду sudo apt autoremove — она посмотрит, какие пакеты больше никем не используются, и удалит их:

На что способен менеджер пакетов
Система нашла 96 неиспользуемых пакетов

Для перестраховки некоторые системные администраторы перед удалением программы смотрят, зависит ли от неё работа других программ. Для этого они пишут в консоли apt-cache rdepends --installed название, например:

apt-cache rdepends --installed ssh — покажет все программы, которые зависят от ssh

На что способен менеджер пакетов

Получается, что если мы удалим пакет ssh, то перестанут работать две другие программы: openssh-server и openssh-client.

Корова

Разработчики apt оставили нам подарок. Если выполнить команду apt-get moo, то появится корова, которая спросит, мычали вы сегодня или нет:

На что способен менеджер пакетов

Что дальше

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

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
easy