如果你最近做过恰当的升级在你的 覆盆子π你可能已经注意到屏幕上滚动着一行字,上面写着“rpikernelhack”,吓到你了!什么是rpikernelhack,为什么它运行在你的 覆盆子π??

理解rpikernelhack

当开发商 覆盆子π在设计设备及其操作系统时,决定在设备上使用FAT32文件系统。开机时,系统寻找一个名为boot的FAT32文件系统。这是内置在固件的 覆盆子π这是无法改变的。

当Debian包开发人员开始为RPi创建包时,这给他们带来了一些重大问题。Debian包管理器(dpkg)能够正确地将新文件放到FAT32分区上(尽管在某些情况下它会抛出一些警告错误,这些错误大部分是良性的)。然而,当dpkg试图更新文件时,它会惨败。这是因为FAT32不像其他Linux文件系统那样支持文件系统上的硬链接。Dpkg将尝试在升级过程中创建文件的备份,其中包括创建到这些文件的硬链接。一个大的活动扳手!

相关:50+ Rasbperry Pi项目

那么rpikernelhack是什么呢?

rpikernelhack就是它的名字。这是一种解决最初由开发者造成的FAT32问题的方法彼得绿色

Peter的解决方案是使用Debian包管理器提供的“转移”特性。或者就像他喜欢说的那样,他“滥用了这个功能”。转移最初的目的是允许文件被“转移”,以便它们可以被本地修改的版本或来自另一个包的版本所取代。这是包安装程序的一个重要特性。

然而,彼得可以用一种更鬼鬼祟祟的方式来使用它。他发现他可以使用转移来允许dpkg在分区上安装文件文件,然后在安装(或转移)过程结束时将他的文件移动到最终位置!辉煌!

要使用转移,必须指定local或指定特定的包名。如果指定一个特定的包,转移过程将影响所有包所拥有的文件但不是你指定的那个.因此包名为rpikernelhack

因此,从根本上说,rpikernelhack只不过是一个假的包名,允许开发人员和Debian包管理器绕过FAT32文件系统的限制,安装包而不会崩溃。

rpikernelhack是什么?现在你知道了!如果你有任何问题,请在下面的评论中提问,我们会尽力为你解答!