rpm — утилита нижнего уровня для управления пакетами, при установке пакета не устанавливает зависимости, может получить сведения о пакетах в системе. Аналог dpkg из Ubuntu.
- rpm
- -qа все установленные пакеты
- -q поиск установленного пакета в системе
- -qр .rpm обращение к указанному rpm файлу
- -qf определение принадлежности файла к пакету, нужно указать именно путь, а не просто название
- -qd где документация к пакету
- -qlp .rpm вывод списка файлов, которые содержатся в rpm пакете
- -qip .rpm вывод информации о rpm пакете
- -iv .rpm установка rpm пакета с выводом информации об установке
- -e удаление пакета
- -K .rpm проверка ключа rpm пакета
- -Vv проверка состояния пакета
yum
Yum (yellowdog updater modified) — пакетный менеджер для пакетов формата rpm.
- yum
- install или установка пакета
- reinstall или переустановка пакета
- search поиск пакетов в репозитори по названию и описанию
- info просмотр подробной информации о пакете
- provides вывод списка пакетов, соответствующих пути
- list вывод списка пакетов в репозитории
- list поиск в репозитории по названию пакета
- list —showduplicates отображение всех версий, которые есть в репозиториях
- list installed вывод списка всех установленных пакетов
- list installed проверка, установлены ли указанные пакеты
- deplist вывод списка зависимостей пакета
- check-update проверка, есть ли доступные обновления
- update обновление указанного пакета
- update обновление всех пакетов
- remove удаление указанного пакета и всех зависимых от него пакетов
- —downloadonly install скачивание пакета без установки. Полученный после скачивания файл будет в каталоге /var/cache/yum/x86_64/7/base/packages/
История установок
У yum есть история установок, они логируются в
Установка и настройка CentOS в VirtualBox
/var/log/yum.log
- yum history вывод истории установок
- yum history info 5 вывод информации об определенной транзакции, что конкретно сделано в транзакции по номеру
- yum history undo 5 откат установки
- yum history redo 5 повторение установки
Группы и модули ПО
Группы ПО — это совместно устанавливаемое ПО.
Группы окружения — это наборы других групп.
- yum grouplist вывод списка групп
- yum grouplist hidden вывод списка скрытых групп
- yum groupinfo «» вывод описания группы, в том числе ее состав. Знак плюс значит, что в данный момент пакет не установлен и будет установлен при установке группы; минус — не установлен и не будет; равно — пакет установлен в составе группы; без знака — пакет установлен не в составе группы
- yum groupinstall «» установка группы
- yum groupremove «» удаление группы
Помимо групп существуют модули. Они как и группы содержат сразу несколько пакетов, но в модулях пакеты связаны версиями.
Установка и управление пакетами в CentOS. Урок 11.
- yum module list вывод списка модулей
- yum module info container-tools:2.0 подробная информация о модуле
Репозитории
- yum repolist список репозиториев подключенных к системе
- yum clean all очистка кэша списка репозиториев
- yum repo-packages epel list вывод списка пакетов, доступных для установки в конкретном репозитории
- yum repoinfo epel получение информации об указанном репозитории
-
Управление репозиториями осуществляется 3 вариантами:
- Файлы с данными о репозитории в каталоге /etc/yum.repos.d/;
- Установка rpm пакета с данными о репозитории;
- Утилита yum-config-manager.
Файлы с данными о репозитории
Файлы репозиториев для yum располагаются в каталоге
/etc/yum.repos.d
и содержат примерно следующее
[epel] name=Extra Packages for Enterprise Linux 8 — $basearch baseurl=https://download.example/pub/epel/8/Everything/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
- name — имя репозитория, может быть любым;
- baseurl — ссылка на репозиторий;
- enabled — 1 (репозиторий подключен) или 0 (репозиторий отключен);
- gpgcheck — 1 (осуществлять проверку gpt подписи) или 0 (не осуществлять проверку gpt подписи);
- gpgkey — ссылка на gpt ключ репозитория.
Репозитории и пакеты в репозиториях подписываются приватным ключом, он есть только у людей, которые добавляют пакеты в репозитории. Это сделано, потому что кто-нибудь может встать посреди трафика и обманывать, притворяясь нужным сервером. Если кто то притвориться репозиторием, то пользователь будет скачивать и устанавливать пакеты с этого сервера, не догадываясь, что устанавливает ненастоящие пакеты. При добавлении репозитория пользователь получает публичный ключ, он может быть на сайте репозитория, либо прийти вместе с системой. Благодаря публичному ключу можно убедится, что репозиторий или пакет именно тот, который нужен.
Для добавления ключа в систему в ручную нужно скачать его, например через wget, затем импортировать
rpm —import filekey.asc
Для удаления репозитория достаточно удалить его файл.
Установка rpm пакета с данными о репозитории
Установка по ссылке
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Если пакет с репозиторием есть в базовом репозитории можно установить указав его имя, например как epel
yum install epel-release
Для удаления репозитория нужно удалить соответствующий пакет
yum remove epel-release
Утилита yum-config-manager
Устанавливается командой
yum install yum-utils
Добавление репозитория осуществляется командой
yum-config-manager —add-repo=»https://dl.fedoraproject.org/pub/epel/7/x86_64/»
Выключение и включение репозитория
yum-config-manager —disable epel yum-config-manager —enable epel
- Настройка сети в Linux
- Настройка и подключение к Linux по SSH с использованием паролей и ключей
- SELinux в Linux
- Настройка Linux в качестве Master Browser
- Монтирование и размонтирование сетевого каталога в Linux
- Создание пользователя с правами sudo в Linux
- LVM в Linux
- LVM увеличение размера раздела за счет размера другого раздела в Linux
- Не отображаются русские буквы в консоли Linux
- Работа с редактором VIM в Linux
- Разрешения и владельцы файлов и каталогов в Linux
- Пользователи и группы в Linux
- Управление пакетами и репозиториями APT, DPKG в Ubuntu
- Управление пакетами и репозиториями YUM, RPM в CentOS
- Firewalld в Linux
- Управление службами через SYSTEMCTL в Linux
- Устройства и виртуальные файловые системы в Linux
- История команд в Linux
- Ссылки в Linux
- Логи в Linux
- Потоки и конвейеры в Linux
- Обработка консольного текстового вывода в Linux
Источник: alnotes.ru
CentOS

