如果一个进程dpkg
正在运行,即安装包或其他任何东西,为什么我们不能并行执行另一个进程dpkg
,对于同样的进程apt-get
,或者我们可以?有没有可以并行安装包的工具? Windows 安装程序可以并行运行,为什么 Linux 不能并行运行?这背后的逻辑是什么,或者这只是一个设计失败?
答案1
dpkg
/apt
和rpm
/yum
使用在安装软件包时被锁定的数据库。这是故意的;这是为了避免可能的数据库损坏。这些数据库用于跟踪系统上已安装的软件包。
答案2
您不必安装 AppImages。只需使它们可执行并运行即可!
在运行 AppImage 之前,您需要使其可执行。这是 Linux 的一项安全功能。有三种主要方法可以使 AppImage 可执行:
1. 使用图形用户界面
- 打开文件管理器并浏览到 AppImage 的位置
- 右键单击 AppImage,然后单击“属性”条目
- 切换到权限选项卡并
- 如果您使用的是基于 Nautilus 的文件管理器(Files、Nemo、Caja),请单击“允许将文件作为程序执行”复选框;如果您使用的是 Dolphin,请单击“可执行”复选框,或者更改“执行”下拉菜单如果您使用 PCManFM,则列出“任何人”
- 关闭对话框
- 双击AppImage文件运行
2. 在命令行上
chmod a+x Some.AppImage
3. 自动使用可选的 appimaged 守护进程
如果您想让所有 AppImage 自动执行,您可以安装可选的appimaged
守护程序。它会自动将下载的 AppImage 添加到菜单中,并使它们可供您执行。可以从以下位置下载https://github.com/AppImage/AppImageKit/releases或从您的发行版安装。
答案3
基本apt
工具故意简单,这样就可以很容易地推断出它正在做什么,并且很难让自己(或您的系统)陷入糟糕的状态。这就是为什么它不像以前那样做包含依赖冲突解决程序之类的事情aptitude
。
是的,原则上,安装工具应该完全有可能预先检查所有候选包,并识别可以安全并行下载和解压的一组包 - 配置步骤仍然是一个差距,因为这是一个postinst
shell 脚本,而不是可以由机器推理的声明性内容(而不是仅仅通过调用它)。
答案4
您无法在 Windows (msi) 上运行多个安装程序,但大多数“安装程序”实际上就像脚本或应用程序映像。您可以在 dpkg 安装某些东西的同时安装 appimages