10153
Немного оптимизации и как обойтись без NetworkManager
Предыстория.
Мой старенький ноут грузится за 1 мин 30 сек. Даже для HDD это многовато. Проведя анализ по статье Ускорение загрузки, выяснил, что максимальное время загрузки происходит за счет монтирования /dev/loop* устройств snap пакетов. От них избавиться просто — найти замену из репозиториев или aur. Далее, сравнимые с ними по длительности загрузки оказались avahi и NetworkManager. С первым просто отключаем, не знаю кто им пользуется (почитал в гугле). А вот отказ от NetworkManager это уже история :
Включаем resolved, который отвечает за настройку DNS серверов:
Вы можете проверить состояние этих системных служб с помощью следующих команд:
Даем символическую ссылку на файл /etc/resolv.conf
Не забываем удалить апплет сети из автозагрузки.
Осталось настроить динамическое получение ip адреса при загрузке:
Вставляем
Сохраняем.
enp* значит, что сеть нужно подымать только для устройств, имена которых начинаются на enp. Cеть настроена. Но это только для сетевой карты. У кого нет Wi-Fi, можно на этом остановиться. У кого есть, читаем дальше. Некоторые настройки взяты отсюда:
Как заменить менеджер сетевых соединений NetworkManager на systemd-networkd в Linux
Как подключиться к WPA/WPA2 WiFi сети используя командную строку Linux.
Узнайте имя вашего WiFi устройства.
Выхлоп команды будет что-то вроде:
Выше видно, что система имеет одну физическую WiFi карту, обозначенную как phy0. Имя устройства wlp2s0. Тип определяет режим работы беспроводного устройства. managed означает устройство беспроводной станции или клиент, который подключается к точке доступа.
Поднимаем адресацию. В моем случае, при испльзовании systemd-networkd — надо задать описание интерфейсу в /etc/systemd/network/. Первоисточник Подключение к WiFi без NetworkManager’a
Создаю конфиг /etc/systemd/network/25-wireless.network с следующим содержимым
Далее рестартанем systemd-networkd
Убедитесь, что устройство активно.
Вывод команды:
Должно быть ‘UP‘ внутри скобок в первой строке вывода. Если это не так, то выполните
И еще раз проверте активизацию интерфейса.
Проверяем статус.
Если вывод команды
то подключения к сети нет.
Сканируем сеть на предмет обнаружения доступных WiFi точек.
Вывод команды приблизительно будет такой:
В выводе две важные части: SSID и протокол безопасности (WPA / WPA2 vc WEP). SSID из приведенного выше примера это berligostr. Протокол безопасности РСН, который также называют WPA2. Протокол безопасности важен, потому что он определяет, какой инструмент вы используете для подключения к сети.
Подключаемся к WPA/WPA2 WiFi сети. Для этого выполняем два действия. Сначала вы генерируете конфигурационный файл для wpa_supplicant, который содержит pre-shared key («пароль») для WiFi сети.
Дальнейшие действия подсказала статья на вики WPA supplicant (Русский)
Cоздаем
Вписываем туда
Сконфигурируйте для соединения с известной сетью
Выхлоп
Полученный выхлоп вставляете в конец /etc/wpa_supplicant/example.conf
Где MYSSID — имя вашей Wi-Fi сети, passphrase — ваш пароль для подключения к ней
Подключаетесь к сети
Проверяете соединение
Все работает? Тогда делаем автозапуск соединения при загрузке (systemd).
Делаем копию файла /etc/wpa_supplicant/example.conf и переименовываем его в /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf
Запускаем
Вот, собственно, и все.
Перезагрузка для проверки.
В результате всех манипуляций время загрузки уменьшилось до 35 сек. Неплохо так, в 3 раза для старенького бука.
ЗЫ. Скорее всего, более грамотные могут добавить что-то или немного оптимизировать клацание по клаве, буду благодарен за замечания и правки.
Мой старенький ноут грузится за 1 мин 30 сек. Даже для HDD это многовато. Проведя анализ по статье Ускорение загрузки, выяснил, что максимальное время загрузки происходит за счет монтирования /dev/loop* устройств snap пакетов. От них избавиться просто — найти замену из репозиториев или aur. Далее, сравнимые с ними по длительности загрузки оказались avahi и NetworkManager. С первым просто отключаем, не знаю кто им пользуется (почитал в гугле). А вот отказ от NetworkManager это уже история :
$ sudo systemctl disable NetworkManager
$ sudo systemctl enable systemd-networkd
Включаем resolved, который отвечает за настройку DNS серверов:
$ sudo systemctl enable systemd-resolved
$ sudo systemctl start systemd-resolved
Вы можете проверить состояние этих системных служб с помощью следующих команд:
$ systemctl status systemd-networkd
$ systemctl status systemd-resolved
Даем символическую ссылку на файл /etc/resolv.conf
$ sudo rm /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Не забываем удалить апплет сети из автозагрузки.
Осталось настроить динамическое получение ip адреса при загрузке:
$ sudo nano /etc/systemd/network/20-dhcp.network
Вставляем
[Match]
Name=enp*
[Network]
DHCP=yes
Сохраняем.
enp* значит, что сеть нужно подымать только для устройств, имена которых начинаются на enp. Cеть настроена. Но это только для сетевой карты. У кого нет Wi-Fi, можно на этом остановиться. У кого есть, читаем дальше. Некоторые настройки взяты отсюда:
Как заменить менеджер сетевых соединений NetworkManager на systemd-networkd в Linux
Как подключиться к WPA/WPA2 WiFi сети используя командную строку Linux.
Узнайте имя вашего WiFi устройства.
$ iw dev
Выхлоп команды будет что-то вроде:
phy#0
Interface wlp2s0
ifindex 3
type managed
…….
Выше видно, что система имеет одну физическую WiFi карту, обозначенную как phy0. Имя устройства wlp2s0. Тип определяет режим работы беспроводного устройства. managed означает устройство беспроводной станции или клиент, который подключается к точке доступа.
Поднимаем адресацию. В моем случае, при испльзовании systemd-networkd — надо задать описание интерфейсу в /etc/systemd/network/. Первоисточник Подключение к WiFi без NetworkManager’a
Создаю конфиг /etc/systemd/network/25-wireless.network с следующим содержимым
[Match]
Name=wlp2s0
[Network]
DHCP=ipv4
Далее рестартанем systemd-networkd
$ sudo systemctl restart systemd-networkd
Убедитесь, что устройство активно.
$ ip link show wlp2s0
Вывод команды:
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
Должно быть ‘UP‘ внутри скобок в первой строке вывода. Если это не так, то выполните
$ sudo ip link set wlp2s0 up
И еще раз проверте активизацию интерфейса.
Проверяем статус.
$ iw wlp2s0 link
Если вывод команды
Not connected.
то подключения к сети нет.
Сканируем сеть на предмет обнаружения доступных WiFi точек.
$ sudo iw wlp2s0 scan
Вывод команды приблизительно будет такой:
BSS 70:4d:7b:4e:3e:b8(on wlp2s0)
TSF: 4540713984369 usec (52d, 13:18:33)
freq: 2412
beacon interval: 100 TUs
capability: ESS Privacy ShortSlotTime APSD (0x0c11)
signal: -90.00 dBm
last seen: 187 ms ago
SSID: berligostr
Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0
DS Parameter set: channel 1
Extended supported rates: 6.0 12.0 24.0 48.0
………
В выводе две важные части: SSID и протокол безопасности (WPA / WPA2 vc WEP). SSID из приведенного выше примера это berligostr. Протокол безопасности РСН, который также называют WPA2. Протокол безопасности важен, потому что он определяет, какой инструмент вы используете для подключения к сети.
Подключаемся к WPA/WPA2 WiFi сети. Для этого выполняем два действия. Сначала вы генерируете конфигурационный файл для wpa_supplicant, который содержит pre-shared key («пароль») для WiFi сети.
Дальнейшие действия подсказала статья на вики WPA supplicant (Русский)
Cоздаем
$ sudo nano /etc/wpa_supplicant/example.conf
Вписываем туда
ctrl_interface=/run/wpa_supplicant
update_config=1
Сконфигурируйте для соединения с известной сетью
$ wpa_passphrase MYSSID passphrase
Выхлоп
network={
ssid="MYSSID"
psk="passphrase"
psk=59e0d07fa4c7741797a4e394f38a5c321e3bed51d54ad5fcbd3f84bc7415d73d
}
Полученный выхлоп вставляете в конец /etc/wpa_supplicant/example.conf
Где MYSSID — имя вашей Wi-Fi сети, passphrase — ваш пароль для подключения к ней
Подключаетесь к сети
$ sudo wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/example.conf
Проверяете соединение
$ ping 8.8.8.8
Все работает? Тогда делаем автозапуск соединения при загрузке (systemd).
Делаем копию файла /etc/wpa_supplicant/example.conf и переименовываем его в /etc/wpa_supplicant/wpa_supplicant-wlp2s0.conf
Запускаем
$ systemctl enable wpa_supplicant@wlp2s0
Вот, собственно, и все.
Перезагрузка для проверки.
В результате всех манипуляций время загрузки уменьшилось до 35 сек. Неплохо так, в 3 раза для старенького бука.
ЗЫ. Скорее всего, более грамотные могут добавить что-то или немного оптимизировать клацание по клаве, буду благодарен за замечания и правки.
11 комментариев
bash.org
12.529s systemd-resolved.service
12.401s systemd-machined.service
12.396s systemd-logind.service
12.394s snapd.service
9.702s lvm2-monitor.service
7.015s dev-sda4.device
5.102s udisks2.service
3.848s systemd-networkd.service
3.805s systemd-tmpfiles-clean.service
3.166s accounts-daemon.service
3.140s tlp.service
2.523s polkit.service
2.055s lightdm.service
1.730s systemd-journal-flush.service
1.543s systemd-udevd.service
1.439s org.cups.cupsd.service
1.255s upower.service
1.185s var-lib-snapd-snap-core-8592.mount
1.065s var-lib-snapd-snap-core-8689.mount
1.047s systemd-tmpfiles-setup-dev.service
971ms var-lib-snapd-snap-core18-1705.mount
849ms var-lib-snapd-snap-core18-1668.mount
664ms systemd-rfkill.service
489ms systemd-modules-load.service
477ms systemd-journald.service
433ms systemd-tmpfiles-setup.service
432ms systemd-udev-trigger.service
359ms rtkit-daemon.service
341ms systemd-random-seed.service
322ms ufw.service
312ms systemd-sysctl.service
237ms systemd-backlight@backlight:acpi_video0.service
208ms systemd-binfmt.service
207ms dev-hugepages.mount
206ms dev-mqueue.mount
205ms sys-kernel-debug.mount
202ms geoclue.service
180ms kmod-static-nodes.service
171ms tmp.mount
161ms user@1000.service
104ms systemd-remount-fs.service
94ms var-lib-systemd\x2dswap-swapfc-1.swap
68ms dev-loop0.device
65ms systemd-user-sessions.service
57ms systemd-backlight@backlight:intel_backlight.service
51ms systemd-update-utmp.service
32ms sys-kernel-config.mount
15ms proc-sys-fs-binfmt_misc.mount
14ms user-runtime-dir@1000.service
13ms wpa_supplicant.service
11ms dev-loop1.device
9ms modprobe@drm.service
6ms dev-loop2.device
5ms dev-loop3.device
5ms sys-fs-fuse-connections.mount
4ms snapd.socket
lines 28-56/56 (END)
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
Чтобы полностью отключить avahi надо:
и внести следующие изменения:
use-ipv4=no
use-ipv6=no
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
bash.org
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu