Остановка загрузки демонов во время загрузки

9

Я хочу остановить загрузку некоторых демонов, особенно squid3. Каков наилучший способ сделать это?

nixnotwin
источник
+1 отлично сформулировано для того, кто ищет ответ на этот вопрос.
MSW

Ответы:

7

Вы можете использовать утилиту chkconfig для этой цели.

sudo apt-get install chkconfig

Чтобы проверить состояние уровня запуска squid, вы можете запустить эту команду:

 chkconfig --list | grep squid

Это выведет что-то вроде ниже:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

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

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

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

 chkconfig  --level 3  squid off
aneeshep
источник
У нас есть 7 уровней из (0 - 6). Что это за уровни? Можете ли вы объяснить нам?
karthick87
@ karthik87: Вот хорошая статья об уровнях запуска Linux. Это поможет вам: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep
А как насчет сценариев выскочки?
Хавьер Ривера
3

Системные демоны могут использовать либо устаревшие сценарии инициализации SysV, либо более новый Upstart.

Для сценариев sysv существует несколько инструментов управления, одним из таких инструментов является «sysv-rc-conf» из пакета «sysv-rc-conf», установите его и запустите из терминала.

Что касается Upstart, насколько я знаю, что еще нет инструмента управления, вам нужно вручную переименовать соответствующий скрипт из / etc / init, например:

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 использует сценарии инициализации sysv, вы можете отключить его с помощью sysv-rc-conf.

Жоау Пинту
источник
1
Приложение: Когда вы убираете свою новую работу, вы больше не можете запускать ее вручную. Возможно, лучше просто раскомментировать часть «start on» в файле .conf.
htorque
2

Squid использует старую систему инициализации, так что эта команда должна сделать трюк: sudo update-rc.d -f squid3 remove.

Для более детального контроля того, когда запускать / останавливать службу: sudo sysv-rc-conf

евгений
источник
Объявление 1 .: это также удалит ссылки, чтобы остановить службу, что, вероятно, не то, что вы хотите, если вы запустили его вручную.
htorque
Это неправильно, вы всегда можете начать / остановить его с помощью /etc/init.d/squid3 startили stop.
Евгений
Он удалит K * -линки, которые автоматически останавливают службу . ;)
htorque
Кто бы этого вообще хотел? ;)
евгений
Ленивые люди (Я)! :-P
htorque
1

Два самых простых способа (с моей точки зрения).

1) mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2) закомментируйте следующую строку

start on runlevel [2345]

в /etc/init/squid3.conf

gumkins
источник
Номер 2 был единственным решением, которое работало для меня. Спасибо.
Пауло
0

Вышеуказанные ответы не сработали для моего Ubuntu 16.04.

Вот что сработало:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Хотя вы можете получить ошибку вроде:

insserv: warning: текущий уровень запуска запуска (s) (пустой) скрипта squid переопределяет значения LSB по умолчанию (2 3 4 5).

insserv: предупреждение: текущий уровень останова (ов) (0 1 2 3 4 5 6) скрипта `squid 'переопределяет значения LSB по умолчанию (0 1 6). insserv: fopen (.depend.stop): в доступе отказано

Служба остается остановленной даже после перезагрузки.

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

Тарик
источник