如果我从 kernel.org 编译最新的内核,制作一个 deb 包并将其安装在我的 Debian 系统上,我是否应该担心 libc(和任何其他库?)和内核不同步?
我模糊地理解内核开发人员努力不破坏暴露给用户空间的 API/ABI,但我想偶尔会发生中断,至少出于某些合法原因?如果是这样,是否有地方记录工作 libc 版本与内核版本的映射?
我试图了解 APT 是如何工作的,这就是我陷入困境的地方 - 谁决定在第一天安装哪些软件包?
似乎规则之一是,基于系统的当前快照,apt upgrade将安装最多Recommended已安装包的依赖项。因此,从最小的“核心”包和一些“更高级别”的包中,apt upgrade/dist-upgrade应该能够增长并填补空白。
问题是:
Standard。这是否定义了标准列表?)Recommended软件包?Standard优先级的包被添加到包含在我的 sources.list 文件中的存储库中。下次我运行时,该软件包会安装在我的盒子上apt update && apt upgrade吗?我已经卸载了软件包unattended-upgrades(debian Bullseye),但这只是停止了upgrade部分,而不是update部分:当我运行时apt list --upgradable,没有sudo apt update,我仍然可以不时看到新的可升级包。到底是怎么回事?
我正在对某些内核源代码进行 gpg 验证,并试图找出 gpg 配置文件所在的位置。具体来说,当我在--receive-keys不提供密钥服务器的情况下运行时,gpg 会做什么?
me@testing:~$ gpg2 -vv --receive-keys 647F28654894E3BD457199BE38DBBDC86092693E
gpg: data source: https://37.191.231.105:443
gpg: armor: BEGIN PGP PUBLIC KEY BLOCK
Run Code Online (Sandbox Code Playgroud)
然而这个 37.191.231.105 指向analytics.sumptuouscapital.com,这让我感到困惑......
顺便说一句,我试过了dpkg -L gnupg2,没有安装 .conf 文件,~/.gnupg文件夹中也没有 .conf 文件。
Linux 机器上的部分结果ps如下所示:
PPID PID PGID SID TTY TPGID STAT COMMAND
1 1138 1138 1138 ? -1 Ss /lib/systemd/systemd --user
1138 1466 1466 1466 ? -1 Ssl /usr/libexec/gsd-media-keys
1138 2218 1466 1466 ? -1 SLl /opt/google/chrome/chrome
1138 9142 1466 1466 ? -1 Sl nautilus
Run Code Online (Sandbox Code Playgroud)
我很好奇这个进程是什么gsd-media-keys,以及为什么一些(不是全部)基于 UI 的应用程序与它在同一进程组中运行。
我所知道的是,默认情况下,进程将文件描述符 0/1 设置为 stdin/stdout。但是vi等程序是怎么知道窗口大小的,尤其是在桌面环境下可以自由调整窗口大小的时候?我想不出这是如何通过信号发送的,所以我猜还有其他一些机制?。
我对终端模拟器一无所知,我想这可能与问题有关。任何指针都会有所帮助和赞赏。