如何查看正在运行的包管理器?

如何查看正在运行的包管理器?

我使用的是 Debian 6.0.5 (squeeze),时不时地我会在 GNOME2 面板的通知区域中看到以下图标:在此输入图像描述但是是黑色而不是红色。上面写着包管理器正在工作。通常它会在几秒钟后显示红色,即可用更新,所以我认为它只是在寻找更新。但有时情况并非如此。我没有自动安装更新的选项,所以可能不是这样,所以我想知道是否有办法查看哪个包管理器正在运行。

单击它只会打开 Synaptic 包管理器,但不会显示正在运行的内容。

答案1

“包管理器正在工作”意味着某些东西正在锁定/var/lib/dpkg/lockand/or/var /cache/apt/archives/lock。您可以使用以下命令找出这是哪个进程fuser

dennis@lightning:~$ sudo fuser /var/lib/dpkg/lock /var/cache/apt/archives/lock
/var/lib/dpkg/lock:  18049
/var/cache/apt/archives/lock: 18049
dennis@lightning:~$ cat /proc/18049/cmdline | sed -e 's/\x0/ /g'; echo
apt-get install kdenlive 

因为如果没有命令管道,任何答案都是不完整的:

cat /proc/$(sudo fuser /var/{lib/dpkg,cache/apt/archives}/lock  2>/dev/null| head -n1 | awk '{print $2}')/cmdline | sed -e 's/\x0/ /g'; echo

答案2

您可以打开终端并使用ps -Af或获取进程列表pstree -alp,其中 pstree 还显示进程之间的母子关系。这是对“X 现在正在运行的内容”的一般答案,至少如果它的运行时间超过几分之一秒的话。

我的猜测是,它正在更新软件包列表,它必须这样做才能判断是否有任何更新,并向您显示可用更新的数量。这并不意味着它会自动安装它们,只是告诉您应该检查是否手动安装。

当检查后确实有可用更新时,它将显示“可用更新”,而当没有可用更新时,它将不显示。如果不是这样,我也感兴趣:)

答案3

您可以在终端中运行以下命令来查找您正在使用哪个包管理器:

root # ps -aef |grep -i package

相关内容