Как определить версию Linux?
Линукс — как много в этом слове эмоциональной и смысловой нагрузки. А как много разных дистрибутивов входят в это семейство И частенько требуется понять, какая конкретно версия установлена и этому помогает пакет systemd, который в настоящее время имплементирован во многие дистрибутивы.
Самый простой способ проверить версию Linux это просто использовать hostnamectl команду без каких-либо аргументов. Эта команда возвращает название дистрибутива, версию и кодовое название вместе с конкретной версией ядра.
Довольно распространенной ошибкой является называть все семейство GNU/Linux систем просто Linux-ом. Важный момент в том, что Linux — это только ядро, а GNU — непосредственно сама система в виде набора скомпилированных библиотек и системных инструментов. GNU и Linux должны работать в тандеме для того, чтобы операционная система корректно работала. Так как одно не может существовать без другого, корректнее называть эту связку GNU/Linux или Lignux .
ДОПОЛНИТЕЛЬНЫЕ СПОСОБЫ ОПРЕДЕЛЕНИЯ
СИСТЕМЫ УПРАВЛЕНИЯ ПАКЕТАМИ В LINUX
Если команда выше вам не помогла, следующим шагом будет проверка установленного пакетного менеджера, так как вероятность, что один из трех пакетных менеджеров все-таки установлен крайне высока.
- rpm — пакетный менеджер для систем RedHat
- dpkg — пакетный менеджер для систем Debian
- pacman — пакетный менеджер для систем Arch
Таким образом, если система использует rpm , то скорее всего у вас используется RHEL, CentOS, Fedora и т.д. Если deb , то скорее всего это Ubuntu, Debian, Mint. И соответственно в случае pacman это будет Arch или Manjaro (и им подобные).Для определения пакетного менеджера нужно ввести команду
$ for i in $( echo rpm dpkg pacman ); do which $i; done 2 /dev/null
В случае deb и rpm она вернет следующее: /usr/bin/dpkg и /bin/rpm соответственно.
ПРОВЕРКА ВЕРСИИ CENTOS/RHEL
Самый простой способ проверки версии CentOS это чтение файла /etc/centos-release с помощью команды cat /etc/centos-release
В свою очередь для RHEL нужно будет прочитать файл /etc/redhat-release
Команду соответственно меняем:
Думаю логика здесь понятна, для Fedora нужно будет поменять команду на fedora-release — проще некуда.
ПРОВЕРКА ВЕРСИИ DEBIAN, MINT И UBUNTU
Для Debian — подобных систем нужно прочесть файл /etc/issue:
ПРОВЕРКА ВЕРСИИ ARCH
Проверять версию Arch не имеет смысла, так как каждый раз при запуске команды pacman -Suy ваша система автоматически обновляется до последней версии.
ПРОВЕРКА СИСТЕМНЫХ ПАРАМЕТРОВ
ПРОВЕРКА СИСТЕМНОЙ АРХИТЕКТУРЫ И ВЕРСИИ ЯДРА
Самый простой и популярный способ определения системной архитектуры и версии ядра Linux это использование команды uname с аргументом -a .
То есть команда будет выглядеть следующим образом:
В выводе будет указана версия ядра и разрядность архитектуры.
ПРОВЕРКА АРХИТЕКТУРЫ ЦПУ
Самым простым и распространенным способом является команда:
Как видно из вывода, вместе с моделью процессора и его частотой также видна его разрядность и еще много различных параметров.
Как узнать, какие файлы установлены пакетом RPM, DEB или PKG.TAR.XZ в Linux
Приходилось ли вам когда-нибудь задаваться вопросам, куда были размещены все файлы определённого пакета в Linux? В этой статье мы покажем, как вывести список всех файлов, добавленных в систему во время установки определённого пакета или группы пакетов в Linux.
Это поможет вам с лёгкостью найти такие файлы пакетов как конфигурационные файлы, документацию и другое. Давайте посмотрим на различные методы вывода списка файлов в пакетах:
Как показать все файлы установленного пакета в Linux
На системах CentOS/RHEL для вывода содержимого пакета вы можете использовать команду repoquery, которая является частью yum-utils.
Для установи и использования yum-utils, выполните следующие команды:
Теперь вы можете узнать список файлов установленного пакета RPM, к примеру, веб-сервера httpd (имя пакета чувствительно к регистру). Флаг —installed означает установленные пакет, а флаг -l включает вывод списка файлов:
Важно: в версиях Fedora 22+, команда repoquery для показа файлов из пакета интегрирована с менеджером пакетов dnf для дистрибутивов на основе RPM.
В качестве альтернативы для пакетов .rpm вы также можете использовать команду rpm как показано ниже, где -g и -l означают показать файлы пакета:
Ещё одна полезная опция для показа файлов .rpm пакета перед установкой, это -p.
В дистрибутивах Debian/Ubuntu/Linux Mint, вы можете использовать команду dpkg с флагом -L для вывода списка установленных в вашу систему файлов, это работает для всех Debian и производных, в которых имеются .deb пакеты.
В этом примере будут выведены файлы установленного веб-сервера apache2:
Что лучше deb или rpm
Установка программного обеспечения — очень важный момент в работе с операционной системой. Сейчас есть две самые распространенные системы установки программного обеспечения. Это используемая в Debian и всех ее производных, в том числе и в Ubuntu — deb, а также разработанная в RedHat и используемая в Red Hat и всех основанных на ней дистрибутивов — rpm. Обе системы и deb и rpm полнофункциональные, легкие в использовании и имеют очень большое количество программного обеспечения. Многих пользователей интересует в чем разница между этими двумя системами. Но в интернете мы находим только общие сведения вроде того что уже выше написано. В этой статье мы попытаемся разобраться что лучше deb или rpm. Также попытаемся вникнуть в суть их различий.
Основы
С точки зрения пользователя, эти два варианта установки пакетов не имеют очень больших различий. Оба файла и Deb и Rpm — это всего лишь архивы, созданные с помощью утилиты ar. Эти архивы включают в себя файлы программ, исполняемые файлы, библиотеки, или файлы конфигурации. Кроме этого, в каждый пакет входят метаданные системы управления пакетами, именно этим и отличаются rpm и deb. Собственно файлы пакетов отличаются в основном только этим, но еще есть система управления пакетами. А там уже различий в базе данных намного больше.
Давайте рассмотрим каждую систему управления пакетами подробнее, а затем сравним что же в них особенного, и что лучше rpm или deb.
RPM (Red Hat Package Manager)
Как мы уже говорили, RPM — это менеджер пакетов, используемый в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д. Изначально этот пакетный менеджер был разработан в компании Red Hat еще в 1997 году и только для их дистрибутива, но затем он распространился и в другие операционные системы. Вместо обычного сжатия здесь используется сжатие gzip по алгоритму cpio и особый формат файла архива, его мы рассмотрим ниже. Здесь в сравнении rpm или deb, первый кажется лучше, но не все так просто, если в системе нет нужных утилит, то вы не сможете распаковать такой пакет. Кроме cpio могут использоваться и другие алгоритмы сжатия, например, lzma или xz. В последнее время все программное обеспечение подписывается ключами для удостоверения подлинности, вот и RPM поддерживает подпись с помощью GPG и MD5. Технология PatchRPMs или DeltaRPMs позволяет грамотно обновлять RPM пакеты без больших затрат трафика.
Хоть и сказано, что файл rpm — это обычный архив, это не совсем так. Вначале файла находится заголовок, который идентифицирует файл как rpm архив, затем идет подпись, для проверки целостности и подлинности файла. Дальше идет заголовок, в котором содержаться данные о самом пакете, версия, архитектура, список файлов и т д. И только после всего этого идет сам архив с файлами пакета.
Для работы с RPM могут использоваться несколько различных пакетных менеджеров, это универсальная утилита rpm, пакетный менеджер zypper в OpenSUSE, dnf в Fedora, urpmi в Mageia, yum — во многих дистрибутивах, основанных на Fedora.
Рассмотрим основные особенности RPM:
- Автоматическое разрешение зависимостей в большинстве случаев корректно
- Файл архива имеет специальный формат
- Не поддерживается реализация зависимостей с выбором завистимости от пакет1 или пакет2.
- Не поддерживаются рекомендованные пакеты
- Позволяет настроить зависимость от файла, а не пакета
- Все данные об установленных пакетах хранятся в базе данных поэтому при надобности можно проверить контрольные суммы
- Поддерживаются сценарии как до, так и после установки программ
- Поддерживается формат SRPM, который содержит в себе исходники программы все патчи с инструкции по сборке, позволяющие собрать программу из исходников на локальной машине.
- Отличная поддержка Multilib пакетов
Deb (Debian Package Manager)
Файлы deb — это архивы, созданные с помощью утилиты ar. Они могут быть сжаты с помощью GZIP, Bzip2, lzma, или XZ. Чаще всего для управления пакетами deb в терминале используется утилита dpkg, Но могут и другие, например, gdebi, apt, aptitude и т д. Deb пакеты используются для установки программного обеспечения во многих операционных системах, основанных на Debian, это ветка Ubuntu со многими основанными на ней дистрибутивами и так далее. Поскольку Ubuntu в последнее время набирает популярность среди новичков, то пакетов для нее становится больше.
Из особенностей системы управления пакетами DEB можно назвать использование приоритетов для классификации пакетов по важности, а также поддержку рекомендованных пакетов. Это пакеты, которые не находятся в зависимостях программы, но желательны для установки вместе с ней. Рекомендованные утилиты устанавливаются автоматически в таком инструменте, как apt. Чтобы сравнить rpm vs deb рассмотрим особенности deb:
- Файл пакета — обычный архив
- Поддержка приоритетов для пакетов различной важности
- Поддержка рекомендованных пакетов
- Не поддерживаются файловые зависимости
- Не поддерживается технология Delta для экономии трафика
Аналоги команд
Давайте рассмотрим аналоги команд для выполнения одних и тех же действий в этих системах управления пакетами с помощью утилит rpm и dpkg:
sudo rpm -i пакет.rpm
sudo dpkg -i пакет.deb
sudo rpm -i пакет.rpm
sudo dpkg -i пакет.deb
Удалить установленный пакет:
sudo rpm -e пакет.rpm
sudo dpkg -r пакет.deb
Показать список установленных пакетов:
Показать все файлы установленного пакета:
Посмотреть информацию о пакете:
Показать информацию о файле пакета:
sudo rpm -qpi файл.rpm
sudo dpkg -l файл.deb
Список файлов в пакете:
sudo rpm -qpl файл.rpm
sudo dpkg -l файл.deb
Проверить все установленные пакеты:
Выводы
Несмотря на незначительные отличия в процессе обработки пакетов и работы с программным обеспечением эти системы очень похожи и выбрать что лучше deb или rpm будет очень сложно. В конце концов, они выполняют одни и те же функции, только немного отличается технология. Есть и примечательные особенности. Пользователям с медленным интернетом будет очень полезна функция дельта RPM пакетов, которая позволяет обновлять только измененную часть пакета, а новичкам будет полезна возможность автоматической установки рекомендованных пакетов в deb. Если вы знаете другие отличия rpm и deb — напишите в комментариях!