El7 linux что это

Обновлено: 02.07.2024

YUM (Yellowdog Updater Modified) - утилита командной строки с открытым исходным кодом, а также графический менеджер пакетов для RPM (RedHat Package Manager). С помощью yum пользователь или системный администратор может легко искать, устанавливать, обновлять, удалять пакеты программного обеспечения в системах Fedora linux, RHEL, CentOS. Для поиска и установки пакетов с разрешением зависимостей, yum использует множество сторонних репозиториев.

1. Установка пакетов с yum

Что-бы Установить FTP сервер VsFTPd, нужно выполнить: После проверки зависимостей пакета, yum попросит подтверждения операции, что-бы установка прошла в автоматическом режиме, нужно добавить ключ -y:

2. Yum, удаление пакетов

Что-бы удалить пакет со всеми его зависимостями нужно использовать yum с опцией remove: Как и в предыдущем случае, будет запрошено подтверждение, которого можно избежать, использовав ключ -y:

3. Yum, обновление пакетов

Для обновления пакетов в yum, используется опция update. Предположим, необходимо обновить ftp сервер, proftpd с разрешением зависимостей, для этого выполняем команду:

4. Yum, список пакетов по имени

Что-бы проверить пакеты по их имени используется команда list, проверить можно сразу несколько пакетов:

5. Yum, поиск пакетов

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

6. Yum, информация о пакете

Что-бы получить расширенную информацию о пакете, используется команда info:

7. Yum, список доступных пакетов

Получить список всех доступных для установки пакетов можно с помощью команды list и ключевого слова available:

8. Yum список установленных пакетов

Что-бы вывести все установленные пакеты используется опция list и ключевое слово installed:

9. Yum, узнать из какого пакета файл

Узнать какой пакет установил конкретный файл можно с помощью команды provides:

10. Yum, проверка обновлений

Посмотреть пакеты для которых доступно обновление можно с помощью команды check-update:

11. Обновить систему с помощью yum

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

12. Yum, список доступных групп пакетов

Для удобства, пакеты программного обеспечения можно объединять в группы. Вместо установки каждого пакета отдельно, yum может установить определенную группу, при этом будут установлены все пакеты входящие в данную группу. Получить список доступных групп пакетов можно так:

13. Yum, состав группы пакетов

14. Yum, установка группы пакетов

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

15. Yum, обновление группы пакетов

16. Yum, удаление группы пакетов yum

17. Список репозитариев yum

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

18. Yum, установка пакета из конкретного репозитария

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

19. Интерактивная оболочка yum

У yum есть своя, весьма функциональная и удобная интерактивная оболочка в которой выполняются необходимые команды:

20. Yum, очистка кэша репозитариев

По умолчанию yum хранит все данные включенных репозиториев в подкаталогах /var/cache/yum/ARCH/VER/repo_name, чтобы очистить все кэшированные файлы включенных репозиториев, например в целях экономии дискового пространства, нужно выполнить:

21. История операций yum

Что-бы посмотреть историю операций yum, выполните: Не забываем про Удачи.

Понимание процедуры загрузки в Linux RHEL7/CentOS

Следующие шаги суммируют, как процедура загрузки происходит в Linux.

1. Выполнение POST: машина включена. Из системного ПО, которым может быть UEFI или классический BIOS, выполняется самотестирование при включении питания (POST) и аппаратное обеспечение, необходимое для запуска инициализации системы.

2. Выбор загрузочного устройства: В загрузочной прошивке UEFI или в основной загрузочной записи находится загрузочное устройство.

3. Загрузка загрузчика: с загрузочного устройства находится загрузчик. На Red Hat/CentOS это обычно GRUB 2.

4. Загрузка ядра: Загрузчик может представить пользователю меню загрузки или может быть настроен на автоматический запуск Linux по умолчанию. Для загрузки Linux ядро загружается вместе с initramfs . Initramfs содержит модули ядра для всего оборудования, которое требуется для загрузки, а также начальные сценарии, необходимые для перехода к следующему этапу загрузки. На RHEL 7/CentOS initramfs содержит полную операционную систему (которая может использоваться для устранения неполадок).

