- linux-notes.org
- Показать все установленные пакеты в CentOS/RedHat/Fedora
- Показать все установленные пакеты в Ubuntu/Debian
- 3 thoughts on “ Показать все установленные пакеты в Linux ”
- Добавить комментарий Отменить ответ
- 🛌 Как проверить версию пакета Linux перед его установкой
- Проверьте версию пакета Linux перед установкой
- Способ 2 – Использование Apt-get
- Метод 3 – Использование Aptitude
- Способ 4 – Использование Apt-кеша
- Способ 5 – Использование apt-show-version
- Настройка SELinux
- Основы SELinux
- Настройка SELinux
- 1. Состояние
- 3. Режим работы
- 4. Выбор политики
- 5. Просмотр контекста
- 6. Изменение контекста
- 7. Модификация политики
- 8. Логи
- 9. Модули
- 10. Флаги
- Выводы
linux-notes.org
Иногда, необходимо найти установленный пакет или вывести список все установленных пакетов на вашем сервере Linux. Эта статья «Показать все установленные пакеты в Linux» поможет вам как найти все установленные пакеты на системах основанных на RedHat’s и Debian’s.
Показать все установленные пакеты в CentOS/RedHat/Fedora
Используйте следующую команду, чтобы вывести список всех установленных пакетов на CentOS/RedHat/Fedora:
Если нужно найти конкретный установленный пакет, то можно использовать команду:
Показать все установленные пакеты в Ubuntu/Debian
Используйте следующую команду, чтобы вывести список всех установленных пакетов на Ubuntu и Debian:
Если нужно найти конкретный установленный пакет, то можно использовать команду:
Так же, можно использовать:
Для конкретного пакета, это будет выглядеть так:
Вот и все, очень просто и полезно. А я завершаю свою тему «Показать все установленные пакеты в Linux».
3 thoughts on “ Показать все установленные пакеты в Linux ”
Что означают слова неизвестно (unknown), установить (install), удалить (remove), вычистить (purge), зафиксировать(hold) в строке состояния пакета?
неизвестно (unknown) — пользователь никоим образом не отметил, нужен ли ему этот пакет;
установить (install) — пользователь хочет установить или обновить пакет;
удалить (remove) — пользователь хочет удалить пакет, но не хочет удалять его файлы настроек;
вычистить (purge) — пользователь хочет удалить пакет полностью, включая его файлы настроек;
зафиксировать (hold) — пользователь хочет, чтобы над пакетом не совершалось никаких действий, т. е. он хочет сохранить текущую версию пакета, в каком бы состоянии она ни была.
Ну и до кучи dnf info «*» > /home/maxim/info.log
У меня в Fedora 22 на выходе получилось 27,6 МБ с информацией об установленных и доступных пакетов. Правда я не верю, чтобы кто-нибудь это осилил прочитать.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
🛌 Как проверить версию пакета Linux перед его установкой
Большинство из вас видимо хотят найти версию установленного пакета в Linux.
Но что вы ожидаете найти в первую очередь?
Эта статья будет про версии для Debian Linux и его производных, таких как Ubuntu.
Этот небольшой совет может быть полезным.
Проверьте версию пакета Linux перед установкой
Существует множество способов найти версию пакета, даже если она еще не установлена в системах на основе DEB.
Здесь я дам вам несколько методов.
Как видно из вышеприведенного вывода, команда «apt show» отображает многие важные детали пакета,такие как,
- название пакета,
- версия,
- происхождение (откуда берется vim),
- сопровождение,
- домашняя страница пакета,
- зависимости,
- размер загрузки,
- описание,
- и многое другое.
Итак, доступная версия пакета Vim в репозиториях Ubuntu – 8.0.1453.
Это версия, которую я получу в итоге, если я установлю ее в своей системе Ubuntu.
В качестве альтернативы, используйте команду «apt policy», если вы предпочитаете короткий вывод:
Или даже короче
Apt является менеджером пакетов по умолчанию в последних версиях Ubuntu.
Таким образом, этой команды достаточно, чтобы найти подробную информацию о пакете.
Неважно, установлен пакет или нет.
Эта команда просто перечислит версию данного пакета вместе со всеми другими деталями.
Способ 2 – Использование Apt-get
Мы можем использовать команду apt-get с опцией -s.
Здесь опция -s указывает на симуляцию.
Как вы можете видеть на выводе, она не выполняет никаких действий.
Вместо этого она просто выполняет симуляцию, чтобы вы знали, что произойдет при установке пакета Vim.
Вы можете заменить опцию «install» опцией «upgrade», чтобы увидеть, что произойдет при обновлении пакета.
Метод 3 – Использование Aptitude
Aptitude – это пакетный менеджер APT на основе командной строки ncurses и командной строки в Debian и его производных.
Чтобы найти версию пакета с Aptitude, просто запустите:
Вы также можете использовать опцию (-s) симуляции, чтобы увидеть, что произойдет, если вы установите или обновите пакет.
Здесь флаг -V используется для отображения подробной информации о версии пакета.
Аналогичным образом, просто замените «install» на «upgrade», чтобы увидеть, что произойдет, если вы обновите пакет.
Другой способ найти неустановленную версию пакета с помощью команды Aptitude:
- -F используется, чтобы указать, какой формат должен использоваться для отображения вывода,
- %c – статус данного пакета (установлен или не установлен),
- %p – название пакета,
- %d – описание пакета,
- %V – версия пакета.
Это полезно, когда вы не знаете полного имени пакета.
Эта команда получает заданную строку (т.е. vim).
Вот пример вывода вышеуказанной команды:
Способ 4 – Использование Apt-кеша
Команда Apt-cache используется для запроса кеша APT в системах на основе Debian.
Это полезно для выполнения многих операций над кэшем пакетов APT.
Один прекрасный пример взят из определенного репозитория / ppa.
Команда покажет информации не только об установленных приложениях, поэтому мы можем найти версию пакета, даже если он не установлен.
Например, следующая команда найдет версию пакета Vim:
Как видно из вышеприведенного вывода, Vim не установлен.
Если вы хотите установить его, вы получите версию 8.0.1453.
Он также показывает, из какого репозитория приходит пакет vim.
Способ 5 – Использование apt-show-version
Команда Apt-show-version используется для установки и показа версий пакетов в системах на основе Debian.
Она также отображает список всех обновляемых пакетов.
Это довольно мобильно, если у вас смешанная стабильная / тестовая среда.
Например, если у вас есть стабильные и тестовые репозитории, вы можете легко найти список тестовых приложений и, таким образом, вы можете обновить все тестируемые пакеты.
Apt-show-version не устанавливается по умолчанию.
Вам необходимо установить его с помощью команды:
После установки запустите команды, опять же на примере Vim:
Здесь ключ -a выведет все доступные версии данного пакета.
Если данный пакет уже установлен, вам не нужно использовать опцию -a.
В этом случае просто запустите:
Если вы знаете какие-либо другие методы, пожалуйста, поделитесь ими в разделе комментариев ниже.
Источник
Настройка SELinux
Security-Enhanced Linux (SELinux) — это новый метод контроля доступа в Linux на основе модуля ядра Linux Security (LSM). SELinux включен по умолчанию во многих дистрибутивах на основе Red Hat, использующих пакетную базу rpm, например, Fedora, CentOS и т д.
В этой статье будет рассмотрена настройка SELinux, мы не будем трогать создание новых политик, а постараемся подойти к системе с другой стороны, посмотреть чем она может быть полезна обычному пользователю Linux, рассмотрим основы её работы, включение, отключение и изменение состояний. В качестве системы для выполнения примеров использовалась CentOS 8.
Основы SELinux
SELinux представляет собой систему маркировки, каждый процесс имеет метку. Каждый файл, каталог или даже пользователь в системе имеет метку. Даже портам и устройствам и именам хостов в системе присвоены метки. SELinux определяет правила доступа процесса к объектам с определенными метками. Это и называется политикой. За соблюдением правил следит ядро. Иногда это еще называется обязательный контроль доступа (Mandatory Access Control, MAC)
Владелец файла не имеет полной свободы действий над атрибутами безопасности. Стандартные атрибуты контроля доступа, такие как группа и владелец ничего не значат для SELinux. Полностью все управляется метками. Значения атрибутов могут быть установлены и без прав root, но на это нужно иметь специальные полномочия SELinux.
Теперь поговорим немного о политиках. Мы определяем метку для процессов определенного типа, а также на объекты файловой системы тоже определенного типа. Вот представьте, себе систему, в которой объекты (процессы) это кошки и собаки. Это типы процессов. И у нас есть объекты, к которым они хотят иметь доступ — еда. Но еда у них разная еда_котов и еда_собак. Нужно чтобы объекты имели доступ только к своей еде.
У собаки есть разрешение есть свою пищу, а у кошки — свою. В политиках SELinux это будет выглядеть вот так:
разрешить кошке корм_кошек есть
разрешить собаке корм_собак есть
Теперь ядро будет следить, чтобы соблюдались эти правила. В системе SELinux все по умолчанию запрещено, таким образом, если собака попытается съесть кошачий корм, ядро не позволит это сделать.
Допустим, процесс Apache имеет метку httpd_t, а файлы, к которым у Apache должен быть доступ мы назвали httpd_sys_content. Также у нас есть данные кредитных карт, которые хранятся в базе данных mysql. Если хакер взломает процесс Apache и у него будет root доступ, то он все равно не сможет получить доступ к файлам от mysql.
SELinux может вызвать у системных администраторов большое количество проблем, многие её просто отключают, таким образом, решив проблему и уменьшив безопасность. Как уже говорилось выше, по умолчанию SELinux блокирует все и вся. Это подходит под описание строгой политики. Но чтобы облегчить системным администраторам работу, были разработаны другие стандартные политики. Во многих дистрибутивах используется целевая политика (targeted), она охватывает около 200 сетевых служб и процессов, все же остальные программы запускаются и работают свободно, к ним никакие модели SELinux не применяются.
SELinux может работать в трех режимах — отключен, система полностью отключена и не работает, режим ограничений Enforcing — программа активирована и блокирует все не соответствующие политикам действия и третий режим Permissive — только фиксировать нарушения.
Политики SELinux бывают тоже нескольких типов. Политика targeted, которую мы рассматривали выше относится к типу Type Enforcment (TE) политик, в которых управление доступом к файлам осуществляется на основе ролей. Сюда же относится политика strict. Есть ещё политики Multi-Level Security (MLS), в которых добавлены дополнительные категории, они сложные и ненужны рядовому пользователю, поэтому начинающим можно пока забыть об их существовании. Надо понять, что подсистема SELinux разработана военными для военных, поэтому обычным пользователям все её возможности вряд-ли понадобятся. В этой статье мы будем обсуждать именно политику targeted.
Теория в общих чертах рассмотрена. А теперь перейдем к практической части.
Настройка SELinux
1. Состояние
После перезагрузки вы можете посмотреть посмотреть состояние SELinux:
Здесь мы видим, что система включена SELinux status: enabled, Текущий режим Current mode — enforcing, то есть система будет блокировать неразрешенные действия. Используемая сейчас политика — targeted. Эта политика используется для того, чтобы правила SELinux распространялись только на определённые службы.
3. Режим работы
Сейчас давайте включим активный режим, для этого выполните команду:
sudo setenforce 1
Отключить активный режим можно передав в ту же команду 0:
sudo setenforce 0
Посмотреть используемый сейчас режим тоже можно подобной командой:
Вся основная настройка SELinux выполняется через файл /etc/selinux/config. Здесь можно как полностью отключить selinux, так и настроить используемую политику безопасности.
sudo vi /etc/selinux/config
Этот параметр означает режим работы SELinux, вы можете указать здесь один из трех параметров enforce, permissive и disabled
Используйте disabled чтобы полностью отключить SELinux или любой другой, чтобы включить SELinux обратно. Этот режим будет применяться по умолчанию при старте системы.
4. Выбор политики
Настройка SELinux политик выполняется тоже в этом файле. За политику отвечает параметр SELINUXTYPE:
Вы можете ссылаться на любую политику, расположенную в каталоге /etc/selinux. Могут использоваться три основные политики:
- targeted — защищает основные системные сервисы, например, веб-сервер, DHCP, DNS, но не трогает все остальные программы.
- strict — самая строгая политика, управляет не только сетевыми службами, но и программами пользователя.
- mls — содержит не только правила, но и различные уровни безопасности. Она позволяет реализовать многоуровневую систему безопасности на основе SELinux.
Также можно добавить свои политики. Для применения политики необходимо перезагрузить компьютер, и желательно чтобы SELinux во время этой перезагрузки был в режиме аудита (permissive). Также, чтобы система обновила все метки в файловой системе, возможно, придется создать пустой файл в корне:
sudo vi /.autolabel
5. Просмотр контекста
Каждый файл и каждый процесс имеет свою SELinux метку, которую принято называть контекстом. Какая метка будет присвоена тому или иному файлу или процессу определяется политикой, в нашем случае это targeted. Посмотреть контекст SELinux можно с помощью команды ls:
Синтаксис у строки контекста такой:
имя_пользователя:имя_объекта: тип_или_домен :уровень_доступа
В политике targeted имя пользователя и имя объекта практически не используются, уровень доступа — относится к MLS политикам и на него тоже можно внимания не обращать. А смотреть стоит на третье поле. Для файлов или папок оно называется типом, а для процессов доменом. Например, у папки /bin тип bin_t.
Чтобы посмотреть домен процесса используйте команду ps, например, для httpd:
ps auxZ | grep httpd
Как видите, здесь у сервиса httpd домен httpd_t, это значит что ему будут доступны только те ресурсы, которые разрешено трогать этому домену, в данном случае это тип sys_httpd_content. Все это, включая названия, определено в политике targeted. В то же время другие процессы, здесь, например grep, запущены с доменом unconfined_t, это означает, что им будут доступны все без исключения ресурсы в системе, потому что именно такое поведение настроено в политике для этого домена.
6. Изменение контекста
По умолчанию папка веб-сервера находится по пути /var/www/html. У неё контекст такой, как мы обсудили ранее:
Если вы захотите перенести эту папку в другое место, то надо будет сменить контекст для новой папки. Для этого используется команда chcon, надо указать только тип:
sudo chcon -Rv —type=httpd_sys_content_t /home/losst/htdocs
Однако, можно указать контекст полностью:
sudo chcon -Rv system_u:object_r:httpd_sys_content_t:s0 /home/losst/htdocs
Это изменение сохранится после перезагрузки, но после обновления меток файловой системы оно будет стёрто. Чтобы этого избежать надо добавить правило в политику.
7. Модификация политики
Вы можете добавить дополнительные правила присвоения меток файлам в политику с помощью утилиты semanage. Чтобы установить тип httpd_sys_content_t для директории /home/losst/httdocs и все файлы в ней надо выполнить:
semanage fcontext -a -t httpd_sys_content_t «/home/losst/httdocs(/.*)?»
Если надо поменять контекст только для одного файла, то маску использовать не обязательно:
semanage fcontext -a -t httpd_sys_content_t «/home/losst/httdocs/index.html»
Сама собой эта команда в файловой системе ничего не меняет надо создать файл /.autolabel и перезагрузить компьютер или выполнить команду restorecon для нужной папки:
restorecon -R -v /home/losst/httdocs
Посмотреть все добавленные таким образом правила можно с помощью такой команды:
semanage fcontext -C -l
8. Логи
Несмотря на режим, в котором работает SELinux, все сообщения о нарушениях пишутся в лог файл /var/log/audit/audit.log. Вы можете посмотреть его вручную:
Или для более удобного просмотра можно использовать утилиту sealert. Для её установки выполните:
sudo yum install setroubleshoot
Затем можно смотреть:
sealert -a /var/log/audit/audit.log
Утилита отображает не все строки, а только сообщения об ошибках доступа и при этом выводит предлагаемые решения. Очень удобно. В числе решений утилита предлагает создать свой модуль для политики targeted, который разрешает делать то, что сейчас нельзя.
9. Модули
Политика targeted модульная. Она состоит из множества модулей, для различных программ. Чтобы посмотреть все активные на данный момент модули выполните:
Для просмотра всех установленных модулей выполните:
В прошлом пункте было показано, как с помощью утилиты sealert посмотреть возможные решения проблемы доступа. Самое частое решение — создать свой модуль для политики на основе лога. Утилита audit2allow анализирует лог файл, находит там сведения об объектах, к которым нет доступа, а затем разрешает этот доступ в новом модуле. В предыдущем примере утилита sealert посоветовала такую команду:
ausearch -c ‘httpd’ —raw | audit2allow -M my-httpd
После этого в текущей папке появится пакет модуля с расширением .pp, который можно уже установить с помощью утилиты semodule:
sudo semodule -i my-httpd.pp
10. Флаги
Кроме того, поведение политики можно настраивать с помощью флагов. Обычно, флаги, которые надо включить рекомендует та же утилита sealert. Все флаги определены в модулях политики. Посмотреть какие флаги доступны сейчас и их состояние можно с помощью команды:
Чтобы изменить состояние флага используйте команду setsebool. Например, чтобы разрешить модулям httpd подключаться к сети выполните:
setsebool -P httpd_can_network_connect on
Выводы
Теперь вы знаете как включить, отключить SELinux, а также как поменять политику или режим работы программы. Мы рассмотрели работу с контекстом, модулями политики, а также флагами. Этого вполне достаточно чтобы понимать как настроить SELinux на вашем сервере. Все остальное выходит за рамки нашей небольшой статьи.
Источник