1

Я довольно старый пользователь Arch Linux и был очень доволен глобальным файлом конфигурации системы rc.conf . Затем приходит systemd.

Все еще пытаюсь привыкнуть к этому. Итак, есть моя проблема:

На моем старом ПК я включил сетевой интерфейс во время загрузки с помощью dhcpcd, например так:

# systemctl enable dhcpcd@enp1s0.service

Несколько лет спустя я сменил материнскую плату, и сетевой интерфейс теперь не называется прежним. У меня были некоторые проблемы с grub и новыми графическими драйверами для установки, но в целом мой Arch работает нормально. Я настроил новый сетевой интерфейс для dhcpcd, используя предыдущую команду, но я не могу найти, как удалить старый сетевой интерфейс, как в следующей команде, так как я не помню его имя ... И загрузка занимает много времени, так как это работа, которая блокирует все остальные.

# systemctl disable dhcpcd@enp1s0.service

sudo systemctl list-unit-files | grep enabled тоже не помогает, потому что показывает только dhcpcd@.service . sudo systemctl status не дает мне сбой сетевых интерфейсов ...

Так есть ли где-нибудь файлы, где я могу получить эту информацию? Или я что-то пропустил на странице руководства или в отличной Arch Wiki?

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

  • Как я могу сделать это с chrooted окружения / live CD? Редактировать файл rc.conf было легко, но теперь я немного растерялся.
  • Как я могу изменить порядок запуска и указать, должен ли процесс выполняться в фоновом режиме?

Конечно, я найду это где-нибудь в документации, но если какая-то рука помощи может указать мне правильное направление.

2 ответа2

1

Просто нашел его, просматривая файлы systemd:

cd /etc/systemd
tree

Там она находится в папке system> multi-user.target.wants.

Так что теперь я могу отключить его. Я все еще хотел бы, чтобы был лучший способ перечислить это в systemd - или, если его нет, будьте уверены в этом, чтобы я мог отправить отчет об ошибке.

Я буду ждать других ответов.

0

Я не из Arch и не знаю, как выглядит шаблон dhcpcd@.service , но если он загружен (и должен быть, потому что он замедляет загрузку), вы должны увидеть его в выходных данных systemctl .

Если вы хотите узнать больше о systemd, вам стоит взглянуть на systemctl --help .

Перечислить и настроить файлы модулей systemd из livecd так же просто, как добавить --root=<path> к командам systemd, но помните, что экземпляр systemd не запущен, поэтому только команды, работающие с файловой системой, будут работать как enable disable list-unit-files .

Как вы узнали сами, каждая конфигурация, созданная администратором в /etc/systemd/ enable создает (в большинстве случаев) символическую ссылку из .target.wants в файл модуля (который может быть шаблоном). Если вы хотите узнать, какая цель выбрана, прочитайте раздел [Install] в файле модуля с systemctl cat <unit name>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .