+---------------------------+
|.-------------------------.|
|| kee_reel@blog:~/ru $ cd ||
|| ссылки контакты         ||
|| c c++ linux opengl sql  ||
|| python сети             ||
||                         ||
|.-------------------------.|
+-::---------------------::-+
.---------------------------.
 // /oooooooooooooooooooooo\\ \\ 
 // /oooooooooooooooooooooooo\\ \\ 
//-------------------------------\\
\\-------------------------------//


Linux. Установка и запуск программ

Время чтения: 5 минут

Если ты ознакомился с предыдущей статьёй, то ты уже умеешь перемещаться по разным папкам и создавать/редактировать/удалять файлы.

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

Так как же на Linux ставить новые программы?

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

Так как Ubuntu Linux является одним из самых дружественных к пользователю дистрибутивов (версий сборки Linux), в него уже встроен графический “магазин” приложений.

Я пишу “магазин” в кавычках, потому что в нём нельзя ничего купить – все приложения в нём бесплатные, как и сам Linux.

Чтобы открыть его, найди “Центр приложений” (или “Software Center” если у вас английский) в меню приложений (нужно нажать на кнопку в левом нижнем углу):

Магазин приложений в меню

Если у тебя не Ubuntu, то иконка “магазина” приложений выглядет иначе или вообще отсутствует – можешь написать мне, если с этим есть проблемы.

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

Окно магазина приложений

Круто? Не говори что не круто, я не поверю!

По сравнению с Windows, где обычно приходится лезть на разные сайты, скачивать там установщик, прокликивать бесконечные окна (возможно с галочками вроде “Установить браузер Amigo?”), установка приложений на Linux выглядит намного удобнее! Она настолько удобна, что Windows пытаются повторить это у себя через Microsoft Store, но пока не очень успешно.

Окей, с установкой приложений на уровне пользователя разобрались – а есть какие-то преимущества для разработчика?

Менеджер пакетов

Менеджер пакетов (англ. Package Manager) – программа, которая занимается загрузкой и установкой других программ и их зависимостей.

“Магазин” приложений, который я рассмотрел в прошлом разделе, это всего лишь графическая оболочка надо менеджером пакетов – вся магия происходит в нём.

Пакеты

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

Пакет – это архив, который содержит бинарные файлы (исполняемые файлы, библиотеки), ресурсы (картинки, конфигурационные файлы) и информацию о самом пакете.

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

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

В зависимости от дистрибутива, система может кушать только определённый формат пакетов (источник):

  • deb (Debian) формат используется дистрибутивами: Ubuntu, Linux Mint, Elemental OS и прочие
  • rpm (Red Hat Package Manager) формат используется дистрибутивами: Red Hat Linux, Arch, openSUSE и прочие

Для работы с каждым из форматов существует множество пакетных менеджеров (источник):

  • Для deb пакетов:
    • dpkg – очень простой, используется только для установки пакетов
    • aptAdvanced Package Tool. Обёртка над dpkg, которая может скачивать пакеты и разрешать зависимости между ними
    • apt-get, apt-cache – старые версии вызова apt
    • aptitude – обёртка над apt, которая ещё больше облегчает работу с пакетами
  • Для rpm пакетов:
    • rpm – аналогичен dpkg
    • yum – аналогичен rpm
    • dnf – аналогичен yum
    • pacman – самостоятельный пакетный менеджер, используемый на Arch дистрибутивах

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

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

Дистрибутивы

Итак, вернёмся к работе с менеджером пакетов – я предположу что у тебя стоит Ubuntu дистрибутив Linux, поэтому буду рассматривать работу с пакетным менеджером apt.

Если у тебя стоит другой пакетный менеджер, то это не страшно – увидев как я работаю с apt, ты поймёшь общий принцип, а это самое важное, потому что все менеджеры пакетов почти идентичны в плане работы с ними.

Обычно все взаимодействуют с менеджером пакетов не через графическую оболочку, а через консоль. Но почему? Да потому что это намного удобнее!

Установка программы

Например, тебе надо поставить “Telegram” – это делается в одну команду:

kee-reel@blog:~$ sudo apt install telegram-desktop

Давай разберём это заклинание по словам:

  • sudo – программа, которая позволяет переключиться в режим администратора, чтобы выполнить какую-нибудь важную команду (которая пишется сразу после).

sudo

  • apt – это и есть наш пакетный менеджер.

  • install – один из режимов работы apt (про другие режимы позже). Используется для установки новых пакетов.

  • telegram-desktop – название пакета, который надо установить. Я загуглил “ubuntu telegram”, чтобы узнать что нужно именно такое название (обычно это в первых ссылках).

После исполнения этой команды, тебя попросят ввести пароль администратора – это отрабатывает программа sudo. Затем, уже apt попросит подтвердить что ты действительно хочешь установить этот пакет – просто соглашайся, введя “Y”.

Запуск программы

После этого можно запускать установленный Telegram:

kee-reel@blog:~$ telegram-desktop

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

Запуск в фоне

Пока Telegram запущен, ты можешь заметить, что консоль заблокирована и ты не можешь ничего вводить. Чтобы такого не было, ты можешь:

  • запустить Telegram через меню приложений в графическом интерфейсе, нажав на соответствующую иконку

  • запустить Telegram через командную строку, но добавить в конце символ имперсант “&”:

kee-reel@blog:~$ telegram-desktop &

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

Убрать надоедливые сообщения

После запуска в терминал могут посыпаться странные сообщения – это сообщения отладки (логи), которые пишет запущенная программа. Если тебя это бесит, то можно запустить вот так:

kee-reel@blog:~$ telegram-desktop 2>/dev/null

Разберу заклинание:

  • 2> – перенаправляет поток ошибок (stderr) в…
  • /dev/null – …пустое устройство (dev - device). Это виртуальное устройство, которое полностью поглощает любой ввод и ничего с ним не делает.

Теперь ты можешь посылать плохих людей не на ***, а в /dev/null – они даже не поймут что произошло

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

Обновление программ

Периодически для установленных программ выходят обновления – чтобы их установить надо выполнить две команды.

Запросить список обновлений из всех удалённых репозиториев:

kee-reel@blog:~$ sudo apt update

Накатить все доступные обновления:

kee-reel@blog:~$ sudo apt upgrade

Удаление программы

Чтобы удалить программу надо выполнить эту команду:

kee-reel@blog:~$ sudo apt remove telegram-desktop

Запускаем apt из под sudo в режиме удаления пакетов remove, и удаляем указанный пакет telegram-desktop – зеркальный ответ команде установки.

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

Если что – пиши, я помогу и постараюсь объяснить лучше.


▲ В начало ▲