Какие форматы пакетов наиболее распространены в linux
Перейти к содержимому

Какие форматы пакетов наиболее распространены в linux

  • автор:

Пакеты

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

Программные пакеты в Linux

Все операции, связанные с изменением состава системы — установка, удаление, проверка, обновление компонентов — производятся над пакетами. Таким образом, пакет позволяет администратору, изменяющему или обновляющему программное наполнение системы, работать не с файлами, а с определенными функциями самой системы.

Содержание

Архив файлов

Первой задачей пакетирования является объединение всех файлов, используемых программой (набором утилит), в один файловый архив. Это позволяет не копировать при установке программы все файлы по отдельности, а потом не удалять их таким же способом, а работать со всеми данными программы как с единым целым — устанавливать и удалять один пакет.

Формат пакета

В системе Linux существует несколько форматов пакетов.

Одним из самых распространенных форматов пакетов является rpm, используемый в дистрибутивах Fedora Core, Mandriva, ALT Linux. Пакет в формате rpm представляет собой единый файл со всеми необходимыми данными. Для установки, удаления, обновления и проверки пакетов в формате rpm используется программа-установщик, называемая rpm.

В Debian используется формат deb и утилита-установщик dpkg. В Slackware Linux используется формат tgz и установщик pkgtool, а в CRUX — pkg.tar.gz с утилитой pkgadd, то есть пакеты представляют собой обычные файловые архивы tar, сжатые упаковщиком gzip.

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

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

Зависимости

Потребность пакета в ресурсах, находящихся в другом пакете, называют зависимостью этого пакета от другого. В процедуре установки rpm проверяет, все ли зависимости устанавливаемого пакета удовлетворены (т. е. все ли необходимые пакеты уже установлены в системе), и если чего-то не хватает — прекращает установку.

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

Конфликты файлов пакетов

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

Установщики пакетов

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

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

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

Наиболее известным и популярным менеджером пакетов является APT (Advanced Package Tool). Первоначально он был разработан в рамках дистрибутива Debian и работал только с установщиком пакетов dpkg, впоследствии для других дистрибутивов была разработана версия, работающая с rpm.

Кроме APT, есть еще несколько менеджеров пакетов. Большинство из них специфичны для определенного дистрибутива, как, например, emerge для Gentoo или YaST для SuSE. Их задачи и возможности примерно совпадают сAPT.

Какое расширение имеют установочные пакеты в linux ubuntu

Форматы установочных файлов (пакетов) для дистрибутивов Linux

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

Большинство дистрибутивов Linux поддерживают установку из исходных кодов, распространяемых в виде архивов, обычно с расширением tar.gz. При установке программы из такого архива программа сначала компилируется из исходных кодов. После этого запускается командный файл, который копирует нужные файлы в установленные места. Такой способ установки имеет кучу недостатков. Прежде всего — совершенно ненужный для конечного пользователя процесс компилирования программы. Этот процесс занимает время, для больших программ — долгое. После остаются файлы с исходным кодом, которые также не нужны для её использования.

Для разрешения проблем с установкой программ из исходных кодов были созданы так называемые пакетные менеджеры — программы для работы с установочными файлами (пакетами). Пакетные менеджеры используют файлы в определённом формате. Использование пакетного менеджера даёт много преимуществ. Пропадает необходимость компиляции программ из исходных кодов — и, соответсвенно, сам исходный код становится необязательным для использования программы. Пакетные менеджеры умеют устанавливать программы из репозиториев — хранилищ пакетов (в том числе и через Интернет). Пакетные менеджеры отслеживают зависимости программ друг от друга — поэтому, если при установке программы чего-то не хватает, пакетный менеджер сообщит об этом, а если установка производится из Интернет-репозитория — ещё и предложит автоматически установить недостающее. Также пакетные менеджеры отслеживают конфликты пакетов — ситуации, когда одна программа мешает другой. При установке программ из исходных кодов зависимости не остлеживаются, и конфликты тоже. Если чего-то не хватает в момент сборки программы — сборка завершится с ошибкой (возможно, после того, как большая часть сборки уже будет выполнена). Если чего-то не хватает для работы программы — программа скомпилируется, но работать не будет (или будет, но неправильно). То же самое будет, если есть конфликты.

Один из самых распространённых форматов установочных пакетов — deb-файлы. «deb» — это сокращение от Debian, названия одного из самых популярных дистрибутивов Linux, в рамках которого был разработан этот формат пакетов и пакетный менеджер для него. Также этот пакет используется во многих дистрибутивах, производных от Debian — например, Ubuntu и Linux Mint. Программа GUI-deb создана в первую очередь для автоматизации создания deb-файлов, что и отражено в её названии.

