snd-aloop
我使用的是 arch linux,一年来一直在使用它创建虚拟音频设备,没有出现任何问题。4.18.3
但是,自从昨天系统升级到新的 Linux 内核 () 后,该模块似乎不再存在:
$ sudo modprobe snd-aloop
modprobe: FATAL: Module snd-aloop not found in directory /lib/modules/4.18.3-arch1-1-ARCH
$ sudo modprobe snd_aloop
modprobe: FATAL: Module snd_aloop not found in directory /lib/modules/4.18.3-arch1-1-ARCH
$ modinfo snd-aloop
modinfo: ERROR: Module alias snd-aloop not found.
$ modinfo snd_aloop
modinfo: ERROR: Module alias snd_aloop not found.
我已经尝试alsactl restore -P
过这建议,但它并没有改变任何事情。
我不想使用 pulseaudio,module-null-sink
因为它会消耗更多的 CPU 电量。
该snd-aloop
模块是否已被弃用并被删除,还是我只是错过了其他内容?我尝试谷歌搜索"snd-aloop"
并设置时间范围last month
,但 8 个结果与我的问题无关,也没有任何迹象表明该模块已被删除。
答案1
我刚刚写完问题才发现原因。希望它能帮助别人:
虽然uname -a
告诉我我使用的内核是4.18.3
- 但实际上我已升级到4.18.5
。我通过运行以下命令发现了这一点:
$ ls /lib/modules
4.18.5-arch1-1-ARCH extramodules-ARCH
文件夹前缀4.18.5
显示新内核版本是4.18.5
,但直到重新启动后才会生效,这就是为什么modprobe
在一个不再存在的文件夹中寻找内核模块的原因。
重新启动解决了该问题。
答案2
近 10 年的经验告诉我,大多数 Linux 用户最终都会明白的一件事:-
Linux 中很少有系统“操作”需要重新启动才能执行(Windows 似乎对所有操作都这样做)。内核升级(或任何与内核相关的操作)是相对较少的需要重新启动的操作之一。
哦,当然还有另外一个:你必须非常精确地了解你要求系统做什么!