====== 부팅 시간 단축하기 ======
===== 진단 =====
systemd-analyze
Startup finished in 5.162s (kernel) + 27.266s (userspace) = 32.429s
multi-user.target reached after 26.244s in userspace.
userspace 27초를 줄여 보자. 네트워크 대기 서비스가 가장 유력한 용의자이다.
systemd-analyze blame | head -20
13.586s NetworkManager.service
4.074s cloud-init-main.service
2.471s dev-mmcblk0p2.device
2.049s tft-splash.service
...(생략)
일반 데스크톱용 네트워크 매니저가 13초가 넘는 시간을 잡아먹고 있다. 이는 Pi + 유선 + SSH 환경에서는 필요하지 않다.
===== 불필요한 서비스 없애기 =====
- NetdowrkManager 서비스를 없애고, dhcpcd5를 설치한다(dhcpd가 아님)
- cloud-init 계열은 아예 패키지를 없앤다.
sudo systemctl disable NetworkManager.service
sudo systemctl stop NetworkManager.service
sudo apt update
sudo apt install dhcpcd5
sudo apt purge cloud-init -y
재부팅 후 점검해 본다.
$ systemd-analyze blame | head -20
2.576s dev-mmcblk0p2.device
2.012s tft-splash.service
1.429s user@1000.service
900ms dhcpcd.service
718ms systemd-fsck@dev-disk-by\x2dpartuuid-0fb05b25\x2d01.service
602ms keyboard-setup.service
577ms dbus.service
532ms rpi-resize-swap-file.service
526ms dev-mqueue.mount
526ms e2scrub_reap.service
524ms sys-kernel-debug.mount
523ms run-lock.mount
464ms modprobe@fuse.service
462ms sys-kernel-tracing.mount
458ms modprobe@drm.service
457ms ssh.service
451ms systemd-udev-trigger.service
437ms kmod-static-nodes.service
436ms modprobe@configfs.service
427ms wpa_supplicant.service
===== 더 없앨 것이 있을까? =====
* 유선만 쓸 거면 wpa_supplicant.service 끄기 <- 이것 잘못 끄면 나중에 Wi-Fi 살리기 까다로움!
* 로컬 키보드 거의 안 쓰면 keyboard-setup.service 끄기