Другой наиболее распространённый формат установочных пакетов — rpm-файлы. Этот формат был разработан компанией Red Hat и используется в дистрибутиве Red Hat Enterprize Linux, а также производных от него и связанных с ним дистрибутивах — Fedora, Cent OS, Mandriva, Alt Linux и многих других. Создание rpm-файлов программой GUI-deb не поддерживается. Пакет в формате rpm может быть получен из пакета в формате deb с помощью программы alien. Программа GUI-deb может автоматически запускать alien после сборки deb-файла для получения из него пакета в формате rpm.

Руководство по Ubuntu для новичков

Содержание

Типы файлов в Ubuntu

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

Названия файлов и папок

Я уже упоминал, что в Linux все имена файлов являются регистрозависимыми, то есть вы спокойно можете создать в одном каталоге два файла с одинаковыми именами, но записанными в различных регистрах, например, Ubuntu.txt и ubuntu.txt.

Кроме того, я так же говорил, что вы можете использовать в именах файлов абсолютно любые символы, которые пожелаете, кроме прямого слеша / 1) , однако в силу некоторых причин я бы не рекомендовал использовать следующие символы: \ * , а также символы переноса строки и табуляции. Вы можете подписывать свои файлы китайскими иероглифами, рунами, греческими буквами и вообще чем угодно, если вам конечно будет удобно использовать такие имена 2) .

Ну и напоследок ещё раз напомню, что разделителем каталогов в пути к файлу в Linux всегда является символ / , в отличие от Windows, в которой используется \ .

Доступ к файлам

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

Содержимое и расширение файлов

Если вы пользовались раньше операционными системами Windows, то вы скорее всего привыкли к тому, что тип файла определяется его расширением (последняя часть имени файла после точки). Например, файл «Голубой ледопад.mp3» — это музыка в формате mp3 3) , а «Урания.txt» — это текстовый файл 4) . На самом деле всё немного не так, расширение — это всего лишь часть имени файла, которое никак не зависит от собственно содержимого, и тип файла обычно определяется по-другому 5) . Например, перейдите в Ubuntu в какую-нибудь папку с mp3 файлами и переключитесь на режим отображения списком 6) . В колонке «Тип» рядом с mp3 файлами вы увидите «аудио MP3 »:

Теперь переименуйте любой файл, приписав ему вместо mp3 расширение ?? .

Видите, тип файла не изменился. Если вы сейчас попробуете открыть такой файл, то он преспокойно откроется как mp3 в проигрывателе 7) .

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

Кстати, в Ubuntu есть мощная утилита определения типа файла, которая вообще не смотрит на имя и расширение, а пытается идентифицировать файл только по содержимому. Она бывает полезна, когда файл по каким-либо причинам не открывается, поскольку позволяет убедиться, что в нём содержаться данные именно того типа, которого вы и ожидаете там увидеть. Утилита эта консольная и называется file . Вот что она говорит о переименованном в текстовый документ аудио в формате mp3:

Обмануть утилиту file практически невозможно, а знает она о большинстве используемых форматов файлов.

Исполняемые файлы

В вопросах исполняемых файлов, то есть, если по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые файлы имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu исполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не работают без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они работают далеко не всегда.

Итак, что же такое исполняемый файл с точки зрения Ubuntu? Фактически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на выполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от содержимого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и является, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Другое дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в арсенале Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.

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

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

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

Вот так всё на самом деле просто и красиво, надеюсь, вы осознали основную логику и не будете путаться при работе с исполняемыми файлами в Ubuntu.

Текстовые файлы

Текстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов, исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами, то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться, если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста, в частности, в текстовых файлах 8) .

На самом деле большинство файлов откроется в стандартном текстовом редакторе Ubuntu без проблем 9) , но всё же иногда попадаются файлы, которые отображаются «кракозябрами». В этом случае необходимо немного помочь Gedit и указать кодировку файла вручную. Для этого закройте в редакторе вкладку с нечитаемым файлом, затем выберите в меню программы пункт «Открыть», найдите свой файл и обратите внимание на поле «Кодировка символов», находящееся внизу диалогового окна открытия. В этом поле необходимо указать нужную кодировку, после чего файл откроется уже в пригодном для чтения виде. Кстати, рекомендую такие файлы сразу сохранять в utf-8 , дабы в дальнейшем не возникало с ними проблем.

