Par*_*rag 70 package-management
最近,我需要获取安装在我的 Ubuntu 系统上的软件包列表,这些软件包也被搁置以进行升级。
包的“保留”状态意味着当操作系统升级时,安装程序也不会升级这些包,除非在选项中明确说明。
我正在寻找命令行解决方案,但我知道这也可能从 GUI 中实现。
hee*_*ayl 88
您可以使用apt-mark:
apt-mark showhold
Run Code Online (Sandbox Code Playgroud)
这将显示保持在“保持”状态的包,以便 pacakge 管理器不会自动升级包。
来自man apt-mark:
showhold
showhold is used to print a list of packages on hold
Run Code Online (Sandbox Code Playgroud)
Par*_*rag 20
使用 dpkg
dpkg -l | grep "^hi"
Run Code Online (Sandbox Code Playgroud)
该-l办法列出所有的包被,然后用管道输送到grep的。
正则表达式"^hi"意味着搜索所有以“hi”开头的行,这些行是“hold”和“installed”的首字母。
默认情况下,dpkg -l将列出状态、包名称、版本、架构和简短描述。
作为替代方案,您还可以使用dpkg --get-selections:
dpkg --get-selections | grep "\<hold$"
Run Code Online (Sandbox Code Playgroud)
dpkg --get-selections列出所有已安装软件包的状态,并且grep "\<hold$"仅显示以单词“hold”结尾的行。
也许也很有趣,如果您正在寻找违规行为 - 特别是如果上面没有显示任何内容(有用),那么
dpkg --get-selections | grep --invert-match "\<install$"
Run Code Online (Sandbox Code Playgroud)
这显示了所有未安装的行/包。
| 归档时间: |
|
| 查看次数: |
56654 次 |
| 最近记录: |