开机启动慢,看了看确实有点慢,一看网上有大佬遇到过了 ,加强一下记忆就做个笔记把,将来肯定还会遇到。
systemd-analyze blame就是显示开机启动项的时间, 从最慢依次列出。
正常的如上速度还行就不管了,下面这个就过分了5分半的启动等待时间必须解决
sudo systemctl disable networking.service
但是,后来的使用中,我又发现一个拖慢系统的启动项,叫 plymouth-quit-wait.service。这次用 disable 却不能将其彻底禁用。还有就是重启后就又要等待了。
只能用 mask 来禁用,也就是:
mask 这个 systemctl 命令的选项参数是比 disable 更强力的,可以用 man systemctl 来查看。
首先是 disable 的解释:
先让我安装一下man手册
sudo unminimize
[sudo] password for nvidia:
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.This script restores content and packages that are found on a default
Ubuntu server system in order to make this system more suitable for
interactive use.Reinstallation of packages may fail due to changes to the system
configuration, the presence of third-party packages, or for other
reasons.This operation may take some time.
Would you like to continue? [y/N] y
apt-get install manpages-zh
vi /etc/manpath.config
:1,$s#/usr/share/man#/usr/share/man/zh_CN#g
以上3行命令即可搞定。
第一个命令:下载man帮助的中文包
第二个命令:用vi编辑man的配置文件
第三个命令:将所有的/usr/share/man替换为/usr/share/man/zh_CN,
:1,$s#/usr/share/man#/usr/share/man/zh_CN#g
说明:
1.在用 vi 命令编辑文件,使用命令前先按:键,然后输入命令1,$s#/usr/share/man#/usr/share/man/zh_CN#g,回车即可
2.替换第 1 行开始到最后一行中所有的 /usr/share/man 为 /usr/share/man/zh_CN
enable NAME..., enable PATH...
启用指定的单元或单元实例(多数时候相当于将这些单元设为"开机时自动启动"或"插入某个硬件时自动启动")。 这将会按照单元文件中 "[Install]" 小节的指示, 在例如
/etc/systemd/system/multi-user.target.wants/ 这样的目录中,创建指向单元文件自身的软链接。 创建完软连接之后,systemd 将会自动重新加载自身的配置(相当于执行 daemon-reload 命
令),以确保所做的变更立即生效。 注意,除非同时使用了 --now 选项(相当于同时执行 start 命令), 否则启用一个单元并不会导致该单元被启动。 注意,对于形如 foo@bar.service 这样
的单元实例, 软链接自身的文件名是实例化之后的单元名称, 但是软连接所指向的目标文件则是该单元的模板文件。如果此命令的参数是一个有效的单元名称(NAME),那么将自动搜索所有单元目录。 如果此命令的参数是一个单元文件的绝对路径(PATH),那么将直接使用指定的单元文件。 如果参数是一个位于
标准单元目录之外的单元文件, 那么将会在标准单元目录中额外创建一个指向此单元文件的软连接, 以确保该单元文件能够被 start 之类的命令找到。除非使用了 --quiet 选项, 否则此命令还会显示对文件系统所执行的操作(Created symlink ...)。
此命令是维护 .{wants,requires}/ 目录与单元别名的首选方法。 注意,此命令仅会按照单元文件中 "[Install]" 小节预设的名称创建软链接。 另一方面,系统管理员亦可手动创建所需的软
链接, 特别是在需要创建不同于默认软链接名称的时候。 不过需要注意的是,系统管理员必须在创建完软连接之后手动执行 daemon-reload 命令, 以确保所做的变更立即生效。不要将此命令与 start 命令混淆,它们是相互独立的命令: 可以启动一个尚未启用的单元,也可以启用一个尚未启动的单元。 enable 命令只是设置了单元的启动钩子(通过创建软链接), 例
如在系统启动时或者某个硬件插入时,自动启动某个单元。 而 start 命令则是具体执行单元的启动操作, 例如对于服务单元来说就是启动守护进程,而对于套接字单元来说则是绑定套接
字,等等。若与 --user 选项连用,则表示变更仅作用于用户实例,否则默认作用于系统实例(相当于使用 --system 选项)。 若与 --runtime 选项连用,则表示仅作临时性变更(重启后所有变更都将丢
失),否则默认为永久性变更。 若与 --global 选项连用,则表示变更作用于所有用户(在全局用户单元目录上操作),否则默认仅作用于当前用户(在私有用户单元目录上操作)。 注意,当与
--runtime 选项连用时,systemd 守护进程不会重新加载自身的配置。不可将此命令应用于已被 mask 命令屏蔽的单元,否则将会导致错误。
disable NAME...
停用指定的单元或单元实例(多数时候相当于撤销这些单元的"开机时自动启动"以及"插入某个硬件时自动启动")。 这将会从单元目录中删除所有指向单元自身及所有支持单元的软链接。 这相当
于撤销 enable 或 link 命令所做的操作。 注意,此命令会删除所有指向单元自身及所有支持单元的软链接, 包括手动创建的软连接以及通过 enable 与 link 命令创建的软连接。 注意,虽
然 disable 与 enable 是一对相反的命令,但是它们的效果并不一定总是完全对称的。 因为 disable 删除的软连接数量有可能比上一次 enable 命令创建的软连接数量更多。此命令的参数仅能接受单元的名字,而不能接受单元文件的路径。
除了停用参数中明确指定的单元之外,那些在被停用单元 "[Install]" 小节的 Also= 选项中列出的所有单元,也同样会被停用。 也就是说,这个停用动作是沿着 Also= 选项不断传递的。
删除完软连接之后, systemd 将会自动重新加载自身的配置(相当于执行 daemon-reload 命令),以确保所做的变更立即生效。 注意,除非同时使用了 --now 选项(相当于同时执行 stop 命
令), 否则停用一个单元并不会导致该单元被停止。除非使用了 --quiet 选项, 否则此命令还会显示对文件系统所执行的操作(Removed symlink ...)。
有关 --system, --user, --runtime, --global 选项的影响,参见上面对 enable 命令的解释。
mask NAME...
屏蔽指定的单元或单元实例。 也就是在单元目录中创建指向 /dev/null 的同名符号连接,从而在根本上确保无法启动这些单元。 这比 disable 命令更彻底,可以通杀一切启动方法(包括手动
启动),所以应该谨慎使用该命令。 若与 --runtime 选项连用,则表示仅作临时性屏蔽(重启后屏蔽将失效),否则默认为永久性屏蔽。 除非使用了 --now 选项(相当于同时执行 stop 命
令),否则仅屏蔽一个单元并不会导致该单元被停止。 此命令的参数仅能接受单元的名字,而不能接受单元文件的路径。
sudo systemctl mask networking.service
Created symlink from /etc/systemd/system/networking.service to /dev/null.
直接软链接到了 /dev/null 这个著名的「黑洞」中去了,找不到回家的路。
如此处理之后, 再次重启电脑:
sudo reboot
设备就不会启动慢了。