Существуют и более лёгкие способы работы с кодировками, например, плагин для Gedit, позволяющий менять кодировку у открытых файлов без необходимости их переоткрывания. Кроме того, существуют утилиты для автоматического перекодирования файлов в utf8 , например, enca . Можно также управлять механизмом автоопределения кодировки в Gedit, это делается через редактор конфигурации, про который я немного расскажу в одной из последних статей.

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

Аудиофайлы

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

Что же касается форматов, то Ubuntu поддерживает все существующие аудио-форматы, однако для воспроизведения некоторых требуются дополнительные кодеки. О том, как их поставить, я расскажу в одной из следующих статей.

Изменение ассоциаций файлов с приложениями

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

Ответ на него весьма прост. Нажмите правой клавишей мыши на любом файле нужного типа, выберите в появившемся меню пункт «Свойства» и в открывшемся окне перейдите на вкладку «Открывать в программе»:

В списке будут содержаться все приложения, которые сообщили Ubuntu о поддержке ими выбранного типа файлов. Ну а отмечена будет программа, используемая по умолчанию. Вам останется только выбрать нужное приложение и закрыть окно, после чего файлы указанного типа начнут открываться по умолчанию в выбранном вами приложении. То есть если вы хотите, например, чтобы фильмы в формате avi открывались в установленном вами VLC, а не в медиапроигрывателе Totem, то вам всего лишь надо в свойствах любого avi файла отметить VLC в качестве приложения по умолчанию.

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

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

В качестве заключения

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

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

Популярные пакетные менеджеры Linux

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

Чтобы сделать систему дружелюбней к пользователю, были разработаны пакетные менеджеры, которые полностью автоматизировали установку программ. Инсталляция приложений в них производится из пакетов – архивов с файлами скомпилированной программы. Исключение — система Gentoo, где менеджер компилирует программы по подготовленным скриптам.

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

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

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

Теоретические основы

Категории пакетных менеджеров

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

Распространенные форматы пакетов

  • DEB (.deb). Самый популярный формат пакетов дистрибутива Debian и его ближайших родственников — Ubuntu, MX Linux, Pop!_OS, elementary OS и других.
  • RPM (.rpm). Разработан компанией Red Hat и внедрен в дистрибутив RHEL. Также применяется в таких системах как Fedora и CentOS.
  • TAR.XZ. Стандартный тип пакетов для дистрибутива ArchLinux и его производных — Manjaro, ARCOLINUX и других.
  • Ebuild (.ebuild). Скрипт bash-сценария для компиляции программ в дистрибутивах Gentoo и Calculate Linux.

Разрешение зависимостей

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

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

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

Популярные пакетные менеджеры

DPKG (Debian Package) – система управления пакетами в Debian и дистрибутивах на его основе, например Ubuntu.

Утилита DPKG появилась в дистрибутиве Debian в 1995 году. Низкоуровневый пакетный менеджер создан только для работы с локальными DEB пакетами и не может самостоятельно разрешать зависимости, а также скачивать пакеты из репозиториев.

Особенности
  • Поддерживает добавление архитектур из других дистрибутивов Linux.
  • DPKG выполняет работу только с локальными пакетами.
  • Под архитектуру DEB выпущено более 55000 пакетов.

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

APT (Advanced Packaging Tool) – консольная утилита, выполняющая роль «поисковика» и загрузчика пакетов из репозиториев. Установка скачанных пакетов производится утилитой DPKG. Благодаря эффективному разрешению зависимостей, пакетный менеджер APT используется по умолчанию в дистрибутивах с архитектурой Debian и поддерживает систему в актуальном состоянии.

Список репозиториев хранится в файле «/etc/apt/sources.list» и может быть изменён пользователем в любой момент для установки или обновления программы, не входящей в базу дистрибутива. Установка скачанных пакетов производится утилитой DPKG.

Изначально APT разрабатывался только для работы с пакетами DEB, использующихся в Debian и родственных ОС (Ubuntu, Linux Mint). Позже в него была добавлена поддержка rpm-файлов. Благодаря этому, установить софт привычным образом можно даже в дистрибутивах RED HAT и его производных (Fedora, CentOS и др.).

Оболочки APT

Для упрощения работы с APT можно использовать консольные оболочки APTITUDE или Synaptic.

APTITUDE

APTITUDE — это утилита, выполняющая роль «надстройки» для APT. Разработчики программы добавили полезные функции, оптимизирующие систему поиска пакетов, а также исправили ошибки, касающиеся разрешения зависимостей.

