有时一个包坏了,需要从头开始重新安装。我可以使用apt-get purge后跟apt-get install,但是我必须注意是否卸载了任何依赖包并记住重新安装它们。
是否有命令可以清除并重新安装处理依赖项的包?如果一个包依赖于被重新安装的那个包,那么该包要么留在原地,要么也应该重新安装。
mur*_*uru 12
这是不可取的,但您可以削弱apt并直接转到dpkg.
例如,取postfix和postfix-dev:
$ sudo apt-get purge postfix
Reading package lists... Done
Building dependency tree
Reading state information... Done.
The following packages will be REMOVED:
postfix* postfix-dev*
0 upgraded, 0 newly installed, 2 to remove and 99 not upgraded.
After this operation, 4449 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
Run Code Online (Sandbox Code Playgroud)
现在我们使用dpkg清除postfix而不删除依赖项:
$ sudo dpkg --purge --force-depends postfix
dpkg: postfix: dependency problems, but removing anyway as you requested:
postfix-dev depends on postfix (>= 3.1.0-0).
postfix-dev depends on postfix (<< 3.1.0.0-0).
postfix-dev depends on postfix (>= 3.1.0-0).
postfix-dev depends on postfix (<< 3.1.0.0-0).
(Reading database ... 293223 files and directories currently installed.)
Removing postfix (3.1.0-3) ...
Purging configuration files for postfix (3.1.0-3) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Processing triggers for man-db (2.7.5-1) ...
Run Code Online (Sandbox Code Playgroud)
现在重新安装postfix:
$ sudo apt-get install postfix
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre sasl2-bin dovecot-common postfix-cdb postfix-doc
The following NEW packages will be installed:
postfix
0 upgraded, 1 newly installed, 0 to remove and 99 not upgraded.
Need to get 0 B/1152 kB of archives.
After this operation, 3697 kB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package postfix.
(Reading database ... 293035 files and directories currently installed.)
Preparing to unpack .../postfix_3.1.0-3_amd64.deb ...
Unpacking postfix (3.1.0-3) ...
...
Run Code Online (Sandbox Code Playgroud)