CentOS от англ. Community ENTerprise Operating System — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat и совместимый с ним.
Согласно жизненному циклу Red Hat Enterprise Linux (RHEL) , CentOS 5, 6 и 7 будут поддерживаться «до 10 лет», поскольку они основаны на RHEL.
Ранее версия CentOS 4 поддерживалась семь лет.
Red Hat Enterprise Linux состоит из свободного ПО с открытым кодом, но доступен в виде дисков с бинарными пакетами только для платных подписчиков.
Как требуется в лицензии GPL и других, Red Hat предоставляет все исходные коды.
Разработчики CentOS используют данный исходный код для создания окончательного продукта, очень близкого к Red Hat Enterprise Linux и доступного для загрузки.
Установка программ
Для начала неплохо обновить пакетный менеджер. В CentOS он называется yum
Для тихой установки используйте флаг -y
yum install -y redhat-lsb-core net-tools epel-release kernel-headers kernel-devel
yum groupinstall -y «Development Tools»
Для установки графической оболочки используйте команду
yum groupinstall -y «X Window System» «MATE Desktop»
Добавить пользователя в группу sudo
У всех пользователей из группы wheel есть возможность выполнять команду sudo поэтому нужно стать root.
И из-под root добавить пользователя в группу wheel командой
usermod -aG wheel andrei
Снова стать пользователем можно выполнив
Установка Go
Скачать Golang можно с сайта golang.org
После скачивания проверьте, что контрольная сумма совпадает с записанной на сайте
Совпадает со значением на сайте — посмотрите на нижнюю строку