APTITUDE доступен в нескольких вариантах интерфейса:

  • Графический интерфейс (GUI) на базе фреймворка GTK. Привычный для пользователя оконный интерфейс с возможностью управления мышью.
  • Текстовый пользовательский интерфейс. Оболочка, открывающаяся в консоли. Интерфейс снабжается минимальным количеством графических элементов и может запускаться через протокол SSH. Управление осуществляется с помощью одиночных или групповых нажатий клавиш клавиатуры. Например, для переключения строк чаще всего используются клавиши со стрелками.
  • Интерфейс командной строки. Подразумевает управление программой с помощью команд. Вариант позволяет полноценно пользоваться функционалом утилиты и подходит для продвинутых пользователей.

Если в дистрибутиве APTITUDE отсутствует по умолчанию, то выполнить установку можно следующими командами:

Synaptic

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

Установить Synaptic можно следующими командами:

Открыть программу можно, найдя ярлык в меню рабочего окружения, или введя « sudo synaptic » в терминале.

RPM (Red Hat Package Manager) – формат пакетов и низкоуровневый пакетный менеджер систем RED HAT (RHEL, CentOS, Fedora и др.) Как и DPKG, способен работать только с локальными файлами.

Пакетный менеджер выпущен в 1997 году. Он работает с пакетами RPM. В отличие от DEB, пакеты RPM архивируются утилитой cpio, сжимающий пакет алгоритмом gzip.

Особенности
  • Обновление программ производится в ускоренном режиме, благодаря замене только отредактированных разработчиком элементов пакета.
  • Для скачивания, обновления пакетов, а также разрешения зависимостей придётся использовать пакетные менеджеры более высокого уровня (YUM, DNF).
  • Начиная с 2010 года, пакеты подписываются с хешем MD5. Это исключает вероятность изменения файла RPM злоумышленником для внедрения вирусного кода.

YUM (Yellowdog Updater, Modified) – высокоуровневый пакетный менеджер, написанный на языке Python для систем RED HAT (RHEL, CentOS, Fedora). Программа представляет собой своеобразную оболочку для утилиты RPM.

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

DNF (Dandified YUM) – модифицированная версия пакетного менеджера YUM на языке на Python. Разработка утилиты начата в 2011 году. В 2015 году DNF стал основным менеджером пакетов для системы Fedora 22. В DNF были исправлены такие недостатки YUM, как некорректная установка зависимостей, низкая скорость работы, большое потребление оперативной памяти.

Yum Extender

Yum Extender – лёгкая графическая оболочка для менеджеров пакетов YUM и DNF.

Yum Extender устанавливается следующей командой:

Pacman

Pacman – высокоуровневый пакетный менеджер системы Arch Linux и его родственных дистрибутивов (Manjaro, EndeavourOS и др.). Программа написана на языке C# и совмещает высокую функциональность, легкость и производительность. В качестве пакетов используются архивы pkg.tar.xz.

Особенности
  • В Pacman совмещены функции работы с репозиториями и установка пакетов в систему, в отличие от систем Debian или Red Hat.
  • В систему устанавливается новейшее ПО, благодаря модели обновлений «плавающий релиз» (rolling-release).
  • В репозиториях Pacman располагаются заранее собранные пакеты, что значительно ускоряет процесс инсталляции программ.
  • Поддержка работы с репозиторием AUR.

Компиляция программы производится только в том случае, если пакет взят из репозитория AUR (Arch User Repository). Он содержит более 54000 пакетов и активно поддерживается обычными пользователями и администраторами ArchLinux.

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

Оболочки Pacman
MakePKG

Скрипт, объединяющий работу компилятора, линкера и других вспомогательных приложений для сборки пакета из PKGBUILD. MakePKG установлен по умолчанию в системе с пакетным менеджером Pacman. Компонент входит в пакет base-devel и ABS (Система автоматической сборки пакетов).

Установка или обновление всех компонентов производиться командами:

Для установки программы и зависимостей согласно скрипту PKGBUILD, нужно перейти в каталог с файлом и выполнить команду:

Важно. Запуск скрипта с помощью MakePKG должен проводится без предоставления прав администратора. Это делается для защиты системы от выполнения вредоносных команд, находящихся в файле «pkgbuild».

Программа написана на языке GO и используется для поиска и установки пакета из репозитория AUR. Управления Yay производится посредством командной строки.

Для установки утилиты в дистрибутив с Pacman нужно задать следующие команды:

Утилита Yay упрощает весь алгоритм установки до ввода одной простой команды в консоль. Например, запрос к терминалу для инсталляции пакета из AUR строится следующим образом:

Примечание. Для установки пакетов через Yay не требуется предоставлять административный доступ утилите (добавлять «sudo» перед командой).

Pamac

Графический менеджер пакетов Pamac разработан специально для Manjaro, но может быть установлен в любой дистрибутив на основе Arch Linux. Программа сочетает лёгкость с большим функционалом. В качестве источников используются официальные репозитории дистрибутивов AUR и Snappy.

Установка программы Pamac выполняется командой:

Portage

Portage – система управления пакетами Gentoo или Calculate Linux. Установка программ для данного дистрибутива несколько отличается от остальных систем Linux. В Gentoo пакетный менеджер использует исключительно исходный код, а не готовые пакеты для установки программ.

Особенности
  • Программы собираются под пользовательскую систему и железо, что обеспечивает стабильную работу ОС.
  • По сравнению с распаковкой программ у других пакетных менеджеров, компиляция в Portage занимает много времени. Например, полный пакет LibreOffice компилируется от 4 часов и более.
  • Пользователь может гибко настроить параметры компиляции и полностью управлять процессом сборки. Например, поставить операцию на паузу и продолжить позже.
  • Для обновления установленного ПО используется система rolling-release, благодаря которой в репозитории дистрибутива поставляются пакеты последней версии, опубликованные разработчиком в течение 1-2 дней.

Установка программ из репозиториев чаще всего производится с помощью интерфейса Emerge. Для добавления дружелюбности системе, также можно использовать графическую оболочку Kuroo.

Интерфейсы Portage
Emerge

Консольный интерфейс Emerge предназначен для сборки и обновления программ и их зависимостей. Инструмент доступен «из коробки» и используется для работы с системой Portage по умолчанию.

Для компиляции программ используются ebuild-скрипты. Они содержатся в локальных репозиториях Gentoo (overlay), а сам исходный код программ скачивается с GitHub. Настроить список репозиториев можно самостоятельно, в файле «/etc/portage/repos.conf».

Kuroo

Графический интерфейс Kuroo по принципу работы почти не отличается от Emerge. Утилита написана на языке C++ с использованием фреймворка Qt.

Kuroo установлен по умолчанию в систему с рабочим окружением KDE. В случае отсутствия программы, инсталляция выполняется по данной инструкции.

Заключение

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

  • DPKG и RPM больше подойдут пользователям, ожидающим от системы лёгкой настройки и стабильной работы.
  • Pacman оперативно обеспечивает систему новейшим ПО, благодаря системе rolling-release.
  • Portage совмещает преимущества предыдущих пакетных менеджеров, но требует от пользователя внимательности и желания глубоко осваивать систему.

Чтобы даже самый требовательный дистрибутив Linux работал как швейцарские часы — выбирайте VDS от Eternalhost с оперативной техподдержкой 24/7 и бесплатной защитой от DDoS.

Записки IT специалиста

Linux — начинающим. Часть 5. Управление пакетами в Debian и Ubuntu

  • Автор: Уваров А.С.
  • 20.09.2019

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, который обозначает репозиторий с двоичными пакетами или 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 не умеет работать с репозиториями и разрешать зависимости. Но тем не менее этот инструмент достаточно широко используется по сей день и навыки работы с ним необходимо иметь каждому администратору.

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

linux-apt-5-004.png

Для установки просто выполните:

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

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

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

linux-apt-6-004.png

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

linux-apt-6-005.png

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

linux-apt-6-006.png

В этом случае вы получите список только установленных, либо удаленных, но имеющих оставшиеся части (например, конфигурационные файлы) пакетов, но при этом будут найдены все вхождения указанной строки, даже в середине имени, в данном случае мы обнаружили ранее не найденную библиотеку libgimp2.0

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

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

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

На этом мы закончим знакомство с 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 всегда работает с локальным кешем списков, поэтому перед любыми действиями с пакетным менеджером следует обновить списки в кеше. Это можно сделать командой, которая должна быть широко известна нашим читателям:

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

linux-apt-6-008.png

Установить обновления можно командой:

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

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

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

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

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

linux-apt-6-009.png

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

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

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

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

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

linux-apt-6-010.png

Удалить их можно командой:

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

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

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

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

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

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

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

linux-apt-6-011.png

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

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

linux-apt-6-012.png

Для получения информации о пакете просто введите:

linux-apt-6-013.png

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

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

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

И вы увидите старую пасхалку от разработчиков, которая была еще в 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 часов практики и доступ навсегда.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *