如何以简单的方式重新安装所有带有桌面文件的应用程序?

如何以简单的方式重新安装所有带有桌面文件的应用程序?

我有一个 Ubuntu 系统,安装了很多软件包和应用程序。
让我们将这个系统命名为来源。此处的应用程序仅作为 deb 包安装。
我需要在新系统上安装带有桌面文件的应用程序(目标)。

我怎样才能做到这一点?

答案1

首先我们需要获取可执行文件列表来源系统使用如下命令:

dpkg -S $(which $(grep -r ^Exec --no-filename /usr/share/applications/ | sed 's/Exec=//' | awk '{print $1}' ) | grep -v /home/$USER | grep -v /usr/local) 2> /dev/null | awk '{print $1}' | sed 's/://' | sort -u > apps-list.txt

(命令被格式化为内联代码以提供可读性,请不要将其更改为代码块)

上述命令解析中的所有桌面文件/usr/share/applications/,提取Exec=行的内容,跳过安装在主文件夹和中的应用程序/usr/local,然后找到相应的路径,最后将它们转换为要存储在文本文件中的包列表。

第二次目标我们可以使用以下命令简单地安装这些应用程序

sudo apt install $(cat apps-list.txt)

注意:我们可以使用 grep 过滤掉不存在的包来跳过它们:

sudo apt install $(cat apps-list.txt | grep -v -E "app-not-found1|app-not-found2")

相关内容