我的 Linux Mint 15 坏了,而且似乎没有办法修复它。我无法启动它,所以我无法访问终端。我要做的是/home
使用运行 Mint 的闪存盘进行备份(完成)并重新安装 Mint ->恢复/home
,但我想获得已安装程序的列表,以便我可以重新安装它们。我知道:
dpkg --get-selections
存在,但这需要从系统内部运行该程序,我无法这样做,因为我无法启动它。
有没有办法从闪存盘获取列表或发送来自 Mint 的命令?
答案1
/var/log/dpkg.log*
您也可以只安装包含 root() 的分区/
并复制文件/var/log/dpkg.log*
。这些文件将包含系统上安装的所有应用程序。
只需 grep 浏览文件寻找单词“installed”:
$ grep " installed" dpkg.log*|tail -5
dpkg.log.1:2013-09-06 21:29:36 status installed libopenipmi0:amd64 2.0.18-0ubuntu4
dpkg.log.1:2013-09-06 21:29:36 status installed openipmi:amd64 2.0.18-0ubuntu4
dpkg.log.1:2013-09-06 21:29:36 status installed ipmitool:amd64 1.8.11-5ubuntu1
dpkg.log.1:2013-09-06 21:29:36 status installed ureadahead:amd64 0.100.0-12build1
dpkg.log.1:2013-09-06 21:29:37 status installed libc-bin:amd64 2.15-0ubuntu20
您可以将此输出过滤为实际的包名称+版本:
$ grep " installed" dpkg.log*|awk '{print $5, $6}'|head -5
man-db:amd64 2.6.3-1
ureadahead:amd64 0.100.0-12build1
bamfdaemon:amd64 0.3.4-0ubuntu1
desktop-file-utils:amd64 0.20-0.1ubuntu1
gnome-menus:amd64 3.6.0-0ubuntu1
dpkg .list 文件
您还可以获取文件列表.list
,即已安装的软件包的名称:
$ ls -l /var/lib/dpkg/info/*.list | head -5
-rw-r--r-- 1 root root 628 Oct 17 2012 /var/lib/dpkg/info/account-plugin-aim.list
-rw-r--r-- 1 root root 868 Oct 6 02:44 /var/lib/dpkg/info/account-plugin-facebook.list
-rw-r--r-- 1 root root 802 Oct 6 02:44 /var/lib/dpkg/info/account-plugin-flickr.list
-rw-r--r-- 1 root root 840 Oct 6 02:44 /var/lib/dpkg/info/account-plugin-google.list
-rw-r--r-- 1 root root 936 Oct 6 02:44 /var/lib/dpkg/info/account-plugin-icons.list
要显示所有已安装的应用程序,只需删除| head -5
显示前 5 个结果的应用程序即可。
答案2
我用 Ubuntu 13.10 分区对此进行了测试,但它应该同样适用于 Mint,
从闪存盘启动,挂载 Mint 分区,chroot 到它,然后运行命令。
例如(作为根):
mkdir /mnt/mint
mount /dev/sdXY /mnt/mint # where sdXY is the partition where you have Mint installed
chroot /mnt/mint
dpkg --get-selections
答案3
列出所有日志文件dpkg
:
ls /var/log/dpkg.log* -ltr
较旧的日志文件另存为.gz
两者都签入
grep " installed" /var/log/dpkg.log* | grep <pattern>
zgrep " installed" /var/log/dpkg.log* | grep <pattern>