Anw*_*war 4 package-management dpkg
我做了一个dpkg --clear-selections命令,发现我所有的包都被选中进行删除。正如手册页所说
--clear-selections :将每个非必要软件包的请求状态设置为卸载。
后来我知道,如果我这样做,sudo apt-get dselect-upgrade所有的包都会被删除。
我在 Ask Ubuntu 中检查了这个问题,并阅读了dpkg -l命令中每个不同标志的含义。那里说,第一列显示“所需的包装状态”或选择状态,第二列显示“当前状态”。
因为,我现在没有依赖问题,我想将我的选择状态设置为dpkg 数据库中的所需状态。我怎样才能做到这一点?
由于输出dpkg -l量大,我没有给出输出。输出是所有ri列。
此外,当我执行命令时sudo apt-get dselect-upgrade,它给了我这条消息,
…………………………………………………………………………………………………………………………………………………………………………………………………… 警告:以下基本包将被删除。 除非您确切地知道自己在做什么,否则不应该这样做! apt ubuntu-keyring (由于 apt) libapt-pkg4.12 (由于 apt) libstdc++6 (由于 到 apt) gnupg (由于 apt) 基本文件 bash 4 升级,0 新安装,1764 删除,1 未升级。 需要获得 0 B/1,359 kB 的档案。 此操作后,将释放 3,078 MB 磁盘空间。 你即将做一些可能有害的事情。 要继续输入短语“是的,按我说的做!” ?]
有没有办法将包选择状态重置为当前安装状态?
小智 12
试试这个命令来改变包状态 -
echo "<package-name> <status>" | sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
假设您已将包的状态设置zip为deinstall. 要回滚到原始状态,请install运行此命令-
echo "zip install" | sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
要一次更改更多包,请使用此命令
dpkg --get-selections | sed -n 's/\<<current-status>$/<status>/p' | sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
例如,要更改状态为 deinstall 的所有软件包以进行安装,请使用 -
dpkg --get-selections | sed -n 's/\<deinstall$/install/p' | sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13543 次 |
| 最近记录: |