В файле кикстарта, который вы ищете:
ignoredisk --only-use=sda
Это приведет к тому, что каждый диск, кроме sda
, будет проигнорирован установкой.
Буква sd
должна оставаться прежней (поскольку она зависит от того, какой порт SATA используется). Однако стоит отметить, что съемный носитель может смещать буквы sd
, если он используется до жесткого диска и обычно определяется как use sd *
(например, если вы устанавливаем с флешки).
Если вы также не укажете разделы autopart
или part
в кикстарте, установка будет приостановлена перед очисткой диска (чтобы спросить, как вы хотите разбить разделы. Любые другие запросы в вашем кикстарте / установке также предотвратит немедленную очистку диска). Здесь вы можете переключиться на TTY2 с помощью CTRL
+ ALT
+ F2
перед началом установки и попробовать смонтировать диск.
На TTY2 у вас будет бесплатный терминал root
, так что вы можете создать каталог, смонтировать в него sda #
и просмотреть все, чтобы убедиться, что это файлы.
После того, как вы можете вернуться к TTY1 и возобновить установку, если диск правильный.
Документация RHEL по кикстарту идеально подходит для подобных вещей.
В качестве дополнения к ответу Занны опция --value
для systemctl show
была введена в версии 230 systemd . Поэтому он может быть недоступен в некоторых дистрибутивах, таких как Debian Jessie.
В этом случае можно эмулировать опцию с помощью sed:
$ systemctl show -p ActiveState sshd | sed 's/ActiveState=//g'
active
$ systemctl show -p SubState sshd | sed 's/SubState=//g'
running
Я слишком опоздал на вечеринку, однако использование systemctl -активно вместе с &&
и ||
для этого в сценарии не будет иметь место все время. Ниже приведен тот, который я использовал для tomcat, но я могу использовать его в методе, принимающем аргументы, и передавать имя службы в качестве аргументов, если вам нужно проверить несколько служб, но здесь это выходит за рамки.
STATUS="$(systemctl is-active tomcat.service)"
if [ "${STATUS}" = "active" ]; then
echo "Execute your tasks....."
else
echo " Service not running.... so exiting "
exit 1
fi
Вот как я использовал.... Просто поделился своим.
и для простоты и легкости следуйте другим объяснениям здесь:
systemctl -q is-active tomcat.service && \
echo "Tomcat Runnung" || \
echo "Service is not running at all "
Я нахожу это полезным для выполнения из командной строки или при создании скриптов.
Скопировано с @StephenKitt
Это проверит, не работает ли служба, и выполнит перезапуск службы.
systemctl is-active --quiet <service name> || <service name> restart
там ||
проверяется, не является ли возвращаемое значение из systemctl -нулем, что означает, что оно не активно, как объяснил автор.
Вместо использования команды sed, как в ответе Oxmel, достаточно использовать cut -d'=' -f 2
для всех запрашиваемых свойств:
например:
$ systemctl show -p ActiveState sshd | cut -d'=' -f2
active
$ systemctl show -p SubState sshd | cut -d'=' -f2
running
Также работает для не -systemd ОС.
А как насчет ps -C service-name
? проверьте $?
для ответа. Если 0
, то работает, если 1
, то не работает.
Пример:
ps -C privoxy && echo running
Тихая версия:
ps -C privoxy 1>/dev/null && echo running
Внимание:
Я заметил, что имена сервисов -длиннее 14 символов могут давать ложное срабатывание.
См. также комментарий Ника С.
Пример:
Правильно показывает работу:
$ ps -C notification-daemon
PID TTY TIME CMD
7418 ? 00:00:04 notification-da
Неверно показывает работу:
$ ps -C notification-daemon-fake
PID TTY TIME CMD
7418 ? 00:00:04 notification-da
Правильно показывает, что не работает, потому что меньше 14 символов:
$ ps -C notification
PID TTY TIME CMD
Я получил этот ответ от здесь .
это для системы init.d
если служба не запущена, запустить службу:
service mysql status > /dev/null || service mysql start &
service ssh status > /dev/null || service ssh start &
service php7.4-fpm status > /dev/null || service php7.4-fpm start &
service redis-server status > /dev/null || service redis-server start &
service nginx status > /dev/null || service nginx start &
service cron status > /dev/null || service cron start &
когда программа завершается, она также возвращает идентификатор ошибки, байт со знаком. при выходе без проблем значение обычно 0. при выходе из-за ошибок значение обычно равно идентификатору ошибки или часто -1.
Это значение часто используется для интеграции команд, например числовой идентификатор состояния печатного вывода программы.
чтобы использовать его с цепочкой команд, есть две опции && и ||
|| проверяет, не является ли возвращаемое значение выхода нулем, затем запускает связанную команду
вместо || невозможно написать &&
&& проверяет, является ли возвращаемое значение нуля нулем, затем запускает цепочку команд
аналогично ответу @asterisk на этой странице (для systemd )https://unix.stackexchange.com/a/500336/156304
Абсолютно беспардонный плаг, так как я автор, но я бы порекомендовал проверить задание service::linux
из модуля Puppet Service . Это чистый Bash, который поставляется в комплекте с Bolt, поэтому вам вообще не нужно использовать Puppet. например.
$ bolt task run service::linux action=status name=sshd --targets localhost
{
"status": "MainPID=1358,LoadState=loaded,ActiveState=active",
"enabled": "enabled"
}
В коде используется systemctl show
, то есть здесь . Он используется достаточно долго, поэтому я могу с уверенностью рекомендовать его, и вопросы и PR приветствуются.