LINUX.ORG.RU

Где найти список загружаемых процессов

 ,


0

1

При загрузке Debian начинает грузить процессы, которые берёт из какого-то списка. Т.е. для примера я вижу, что загружен SSH, откуда берётся инфа, что SSH должен быть загружен. Из какого-то файла или с каталога.

Ответ на: комментарий от Artamudo

мне не надо какой статус у процессов и разрешено-не разрешено, мне надо узнать, путь к файлу, каталогу и т.д. откуда берётся то что должно быть загружено, т.е. список автозагрузки..

tmpnikl
() автор топика
Ответ на: комментарий от tmpnikl

Ты видимо с винды пришёл. Это и есть файлы(юниты) которые запускает система инициализации. Открой ls /usr/lib/systemd/system/ и открывай enabled файлы. В них прописаны запускаемые этими юнитами бинарники. Может кто-то знает более лаконичную команду.

Artamudo ★★★★
()
Ответ на: комментарий от tmpnikl

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

Если кратко, это ссылки на юниты system.d в

/etc/systemd
/etc/systemd/system

Когда делается systemctl enable servicename.service создается ссылка в /etc/systemd и systemd загружает эти сервисы, в которых прописаны пути к исполняемым файлам, переменные, опции и т.д.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Я так понимаю он хочет сразу все бинарники вывести.

Artamudo ★★★★
()
Ответ на: комментарий от Im_not_a_robot

Спасибо за разъяснение, но… service –status-all я вижу, что процесс ssh + или enable, тогда я иду в каталог etc/system/ но там не вижу, чтоб что-то напоминало ssh

tmpnikl
() автор топика
Ответ на: комментарий от tmpnikl

или ещё процесс xl2tpd, тоже стоит +, понятно, что он есть в папке etc, но нет в папке etc/system/, так как формируется список что запускать, а что нет, с какого каталога

tmpnikl
() автор топика
Ответ на: комментарий от tmpnikl

тогда я иду в каталог etc/system/ но там не вижу, чтоб что-то напоминало ssh

Они там раскиданы по разным каталогам:

$ find /etc/systemd -name "sshd.service"
/etc/systemd/system/multi-user.target.wants/sshd.service

В целом, ты не совсем корректно воспринимаешь управление сервисами в современных линуксах. Нету никакого конфига, куда нужно прописывать какой-то сервис. Управление происходит через systemctl enable/start/stop/restart и т.д.

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

/usr/lib/systemd/system

Когда ты (или создатели дистрибутива) включаешь юнит sudo systemctl enable sshd.service , создается ссылка в нужном каталоге /etc/systemd Когда выключаешь его – ссылка удаляется.

$ sudo systemctl enable sshd.service 
Created symlink /etc/systemd/system/multi-user.target.wants/sshd.service → /usr/lib/systemd/system/sshd.service.

$ sudo systemctl disable sshd.service   
Removed /etc/systemd/system/multi-user.target.wants/sshd.service.

Если ты хочешь посмотреть какой именно экзешник запускается, с какими именно опциями, просто открываешь файл /usr/lib/systemd/system/sshd.service и смотришь. Если тебе надо изменить некоторые опции в юните, это тоже возможно (конкретных решений не подскажу, почти не пользовался), делается в /etc/systemd, править системные юниты в /usr/lib/systemd не нужно.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Ещё раз спасибо.. Всё понятно, и в /etc/systemd/system есть ссылка на sshd, Что либо править или изменять статус демонов, юнитов и т.д. я не буду. Просто есть чёткий алгоритм загрузки программ(демонов), т.е. после загрузки всех бутов, грабов, начинается загрузка этих демонов. Просматривается каталог /etc/systemd/system, ага есть ссылка на sshd грузим, но этих ссылок в каталоге /etc/systemd/system три(самба,..), а грузятся демоны тридцать три, например xl2tpd, pptpd и т.д., которые не идут с установочным пакетом дебиан, а ставятся дополнительно. Т.е. если ссылок на эти демоны в каталоге /etc/systemd/system нет, то какой следующий шаг в алгоритме загрузки демонов, какой каталог просматривается? PS: Debian GNU/Linux 9 (stretch)

tmpnikl
() автор топика
Ответ на: комментарий от tmpnikl

Т.е. если ссылок на эти демоны в каталоге /etc/systemd/system нет

А их там точно нет? Лучше ищи их с помощью find, а не ручками все проверяй:

find /etc/systemd -name "*pptpd*"

Похоже предыдущий комментатор прав, они запускаются из /etc/init.d Какое-то дебиан/убунту легаси, в арче этого нет.

Im_not_a_robot ★★★★★
()
Последнее исправление: Im_not_a_robot (всего исправлений: 1)
Ответ на: комментарий от Im_not_a_robot

Они там раскиданы по разным каталогам

Правильно, но неполно. В /etc/systemd/{system,user} лежат пользовательские (то есть админские) юниты, а те, что устанавливаются с пакетами, кладутся куда-то в /usr, уже не помню точного пути, но можно посмотреть листинг файлов установленного пакета и грепнуть оттуда systemd.

mord0d ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

но на те, которые будут запускаться делаются ссылки в /etc/systemd

/etc/systemd/system/*.wants если точнее.

Но это решает задачу только для enabled, но не running (systemd может запускать другие юниты, если они нужны для работы запрошенных, при этом включать их не нужно).

mord0d ★★★★★
()

Спасибо, более менее становится ясно. Т.е. есть в etc два каталога, system и init.d, не понятно какой из них приоритетный. В каталог init.d содержатся ссылки на сценарии и он полностью соответствует команде service –status-all, только не понятно, как определяется + или -. Т.е. если мне надо остановить и убрать из загрузки pptpd, как я понимаю, ссылка из этого каталога(init.d) не исчезнет, но где-то что-то должно поменяться. Какой файл должен измениться?

tmpnikl
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.