Предыстория.
Мой старенький ноут грузится за 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. Сеть настроена. Но это только для сетевой карты. У кого нет Wi-Fi, можно на этом остановиться. У кого есть, читаем дальше. Некоторые настройки взяты отсюда:
Как заменить менеджер сетевых соединений NetworkManager на systemd-networkd в Linux
Как подключиться к WPA/WPA2 WiFi сети используя командную строку Linux.
Узнайте имя вашего WiFi устройства.
$ iw dev
Выхлоп команды будет что-то вроде:
phy#0
Interface wlp2s0
ifindex 3
type managed
…….
Выше видно, что система имеет одну физическую WiFi карту, обозначенную как phy#0. Имя устройства 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 раза для старенького бука.
ЗЫ. Попытался проделать все это в ubunte (не к месту сказано). Однако получилось, НО
- От NetworkManager не так просто избавиться. Его можно удалить sudo apt purge network-manager-gnome, но он за собой тянет gnome-contro-center, удаление это самое простое. После удаления появляется сервис systemd-networkd-wait-online.service, который оттягивает загрузку аж на две минуты, — выключаем sudo systemctl disable systemd-networkd-wait-online.service. Тогда беда, все что не дождалось старта сети — не стартует)))
- Вернул gnome-control-center, сделал sudo systemctl mask NetworkManager, sudo systemctl disable NetworkManager-wait-online.service, sudo systemctl mask NetworkManager-wait-online.service. Перезагрузка, все взлетело за 46 секунд.
сегодня проверил как это работает в ubuntu. работает, только NetworkManager надо удалять так sudo apt purge network-manager, иначе он остается висеть в процессах. а также пришлось один раз сделать rfkill unblock all , так как wi-fi оказался заблокирован
Здравствуйте. Сделал все по инструкции, и все сайты работают, но КРОМЕ репозитория AUR (стала появляться ошибка dial tcp: lookup aur.archlinux.org: no such host) и ArchWiki, форума Arch и т.д O_o
В чем проблема может быть?
Проверить как отрабатывет доменные имена днс, может у вас включен vpn. отключить vpn, изменить днс. так же посмотреть mtu , увеличить его до 1500 или даже до 4000 если позволяет. отредактировать /etc/resolv.conf (/run/systemd/resolve/resolv.conf) заменить в нем днс на ваш
супликант какашка. iwctl намного приятнее и удобнее