# 1.systemd-udevd.service启动失败
- 问题
Ubuntu下执行sudo apt-get upgrade
时包报错,
systemd-udevd.service - idev Kernel Device Mangaer
Loaded: error(Reason: Exec format error)
Active: inactivate(dead)
Docs: man:systemd-udevd.service(8)
man:udev(7)
/lib/systemd/system/systemd-udevd.service:26: Executable path is not absolute: udevadm control --rel
解决
从报错信息来看,udevadm
的可执行文件应该使用绝对路径,打开/lib/systemd/system/systemd-udevd.service
文件,可以看到udevadm
可执行文件确实使用的是相对路径,使用which udevadm
查找udevadm
的绝对路径,修改/lib/systemd/system/systemd-udevd.service
文件的第26
行
# 可以看到第26行执行了可执行文件udevadm
sudo vi /lib/systemd/system/systemd-udevd.service
# 查找udevadm的绝对路径,/bin/udevadm
which udevadm
# 改为`/bin/udevadm`
/bin/udevadm
重新启动udevadm
服务即可,同样其他的Executable path is not absolute
报错也可通过这种方式解决
- 补充
udev
为当前 Linux 默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的 uevent 来管理 /dev目录下的设备文件。不像之前的设备管理工具,udev 在用户空间 (user space) 运行,而不在内核空间 (kernel space) 运行。
# 2.Linuxapt-get upgrade
时提示有n个软件未被升级
- 问题:
apt-get upgrade
没有解决软件包之间的依赖问题
- 解决:
使用apt-get dist-upgrade
- 补充
apt-get update
是下载源里面的metadata的. 包括这个源有什么包, 每个包什么版本之类的upgrade
是根据update
命令下载的metadata
决定要更新什么包(同时获取每个包的位置),系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.dist-upgrade
:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级)
# 3.Linux
安装新内核
- 背景
安装指定版本的内核
- 方法
在https://kernel.ubuntu.com/~kernel-ppa/mainline/ (opens new window)网站找到对应的内核版本,选择自己CPU
架构对应的安装包,选择如下四个文件下载
:
下载完成后执行:
sudo dpkg -i *.deb
- 补充
常见的x86_64
,amd64
,i386
,i686
,i686
,x86
,armv7
,aarch64
,ppc64le
分别表示:
← Linux软件管理与PPA 系统引导项修复 →