sudo tar -C /usr/local -xzf go1.15.5.linux-386.tar.gz
Добавьте путь до go в PATH
Создайте рабочую директорию
Проверьте установился ли Go
Если получили что-то подобное
go version go1.15.5 linux/386
Если получили ошибку
-bash: /usr/local/go/bin/go: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Попробуйте установить glibc.i686
sudo yum install glibc.i686
Полезные команды
Перемещение между X и реальным терминалом (physical terminal) осуществляется нажатием правого CTRL + F2 — чтобы перейти в консоль
Правый CTRL + F1 — чтобы перейти в иксы
Чтобы узнать называние своей консоли выполните
Чтобы узнать кто подключён к системе выполните
andrei tty1 2020-11-19 11:03 (:0) andrei pts/0 2020-11-19 11:45 (:0) andrei tty2 2020-11-19 11:42 andrei pts/1 2020-11-19 11:48 (192.168.56.1)
tty1 и tty2 это реальные терминалы
touch files/file
ls -l files
-rw-rw-r—. 1 andrei andrei 0 Nov 19 13:46 file1 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:46 file2 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:46 file3 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:46 file4 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:46 file5
Чтобы скопировать директорию files в директорию sites со всем содержимым выполните
cp -R files sites
ls -l sites/files/
total 0 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:49 file1 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:49 file2 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:49 file3 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:49 file4 -rw-rw-r—. 1 andrei andrei 0 Nov 19 13:49 file5
Директория files была скопирована в директорию sites, то есть теперь у sites есть поддиректория files.
Если у вас установлен модуль tree вы можете наглядно изучить вложенность. Если нет — выполните сперва sudo yum install tree
sites └── files ├── file1 ├── file2 ├── file3 ├── file4 └── file5 1 directory, 5 files
Создать ссылку можно командой ln, символьную ссылку ln -s
Очистить терминал можно нажав CTRL + l
Изучить детали своего SSH подключения можно командой
192.168.56.1 52350 192.168.56.101 22
Сперва идут IP и порт клиента, затем IP и порт сервера
Чтобы изучить содержимое длинного тестового файла выполните
Для поиска вперёд нажмите / для поиска назад ?
Поиск
Найти и сразу скопировать в текущую директорию
Найти в текущей директории
Удалить из текущей директории
Найти все ссылки
find /etc -type l
Найти все ссылки только на верхнем уровне вложенности
find /etc -maxdepth 1 -type l
Filesystem Size Used Avail Use% Mounted on /dev/sda1 1014M 194M 821M 20% /boot
Найти обычные файлы определённого размера
find /boot -size +20000k -type f
find: ‘/boot/efi/EFI/centos’: Permission denied find: ‘/boot/grub2’: Permission denied /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img /boot/initramfs-3.10.0-1160.el7.x86_64.img /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
find /boot -size +10000k -type f
find: ‘/boot/efi/EFI/centos’: Permission denied find: ‘/boot/grub2’: Permission denied /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img /boot/initramfs-3.10.0-1160.el7.x86_64.img /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img
То же самое плюс показать размер файлов
find /boot -size +10000k -type f -exec du -h <> ;
find: ‘/boot/efi/EFI/centos’: Permission denied find: ‘/boot/grub2’: Permission denied 60M /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img 21M /boot/initramfs-3.10.0-1160.el7.x86_64.img 13M /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img 21M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img 14M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img
Изменить пароль пользователя
Чтобы в CentOS изменить пароль пользователя выполните команду passwd
[sudo] password for andrei:
Changing password for user andrei.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
locale
Чтобы в CentOS узнать текущую locale
System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us
Список доступных локалей
Выбрать только английский
localectl list-locales | grep en_US
en_US en_US.iso88591 en_US.iso885915 en_US.utf8
Список системных переменных, связанных с локалью доступен по команде
LANG=en_US.UTF-8 LC_CTYPE=»en_US.UTF-8″ LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=»en_US.UTF-8″ LC_MONETARY=en_US.UTF-8 LC_MESSAGES=»en_US.UTF-8″ LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_ALL=
Подробная информация по каждой переменной может быть получена с помощью флагов -c -k
locale -c -k LC_TIME
LC_TIME abday=»Sun;Mon;Tue;Wed;Thu;Fri;Sat» day=»Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday» abmon=»Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec» mon=»January;February;March;April;May;June;July;August;September;October;November;December» am_pm=»AM;PM» d_t_fmt=»%a %d %b %Y %r %Z» d_fmt=»%m/%d/%Y» t_fmt=»%r» t_fmt_ampm=»%I:%M:%S %p» era= era_year=»» era_d_fmt=»» alt_digits= era_d_t_fmt=»» era_t_fmt=»» time-era-num-entries=0 time-era-entries=»S» week-ndays=7 week-1stday=19971130 week-1stweek=7 first_weekday=1 first_workday=2 cal_direction=1 timezone=»» date_fmt=»%a %b %e %H:%M:%S %Z %Y» time-codeset=»UTF-8″
locale -c -k LC_CTYPE
LC_CTYPE ctype-class-names=»upper»;»lower»;»alpha»;»digit»;»xdigit»;»space»;»print»;»graph»;»blank»;»cntrl»;»punct»;»alnum»;»combining»;»combining_level3″ ctype-map-names=»toupper»;»tolower»;»totitle» ctype-width=16 ctype-mb-cur-max=6 charmap=»UTF-8″ ctype-class-offset=72 ctype-map-offset=86 ctype-indigits_mb-len=1 ctype-indigits0_mb=»0″ ctype-indigits1_mb=»1″ ctype-indigits2_mb=»2″ ctype-indigits3_mb=»3″ ctype-indigits4_mb=»4″ ctype-indigits5_mb=»5″ ctype-indigits6_mb=»6″ ctype-indigits7_mb=»7″ ctype-indigits8_mb=»8″ ctype-indigits9_mb=»9″ ctype-indigits_wc-len=1 ctype-outdigit0_mb=»0″ ctype-outdigit1_mb=»1″ ctype-outdigit2_mb=»2″ ctype-outdigit3_mb=»3″ ctype-outdigit4_mb=»4″ ctype-outdigit5_mb=»5″ ctype-outdigit6_mb=»6″ ctype-outdigit7_mb=»7″ ctype-outdigit8_mb=»8″ ctype-outdigit9_mb=»9″ ctype-outdigit0_wc=48 ctype-outdigit1_wc=49 ctype-outdigit2_wc=50 ctype-outdigit3_wc=51 ctype-outdigit4_wc=52 ctype-outdigit5_wc=53 ctype-outdigit6_wc=54 ctype-outdigit7_wc=55 ctype-outdigit8_wc=56 ctype-outdigit9_wc=57 ctype-translit-tab-size=4554 ctype-translit-default-missing-len=1 ctype-translit-ignore-len=0 ctype-translit-ignore=»» map-to-nonascii=0
Список доступных локалей
Изменить locale
Чтобы в CentOS изменить locale можно либо откредактирвоать файл locale.conf в /etc/ либо применить команду localect (начиная с CentOS 7)
Предположим, что нужно поменять локаль на en_us.iso88591
Откройте locale.conf и найдите строку LANG
sudo vi /etc/locale.conf
Замените UTF-8 на iso88591
Альтернативный способ с использованием sed — выполните команду
sudo sed -i s/LANG=»en_US.UTF-8″/LANG=»en_US.iso88591″/ /etc/locale.conf
Чтобы проверить изменения выполните
System Locale: LANG=en_US.iso88591 VC Keymap: us X11 Layout: us
Чтобы изменить системную переменную, например, LC_CTYPE выполните
И внесите в конец файла следующий код
LC_CTYPE=»en_US.iso88591″ export LC_CTYPE
locale -c -k LC_CTYPE
LC_CTYPE ctype-class-names=»upper»;»lower»;»alpha»;»digit»;»xdigit»;»space»;»print»;»graph»;»blank»;»cntrl»;»punct»;»alnum»;»combining»;»combining_level3″ ctype-map-names=»toupper»;»tolower»;»totitle» ctype-width=16 ctype-mb-cur-max=1 charmap=»ISO-8859-1″
GNUmakefile
Пример скачивания README.txt файла из репозитория CentOS с помощью make
Источник: urn.su
CentOS 7 установка сторонних программ
У новичков в Linux, коим я пока являюсь после установки системы возникают казалось бы тривиальные вопросы по настройке, установке стороннего софта и прочего, так вот, глядя на себя, ну и для Вас мои дорогие читатели решил писать некую шпаргалку для новечков Linux, а именно дистрибутива CentOS 7, почему именно его опишу позже, а пока поехали:
Установка, удаление, список программ и пакетов в CentOS / RedHat. Управление пакетами. GPG ключи:
Одной из самых распространненых операций, характерных для любой ОС, является управление программным обеспечением, в том числе: установка, удаление и просмотр списка текущих установленных. Система управления пакетами в CentOS (и RedHat) построена на базе репозиториев, в которых содержатся ссылки для скачивания огромного количества программ. По большому счету это означает, что Вам нужно лишь знать название программы или пакета. Если он есть в сети в репозитории — система самостоятельно разберется откуда его скачать именно под Вашу версию ОС и установит.
Заметка. В примерах ниже используется пакет «httpd» как пример. Везде вместо него Вам нужно указывать то название пакета, по которому Вы работаете.
Список установленных пакетов (программ)
# yum list installed
Или проверка — установлен ли пакет:
# yum list installed httpd
где вместо httpd — название пакета, которое необходимо проверить.
Список пакетов, доступных для установки из репозитория
# yum list available
Поиск пакета в репозитории
# yum search httpd
Установка пакета из репозитория
# yum install httpd
При этом автоматически проверяются и устраняются все зависимости. Так, если пакет httpd зависит от пакета «zlib», то сначала скачается и установится этот пакет, а потом уже httpd. При этом глубина резолва многоуровненная — т.е. если, в свою очередь пакет zlib зависит от другого пакета — то сначала скачается тот другой и установится, потом уже zlib, а уже потом — httpd.
Показать зависимости пакета
# yum deplit httpd
Показать информация (подробную) по пакету из репозитория
# yum info httpd
А для подробной информации:
# yum -v info httpd
Проверка наличия обновлений для системы и пакетов
При этом система Вам покажет — какие пакеты имеют в репозитории новые версии — т.е. их можно обновить.
Обновить пакет(ы)
Для обновления всех пакетов, для которых доступны обновления:
# yum update
Для обновления конретного пакета
# yum update httpd
Для обновления мажорной версии пакета (напр, с 8.x до 9.x):
# yum upgrade httpd
Удалить пакет
# yum remove httpd
При этом система старается удалить и все ненужные более зависимости пакета (если эти зависимости не используются другими пакетами).
Очистка кеша установочных файлов
Перед установкой того или иного пакета система скачивает его установочный файл на жесткий диск компьютера и уже только после этого начинает операции инсталляции. После установки ОС файл не удаляет — вероятно, на случай переустановки пакета.
Чтобы очистить кеш установочных файлов — выполните:
Это никак не отразится на установленных программах, а в случае необходимости переустановки — нужные файлы снова будут загружены из интернет.
Создание/обновление кеша репозитория
При работе с пакетами Вы можете заметить, что система то и дело ломится к интернет, скачивая ту или иную часть данных репозитория для обновления у себя списков пакетов.
Следующая команда скачает все метаданные для в настоящее время активных репозиторев на жесткий диск, чтобы снизить активность сетевых соединений во время работы yum:
# yum makecache
Установка стороннего скачаннего RPM-файла
Конечно, бывают случаи, когда в репозитории нет нужного софта. Тогда Вы можете его скачать в виде RPM-файла, если, конечно, RHEL-совместимые ОСи поддерживаются производителем ПО.
Команда для установки скачанного установочного файла:
# yum localinstall /path/to/rpm/file/installfile.rpm
При этом текущие, доступные через интернет репозитории могут быть использованы автоматически для решения зависимостей устанавливаемого пакета.
Обновление стороннего скачанного файла
# yum localupdate /path/to/rpm/update/myinstall.rpm
Переустановка программы/пакета
# yum reinstall httpd
При этом конфигурационные файлы пакета сохраняются.
Откат на предыдущую версию (переустановка более старой версии)
Система предпримет попытку откатится на предыдущую версию этого пакета, при этом автоматически резолвить зависимости, как сообщает man, она не будет.
# yum downgrade httpd
Показать список активных репозиториев
# yum repolist
Для более подробного списка
# yum -v repolist
Установка GPG ключа
# rpm —import /path/to/gpg/key.gpg
Установка Adobe Flash Player в CentOS:
# rpm -ivh http://linuxdownload.adobe.com/adobe-release/ adobe-release-x86_64-1.0-1.noarch.rpm
# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
# yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl
Установка редактора PDFedit в CentOS:
# yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl
Установка Google Chrome в CentOS:
# wget http://chrome.richardlloyd.org.uk/install_chrome.sh
# chmod u+x install_chrome.sh
# ./install_chrome.sh
Подключение, установка Яндекс диска в CentOS:
# rpm -Uvh http://repo.yandex.ru/yandex-disk/yandex-disk-latest.x86_64.rpm
# yandex-disk setup
# yandex-disk start
Автозагрузка устанавливается только для Desktop сессии.
Для автозапуска на сервере, можно сделать следующее (самое простое):
# chmod +x /etc/rc.d/rc.local # echo «/usr/bin/yandex-bin start» >> /etc/rc.d/rc.local
По мере пополнения опыта данный мануал будет пополняться.
- ← DynDNS через Яндекс
- Как узнать белый ли ip →
Источник: er-ka.ru