Принципы установки программного обеспечения в Linux системах в сравнении с Windows
В данной статье рассмотрены механизмы и принципы работы с программным обеспечением в операционных системах семейств Linux и Windows. Эта информация будет очень полезна новичкам постигающих основы Linux. Работа с конкретными пакетными менеджерами будет рассмотрена в следующих статьях.
Введение
Сама по себе любая пустая операционная система не представляет из себя ничего полезного для пользователя. Поэтому для того, чтобы извлечь пользу из компьютера, необходимо установить не только операционную систему, но и программное обеспечение к ней. Сегодня я расскажу о том, каким образом можно устанавливать программы в системах семейства Linux, сравню с механизмами, использующимися в Windows. Попробуем выделить плюсы и минусы разных подходов, ну и попрактикуемся на примере Manjaro Linux.
Windows
Итак, так как я пишу для начинающих Linux-пользователей, у которых наверняка есть хоть какой-то опыт работы с Windows, начнём с рассмотрения механизмов работы с программным обеспечением именно на Windows. Установка программного обеспечения там происходит без какого-либо централизованного контроля. Вы просто скачиваете откуда-то из интернета или получаете на носителе «запакованную» программу - установщик. После чего, кликнув по нему 2 раза, вы запускаете процедуру установки программы или «распаковки». Вам нужно будет указать мастеру установки несколько значений, таких как: выбрать место установки, не забыть снять галочку «установить Яндекс.Браузер», выбрать какие-то специфические для конкретной программы параметры и т. д. Завершив процедуру установки, установщик можно удалить, ну или оставить на чёрный день. Года до 2010 ещё было популярно создавать целые домашние архивы с кучей установщиков разных типов и назначений (думаю, олды, читающие статью, сейчас улыбнулись =) ). После установки на рабочем столе будет создан ярлык, по которому вы сможете запустить свежеустановленную программку. Таким образом устанавливается подавляющее большинство программ на Windows.
Стоит отметить, что в Windows 8 появился магазин приложений - Аналог Google Play или Apple Store. Чтобы установить оттуда программу, нужно просто найти её и нажать кнопку «установить». Но, если честно, я пока не знаю никого, кто интенсивно использовал бы этот магазин. Сам я, например, пользовался им пару раз в жизни - устанавливал торрент-качалку и обои на рабочий стол. В целом впечатления о нем довольно неплохие, но программ там слишком мало. Вполне ожидаемо, что в будущем он станет основным источником программ, но случится это не скоро.
Так же хотелось бы упомянуть пакетные менеджеры для Windows такие как например Chocolatey. Они упрощают и автоматизируют установку и обновление программ.
С Windows вроде бы все просто - скачали установщик, кликнули пару раз «далее», и программа готова к использованию, но возникают некоторые вопросы:
- А как обновить программу?
- А что будет с лицензией после обновления?
- А нужно ли удалить перед установкой новой версии старую версию?
- А могу ли я доверять сайту, откуда я скачал этот установщик?
- Почему у меня появился Яндекс.Браузер? Я же качал конвертор видео?!?!?!
- А что внутри установщика?
- А рабочий ли это установщик?
Если с первыми вопросами касательно обновлений ситуация изменилась в лучшую сторону (многие программы сами автоматически обновляются и не напрягают этим сисадминов и пользователей, хоть и качество этих обновлений оставляет желать лучшего), то, что касается вопросов безопасности и надёжности, тут вы, как пользователь, никак не защищены. При скачивании вам могут подсунуть совершенно другой установщик или запихнуть в него что-то не очень хорошее, или он вообще не будет работать, и вы просто потеряете кучу бесценного времени, пытаясь настроить нерабочую программу. Естественно владелец сайта с которого вы качаете установщик не особо заморачивается с проверками. И даже, если вы установили программу и у вас все окей, то это не значит, что ваша машина прямо сейчас не участвует в какой-либо DDOS-атаке или не майнит кому-то копеечку.
Linux
Теперь давайте рассмотрим процесс установки ПО в системах Linux. Для работы с ПО в каждом дистрибутиве
дистрибутив - конкретная реализация операционной системы на ядре Линукс со своей экосистемой, философией и источниками программного обеспечения, например, Ubuntu, Debian, Manjaro и т.д.
существует свой пакетный менеджер
пакетный менеджер - это программа для установки обновления и удаления и учета других программ (пакетов).
Например, в системах Ubuntu, Debian пакетный менеджер apt-get, в системах Arch и её форках, таких, как та же Manjaro, используется pacman, в Fedora используется yum и т.д. Менеджеры могут отличаться какими-то параметрами или свойствами, но в целом они выполняют одну главную задачу - это получать по сети из репозиториев установщики программ (пакеты) и устанавливать их. Репозитории, если простым языком, это большие хранилища, для хранения специальным образом подготовленных пакетов(программ),за которыми следят сопровождающие дистрибутива. Они добавляют в репозитории новые программы, обновляют, удаляют ненужные или неактуальные, а также контролируют, чтобы все, что попало в репозитории, работало и было безопасно, все тщательно тестируют. Ну и все, что вам нужно сделать, чтобы установить программу на компьютер - это вписать её название в команду пакетного установщика и нажать Enter. А если учесть, что почти все дистрибутивы имеют графические оболочки для менеджеров, то вам нужно просто вбить название программы в поиск и нажать «установить». Все. Пакет будет скачан, будут проверены и установлены все нужные зависимости и на рабочем столе вам будет создан красивый красочный значок для запуска. Ничего не нужно искать, ничего не нужно даже качать, все за вас сделает программа.
Кроме классического механизма получения ПО через репозитории в Linux системах есть и другие варианты. Во первых вы можете получать программы как и в Windows, скачивая с официальных сайтов, как пример программа Davince Resolve, но даже не смотря на то что её можно получить с сайта разработчика она всеравно есть в репозиториях многих дистрибутивов. Во вторых вы можете использовать системы развёртывания на основе контейнеризации с изоляцией от основной системы, такие как Snap и Flatpak. Такие пакеты содержат в себе не только саму программу, как в случае с репозиториями, но и абсолютно все что ей необходимо для работы прямо в самом пакете. Как пример представьте что вы качаете программу для Windows и она в себе содержит все системные библиотеки которые ей нужны, да ещё и необходимых версий. Кто бы что о них не говорил, они есть они работают и их можно использовать.
Анализ
У подхода систем семейства Windows я вижу очевидные проблемы в безопасности получения ПО. Вы не можете проверить, что скачанный с сайта установщик чистый, что он в принципе работает так, как нужно. Также вам необходимо потратить время на поиск нужной программы в сети. Для больших программных продуктов есть официальные сайты, а вот небольшие ещё нужно постараться найти. Механизм работы в системах Linux лишён этих проблем. Программы не нужно искать, вам просто нужно знать название и все. Вы можете быть уверены, что установленная из репозитория программа чистая и работает как надо. Безусловно, репозитории могут быть взломаны, а программы подменены. Такие атаки довольно опасны, но быстро обнаруживаются и устраняются, и, как правило, не успевают навредить.
Не стоит забывать о такой вещи как реестр Windows. Если в Linux системах все данные программы,включая настройки, находятся в одном каталоге или в специально предназначенном для этого каталоге, то в Windows программы раскидывают свои параметры и настройки по бескрайним просторам веток реестра и не факт что после удаления все эти ветки и параметры буду удалены. Удалить их самостоятельно зачастую не возможно. Многих пользователей этот момент довольно сильно напрягает не смотря на то что объективных доказательств что это хоть как то влияет на производительность нет.
Кроме вышесказанного стоит отметить, что ПО в Linux системах довольно просто и удобно обновляется. Это удобно как разработчикам программ, так и пользователям. Разработчикам не нужно изобретать свои механизмы обновления, а пользователям не нужно лишний раз напрягаться - пакетный менеджер все сделает сам. Ну и довольно много программ (а в некоторых дистрибутивах вообще все) распространяются с открытым исходным кодом, а значит сообщество быстро найдёт и отреагирует, если какие-то недобросовестные разработчики начнут пихать в код что-то вредное. Как было, например, с браузером Brave. В случае с Windows подобное вообще невозможно отследить, там практически 100% программ распространяются в уже скомпилированном виде с закрытым исходным кодом.
Практика в Manjaro Linux
Здесь я не буду описывать и разбирать полностью пакетный менеджер pacman, мы лишь установим одну программку в демонстрационных целях. В дальнейшем будет отдельная статья по пакетным менеджерам.
В операционной системе Manjaro используется пакетный менеджер pacman. В качестве примера давайте установим популярный графический редактор GIMP. Для этого в консоли пропишем команду sudo pacman -S gimp.
- Sudo — означает выполнить следующую команду с правами суперпользователя
- pacman — пакетный менеджер
- -S — ключ для установки
- gimp — название программы
После нажатия Enter вам будет предложено ввести пароль суперпользователя. После его ввода будет показана информация о программе, которую вы хотите установить, а именно: размер пакета, размер программы после установки, зависимости, то есть, пакеты, которые необходимы для работы этого пакета.
Зависимости это пакеты необходимые для работы устанавливаемого пакета. Различные библиотеки, сопутствующие программы и т.д.
Ну и менеджер вас спрашивает, хотите ли вы установить указанный пакет? Y – да, n – нет. Нажимаем Y. Начинается скачивание и установка пакетов.
После завершения процесса мы сможем найти программу на рабочем столе или, если вы используете KDE и режим рабочего стола «по умолчанию», то в списке программ.
Ну и, кликнув по значку, запустить её.
Вот и все, весь процесс установки у меня занял примерно 30 секунд с учётом скачивания пакетов. Я никуда не заходил, ничего не искал, получил надёжную, протестированную со всех сторон программу из надёжного источника.
А вот как установить ту же программу через графический интерфейс в Manjaro Linux. Запускаем «Установка и удаление программ»
Находим в поиске нужную программу
Нажимаем установить затем применить, вводим пароль администратора
Соглашаемся на транзакцию…готово. Программа установлена.
Ну и чтобы удалить программу достаточно найти её в том же инструменте «установка и удаление программ» и нажать кнопку «удалить»
Через терминал для удаления нужно вести команду sudo pacman -R gimp и вести Y дав согласие на удаление, где ключ -R означает удалить пакет.
Итог
Сегодня мы с вами убедились, что установка программного обеспечения в Linux-системах проста и надёжна. Все, что вам нужно, это найти статью по работе с вашим пакетным менеджером, изучить её и узнать 3 основные команды: как установить, как обновить и как удалить. В данной статье эти вопросы не рассматриваются, это большая тема, и она сильно бы нагрузила и без того объёмную статью. Я лишь дал вам необходимую базу, которая поомжет вам продвинуться в дальнейшем изучении. Теперь вы хотябы знаете что гуглить. В дальнейшем мы безусловно познакомимся с разными пакетными менеджерами и их возможностями. Ну, а на этом все.