5. Запуск /sbin/init: Как только ядро загружено в память, загружается первый из всех процессов, но все еще из initramfs . Это процесс /sbin/init , который связан с systemd . Демон udev также загружается для дальнейшей инициализации оборудования. Все это все еще происходит из образа initramfs .

6. Обработка initrd.target: процесс systemd выполняет все юниты из initrd.target , который подготавливает минимальную операционную среду, в которой корневая файловая система на диске монтируется в каталог /sysroot . На данный момент загружено достаточно, чтобы перейти к установке системы, которая была записана на жесткий диск.

7. Переключение на корневую файловую систему: система переключается на корневую файловую систему, которая находится на диске, и в этот момент может также загрузить процесс systemd с диска.

8. Запуск цели по умолчанию (default target): Systemd ищет цель по умолчанию для выполнения и запускает все свои юниты. В этом процессе отображается экран входа в систему, и пользователь может проходить аутентификацию. Обратите внимание, что приглашение к входу в систему может быть запрошено до успешной загрузки всех файлов модуля systemd . Таким образом, просмотр приглашения на вход в систему не обязательно означает, что сервер еще полностью функционирует.
На каждом из перечисленных этапов могут возникнуть проблемы из-за неправильной настройки или других проблем. Таблица суммирует, где настроена определенная фаза и что вы можете сделать, чтобы устранить неполадки, если что-то пойдет не так.

Передача аргементов в GRUB 2 ядру во время загрузки

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

Когда сервер загружается, вы кратко видите меню GRUB 2. Смотри быстро, потому что это будет длиться всего несколько секунд. В этом загрузочном меню вы можете ввести e, чтобы войти в режим, в котором вы можете редактировать команды, или c, чтобы ввести полную командную строку GRUB.


После передачи e в загрузочное меню GRUB вы увидите интерфейс, показанный на скриншоте ниже. В этом интерфейсе прокрутите вниз, чтобы найти раздел, начинающийся с linux16 /vmlinuz , за которым следует множество аргументов. Это строка, которая сообщает GRUB, как запустить ядро, и по умолчанию это выглядит так:



После ввода параметров загрузки, которые вы хотите использовать, нажмите Ctrl + X, чтобы запустить ядро с этими параметрами. Обратите внимание, что эти параметры используются только один раз и не являются постоянными. Чтобы сделать их постоянными, вы должны изменить содержимое файла конфигурации /etc/default/grub и использовать grub2-mkconfig -o /boot/grub2/grub.cfg , чтобы применить изменение.

Когда у вас возникли проблемы, у вас есть несколько вариантов (целей), которые вы можете ввести в приглашении загрузки GRUB:

■ rd.break Это останавливает процедуру загрузки, пока она еще находится в стадии initramfs .
Эта опция полезна, если у вас нет пароля root.

■ init=/bin/sh или init=/bin/bash Указывает, что оболочка должна быть запущена сразу после загрузки ядра и initrd . Это полезный вариант, но не лучший, потому что в некоторых случаях вы потеряете консольный доступ или пропустите другие функции.

■ systemd.unit=rescue.target Команда запускает еще несколько системных юнитов, чтобы привести вас в более полный рабочий режим. Требуется пароль root.
Чтобы увидеть, что загружено только очень ограниченное количество юнит-файлов, вы можете ввести команду systemctl list-units .

Запуск целей(targets) устранения неполадок в Linux

1. (Пере)загружаем Linux. Когда отобразиться меню GRUB, нажимаем e ;

2. Находим строку, которая начинается на linux16 /vmlinuz. В конце строки вводим systemd.unit=rescue.target и удаляем rhgb quit ;

3. Жмем Ctrl+X, чтобы начать загрузку с этими параметрами. Вводим пароль от root;

4. Вводим systemctl list-units и смотрим. Будут показаны все юнит-файлы, которые загружены в данный момент и соответственно загружена базовая системная среда;

5. Вводим systemctl show-environment . Видим переменные окружения в режиме rescue.target;

6. Перезагружаемся reboot ;

7. Когда отобразится меню GRUB, нажимаем e . Находим строку, которая начинается на linux16 /vmlinuz. В конце строки вводим systemd.unit=emergency.target и удаляем rhgb quit ;

8. Снова вводим пароль от root;

9. Система загрузилась в режиме emergency.target;

10. Вводим systemctl list-units и видим, что загрузился самый минимум из юнит-файлов.

Устранение неполадок с помощью загрузочного диска Linux

Еще один способ восстановления работоспособности Linux использовать образ операционки.

Если вам повезет меньше, вы увидите мигающий курсор в системе, которая вообще не загружается. Если это произойдет, вам нужен аварийный диск. Образ восстановления по умолчанию для Linux находится на установочном диске. При загрузке с установочного диска вы увидите пункт меню "Troubleshooting". Выберите этот пункт, чтобы получить доступ к параметрам, необходимым для ремонта машины.

  • Install CentOS 7 in Basic Graphics Mode: эта опция переустанавливает систему. Не используйте её, если не хотите устранить неполадки в ситуации, когда обычная установка не работает и вам необходим базовый графический режим. Как правило, вам никогда не нужно использовать эту опцию для устранения неисправностей при установке.
  • Rescue a CentOS System: это самая гибкая система спасения. Это должен быть первый вариант выбора при использовании аварийного диска.
  • Run a Memory Test: если вы столкнулись с ошибками памяти, это позволяет пометить плохие микросхемы памяти, чтобы ваша машина могла нормально загружаться.
  • Boot from local drive: здесь я думаю всё понятно.

Пример использования "Rescue a CentOS System"

1. Перезагружаем сервер с установочным диском Centos 7. Загружаемся и выбираем "Troubleshooting".

2. В меню траблшутинга выбираем "Rescue a CentOS System" и загружаемся.


3. Система восстановления теперь предлагает вам найти установленную систему Linux и смонтировать ее в /mnt/sysimage . Выберите номер 1, чтобы продолжить:
4. Если была найдена правильная установка CentOS, вам будет предложено, чтобы система была смонтирована в /mnt/sysimage . В этот момент вы можете дважды нажать Enter, чтобы получить доступ к оболочке восстановления.



5. Ваша система Linux на данный момент доступна через каталог /mnt/sysimage . Введите chroot /mnt/sysimage . На этом этапе у вас есть доступ к корневой файловой системе, и вы можете получить доступ ко всем инструментам, которые необходимы для восстановления доступа к вашей системе.

Переустановка GRUB с помощью аварийного диска

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

  1. Убедитесь, что вы поместили содержимое каталога /mnt/sysimage в текущую рабочую среду.
  2. Используйте команду grub2-install , а затем имя устройства, на котором вы хотите переустановить GRUB 2. Если это виртуальная машина KVM используйте команду grub2-install /dev/vda и на физическом сервере или виртуальная машина VMware, HyperV или Virtual Box, это grub2-install /dev/sda .

Повторное создание Initramfs с помощью аварийного диска

Иногда initramfs также может быть поврежден. Если это произойдет, вы не сможете загрузить свой сервер в нормальном рабочем режиме. Чтобы восстановить образ initramfs после загрузки в среду восстановления, вы можете использовать команду dracut . Если используется без аргументов, эта команда создает новый initramfs для загруженного в данный момент ядра.
Кроме того, вы можете использовать команду dracut с несколькими опциями для создания initramfs для конкретных сред ядра. Существует также файл конфигурации с именем /etc/dracut.conf , который можно использовать для включения определенных параметров при повторном создании initramfs .

  • /usr/lib/dracut/dracut.conf.d/*.conf содержит системные файлы конфигурации по умолчанию.
  • /etc/dracut.conf.d содержит пользовательские файлы конфигурации dracut.
  • /etc/dracut.conf используется в качестве основного файла конфигурации.

Исправление общих проблем

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

Переустановка GRUB 2

Код загрузчика не исчезает просто так, но иногда может случиться, что загрузочный код GRUB 2 будет поврежден. В этом случае вам лучше знать, как переустановить GRUB 2. Точный подход зависит от того, находится ли ваш сервер в загрузочном состоянии. Если это так, то довольно просто переустановить GRUB 2. Просто введите grub2-install и имя устройства, на которое вы хотите его установить. У команды есть много различных опций для точной настройки того, что именно будет установлено, но вам, вероятно, они не понадобятся, потому что по умолчанию команда устанавливает все необходимое, чтобы ваша система снова загрузилась. Становится немного сложнее, если ваш сервер не загружается.

Если это произойдет, вам сначала нужно запустить систему восстановления и восстановить доступ к вашему серверу из системы восстановления. После монтирования файловых систем вашего сервера в /mnt/sysimage и использования chroot /mnt/sysimage , чтобы сделать смонтированный образ системы вашим корневым образом: Просто запустите grub2-install , чтобы установить GRUB 2 на желаемое установочное устройство. Но если вы находитесь на виртуальной машине KVM, запустите grub2-install /dev/vda , а если вы находитесь на физическом диске, запустите grub2-install /dev/sda .

Исправление Initramfs

В редких случаях может случиться так, что initramfs будет поврежден. Если вы тщательно проанализируете процедуру загрузки, вы узнаете, что у вас есть проблема с initramfs , потому что вы никогда не увидите, как корневая файловая система монтируется в корневой каталог, и при этом вы не увидите запуска каких-либо системных модулей. Если вы подозреваете, что у вас есть проблема с initramfs , ее легко создать заново. Чтобы воссоздать его, используя все настройки по умолчанию (что в большинстве случаев нормально), вы можете просто запустить команду dracut --force . (Без --force команда откажется перезаписать ваши существующие initramfs .)
При запуске команды dracut вы можете использовать файл конфигурации /etc/dracut.conf , чтобы указать, что именно записывается в initramfs . В этом файле конфигурации вы можете увидеть такие параметры, как lvmconf = «no» , которые можно использовать для включения или выключения определенных функций. Используйте эти параметры, чтобы убедиться, что у вас есть все необходимые функции в initramfs .

Восстановление после проблем с файловой системой

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

1. Проверка текущей версии ядра

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

* в данном примере установлено ядро версии 3.10.0.

2. Установка ядра

Перед обновлением ядра, необходимо обновить саму систему:

После стоит перезагрузить систему:

С помощью yum

Самый быстрый и безопасный способ обновить ядро CentOS — воспользоваться автоматической установкой из репозитория. Минусом тут является то, что можно установить только ту версию, которая имеется в наличие в данном репозитории.

Последняя версии ядра для CentOS находится в репозитории ELRepo (не путать с EPEL). Сначала устанавливаем его.

Ссылка на последнюю версию репозитория ELRepo

Импортируем ключ репозитория:

Воспользовавшись ссылкой, устанавливаем сам репозиторий:

* список установленных репозиториев можно посмотреть командой yum repolist.

Теперь можно установить ядро:

yum --enablerepo=elrepo-kernel install kernel-ml

Ручное обновление

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

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

Ссылка на скачивание ядра Linux

* в данном примере мы скопировали ссылку на нестабильную версию ядра 5.0.

Воспользовавшись ссылкой, скачиваем ядро на компьютер с Linux:

* если система вернет ошибку, нужно установить wget — yum install wget.

Распаковываем скачанный архив:

tar -xvf linux-5.0-rc8.tar.gz -C /usr/src

* в данном примере мы распаковываем архив linux-5.0-rc8.tar.gz в каталог /usr/src.

Переходим в каталог, куда распаковали исходник ядра:

Устанавливаем инструменты для компиляции пакетов:

yum groupinstall "Development Tools"

yum install ncurses-devel openssl-devel bc

Создаем свою конфигурацию для ядра:

Или используем текущую конфигурацию для ядра:

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

* процедура может занять много времени.

После устанавливаем ядро и модули:

make modules_install install

3. Применение нового ядра

Чтобы система грузилась с использованием нового ядра, необходимо внести изменения в GRUB:

* данной настройкой мы говорим загрузчику использовать первое ядро для загрузки (первым идет последнее по версии ядро).

Применяем настройки для grub:

grub2-mkconfig -o /boot/grub2/grub.cfg

Можно перезагружать компьютер:

После загрузки проверяем текущую версию ядра:

Если система не загружается после обновления ядра

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

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

Ссылка на скачивание ядра Linux

Выбираем вариант загрузки с предыдущей версией ядра.

Возможные ошибки

1. Фатальная ошибка: <путь до файла>: Нет такого файла или каталога.

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

Решение: необходимо воспользоваться поисковиком, чтобы определить, какой именно пакет необходим для продолжения установки и воспользоваться командой yum install <имя пакета> для его установки.

2. [<путь до файла>] Ошибка 127

Например: [include/generated/timeconst.h] Ошибка 127

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

Решение: аналогично предыдущему примеру решения проблемы, необходимо воспользоваться поисковиком, чтобы определить, какой именно пакет необходим для продолжения установки и воспользоваться командой yum install <имя пакета> для его установки.


29 Ноя 2019 18:11:27 | 0 comments

Удаление старых ядер (kernel) в Oracle Linux UEK

Раздел /boot как правило создается на отдельной ФС и её размер обычно делают 256MB, 512MB или 1GB и рано или поздно место на нем заканчивается. Как правило причиной всему служит обилие старых ядер (kernel). Конечно система сама будет подчищать старые ядра, но есть нюансы. Обо всех тонкостях мы и поговорим ниже.

Исходные данные: Oracle Linux 7.7 с ядром UEK
Задача: Подчистить старые ядра

Т.к. у меня стоит ядро UEK, то Oracle Linux помимо использования ядра UEK держит в системе еще и стандартные ядра версий 3.10 и обновляет их.

Посмотрим какие ядра у нас есть:

Мы видим, что стоит 4 ядра версии 3.10 и 6 ядер версии 4.14.35 (UEK)

Давайте сократим их до 2 штук.

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

то есть обновили ядра, но не перезагрузили сервер, в результате используется не самое новое ядро.

Проверяем текущее ядро:

Мы видим, что используется ядро kernel-uek-4.14.35-1902.7.3.1.el7uek.x86_64, то есть самое последнее.

Теперь подчистим старые ядра, всего будет 2 шага:
1. Чистка ядер версии 3.10 с помощью утилиты package-cleanup или чистка стандартным yum erase
2. Чистка ядер версии 4.14 (UEK), она возможна только с помощью yum erase

Чтобы установить утилиту package-cleanup выполните:

После этого давайте оставим последние 2 ядра версии 3.10, выполним:

После этого утилита сама удалить все старые ядра версии 3.10 и оставит только 2 последних, самых свежих.

Если Вы не хотите пользоваться package-cleanup, то можно удалить ядра с помощью yum erase, попробуем:

Как Вы поняли, указать какие версии ядер нужно удалять придется вручную.

Теперь удалим старые ядра UEK, выполним:

Теперь посмотрим что у нас осталось:

Отлично, осталось 2 ядра.

Обновим информацию в загрузчике Grub:

Перезагрузим сервер и посмотрим список ядер в загрузчике:

Boot Oracle Linux 7

Boot Oracle Linux 7

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

Читайте также: