如果我跑
apt upgrade
在一个终端中,为什么我不能运行
apt install chromium
在另一个直到
apt upgrade
已经完成了?
答案1
安装程序已被锁定,当 apt 锁打开时将拒绝运行。
这是为了确保安装后系统的完整性。您可以在系统默认apt
进程之外运行各种安装进程。使用系统apt
安装之外的其他安装方法将不会进行与正常系统安装相同的完整性检查。
系统apt
安装会检查系统上的库和存储库,并确保安装了所需的依赖项。如果在安装必需内容时库发生变化,则可能会影响完整性。
在安装过程中更新和检查的配置文件有很多细节,包括在安装过程中发生变化的实际已安装程序列表。
您可以在命令行上指定要安装的多个应用程序以节省时间。例如,Samba 共享的应用程序可以在一个apt
命令中指定:
$ sudo apt-get install samba cifs-utils
您还可以运行命令来检查正在使用锁的进程apt
,以便您知道一个进程何时完成并可以开始下一个进程。
$ sudo lsof /var/lib/dpkg/lock
如果您使用该watch
命令,您可以立即看到其他进程何时完成。
$ watch sudo lsof /var/lib/dpkg/lock
答案2
因为 apt 锁定缓存和软件包列表以防止另一个程序在它不知道的情况下进行更改而造成破坏。