apt如何列出所有已经安装的软件包
apt如何列出所有已经安装的软件包
转 https://www.helplib.com/ubuntu/article_155294
问题:
我想将所有已安装软件包的列表输出到文本文件中,以便我可以查看它并在另一个系统上批量安装。 我该怎么做?
回答 1:
Ubuntu 14.04及更高版本上的apt工具使这很容易。
apt list --installed
旧版本
要获取在本地安装的软件包列表,请在你的终端中执行这里操作:
dpkg --get-selections | grep -v deinstall
( -v 标记"反转"grep返回不匹配行)
要获取安装的特定软件包的列表:
dpkg --get-selections | grep postgres
要将该列表保存到你的桌面上名为 packages的文本文件,请在你的终端中执行这里操作:
dpkg --get-selections | grep -v deinstall> ~/Desktop/packages
或者,只需使用
dpkg -l
( 你不需要将这些命令作为超级用户运行,所以不需要 sudo 或者它的他任何它的他变量)
回答 2:
要获得明确安装的软件包(不仅仅是作为依赖项安装),您可以运行
aptitude search '~i!~M'
这将包括一个简短的描述,你可能希望。 如果没有,还要添加选项-F '%p ',如karthick87所述。
然而,另一个选项似乎是复制文件 /var/lib/apt/extended_states,它是以这种格式的文本文件数据库:
Package: grub-common
Architecture: amd64
Auto-Installed: 0
Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1
Auto-Installed: 0 指示软件包已经明确安装,并且不只是一个依赖项。
回答 3:
创建当前安装的软件包的备份:
dpkg --get-selections> list.txt
然后从该列表中还原( 在另一个系统上):
dpkg --clear-selections
sudo dpkg --set-selections <list.txt
要删除过时的软件包:
sudo apt-get autoremove
要在备份时安装( 例如。 要安装由 dpkg --set-selections 设置的软件包):
sudo apt-get dselect-upgrade
回答 4:
要通过apt命令列出有意安装的所有软件包(而不是依赖项),请运行以下命令:
(zcat $(ls -tr/var/log/apt/history.log*.gz); cat/var/log/apt/history.log) 2>/dev/null |
egrep '^(Start-Date:|Commandline:)' |
grep -v aptdaemon |
egrep '^Commandline:'
这提供了基于时间的反向视图,其中列出了较早的命令:
Commandline: apt-get install k3b
Commandline: apt-get install jhead
...
安装数据也显示一样使用,但没有详细信息(与安装日期相同):
(zcat $(ls -tr/var/log/apt/history.log*.gz); cat/var/log/apt/history.log) 2>/dev/null |
egrep '^(Start-Date:|Commandline:)' |
grep -v aptdaemon |
egrep -B1 '^Commandline:'
提供以下内容:
Start-Date: 2012-09-23 14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23 15:02:51
Commandline: apt-get install sysstat
...
回答 5:
apt-mark showmanual
手册状态:
将打印手动安装的软件包列表
因此,它应该只提供显式安装的软件包列表(尽管这包括作为默认初始安装的一部分的软件包),但由于安装了这些软件包,因此不包含所有依赖项。
要将结果输出到文本文件中:
apt-mark showmanual> list-installed.txt
回答 6:
dpkg-query ( 代替 dpkg --get-selections,它列出了一些未安装的包) 如下:
dpkg-query -W -f='${PackageSpec} ${Status}n' | grep installed | sort -u | cut -f1 -d> installed-pkgs
或者:
dpkg -l | grep ^ii | sed 's_ _t_g' | cut -f 2> installed-pkgs
回答 7:
列出所有已经安装的软件包,
dpkg -l |awk '/^[hi]i/{print $2}'> 1.txt
或者
aptitude search -F '%p' '~i'> 1.txt
或者
dpkg --get-selections> 1.txt
备注:
你将在主文件夹中获得 1. txt 文件,或者你可以指定自己的路径。
回答 8:
你可以使用Synaptic保存已经安装软件包的当前状态。 在Synaptic中,选择“file / save markings ”,输入要保存状态的文件的名称,并确保检查“保存完整状态,而不仅仅是更改”框。
可以使用Synaptic中的“file / read markings ”将从此保存的文件加载到新计算机中。
回答 9:
我建议使用blueprint 虽然它是为服务器设计的,但也可以从桌面中使用。 它将创建一个 shell script/chef/puppet,你可以使用它来安装所有软件包。
回答 10:
您想在12.04重新安装软件包,对吧?
如果是这样就很容易。 你需要一个“Ubuntu Single Sign On帐户。”(在重新安装之前创建它以便系统同步。)
转到软件中心,在“文件”菜单下查找“计算机之间的同步... ”选项。
点击它,你会看到你的电脑注册和你电脑上所有应用的列表。
安装新计算机时,计算机将被视为新计算机。
你只需要登录你的Ubuntu帐户,你以前的电脑就会显示出来。
点击它,你会得到所有应用的列表。 在要安装的应用程序上选择"安装"。
apt如何列出所有已经安装的软件包的更多相关文章
- 列出 Ubuntu 和 Debian 上已安装的软件包
列出 Ubuntu 和 Debian 上已安装的软件包 如果你经常用 apt 命令,你可能觉得会有个命令像 apt 一样可以列出已安装的软件包.不算全错. apt-get 命令 没有类似列出已安装软件 ...
- Linux 使用 yum 查看安装的软件包
Linux系统下yum命令查看安装了哪些软件包: $yum list installed //列出所有已安装的软件包 yum针对软件包操作常用命令: 1.使用YUM查找软件包 命令:yum searc ...
- linux系统软件安装及软件包管理
软件包管理 1 RPM软件包管理 1.1 RPM软件包简介: RPM(Red Hat Package Manager,Red Hat软件包管理器)是一种开放的软件包管理系统,按照GPL条款发行,可 ...
- pacman 命令(安装所有软件包)
MSYS2 中pacman安装所有软件包命令: pacman -Sl | awk '{cmd="pacman -S --needed --noconfirm "$2;system( ...
- centos 7.0最小化安装 查看yum 所有安装的软件包~
使用命令 yum list installed [root@localhost ~]# yum list installed 已加载插件:fastestmirror base | 3.6 kB 00: ...
- Linux 下安装python软件包(pip、nose、virtualenv、distribute )
新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...
- 路由器安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错误。向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/syslog或查看第四虚拟控制台以获得详细
公司的路由器要ubuntu服务器进行路由网络功能的管理,在安装的时候出现下面的错误提示: 安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错 ...
- 如何在Linux中轻松删除源安装的软件包?
第1步:安装Stow 在这个例子中,我们使用的是CentOS,因此我们需要扩展的EPEL库.您可以使用以下命令安装它们:yum install epel-release然后,下面这段命令:yum in ...
- blfs(systemd版本)学习笔记-安装lrzsz软件包实现ssh远程传输文件到lfs系统
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 安装lrzsz软件包实现ssh远程传输文件到lfs系统 这个软件包在lfs系列的书中没有,这里是参照lrzsz官网的说明进行编译 ...
随机推荐
- h5 移动端开发自适应 meta name="viewport"的使用总结
本文系个人理解,可能有误差,仅供参考,谨慎采纳! 布局视口: 系统自带 一般大于屏幕宽度 理想宽度: 设置页面的viewport 的一个宽度,使不同的手机的布局视口宽度尽量接近可视窗口的值: 可视视 ...
- 使用 Xtrabackup 在线对MySQL做主从复制
1. 说明 1.1 xtrabackup mysqldump对于导出10G以下的数据库或几个表,还是适用的,而且更快捷.一旦数据量达到100-500G,无论是对原库的压力还是导出的性能,mysqldu ...
- 机器学习(十)—聚类算法(KNN、Kmeans、密度聚类、层次聚类)
聚类算法 任务:将数据集中的样本划分成若干个通常不相交的子集,对特征空间的一种划分. 性能度量:类内相似度高,类间相似度低.两大类:1.有参考标签,外部指标:2.无参照,内部指标. 距离计算:非负性, ...
- Java&Selenium数据驱动【DataProvider+TestNG+Excel】
Java&Selenium数据驱动[DataProvider+TestNG+Excel] package testNGWithDataDriven; import java.io.File; ...
- Python中正则匹配使用findall,捕获分组(xxx)和非捕获分组(?:xxx)的差异
转自:https://blog.csdn.net/qq_42739440/article/details/81117919 下面是我在用findall匹配字符串时遇到的一个坑,分享出来供大家跳坑. 例 ...
- python redis分布式锁改进
0X01 python redis分布式锁通用方法 REDIS分布式锁实现的方式:SETNX + GETSET 使用Redis SETNX 命令实现分布式锁 python 版本实现上述思路(案例1) ...
- 使用Eclipse进行远程调试(转)
做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了.博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试).说来惭愧,博主也是工作了3年才用 ...
- System.Web.HttpRequestValidationException: 从客户端(name="<a href=''>我是晓菜鸟</a>")中检测到有潜在危险的 Request.Form 值
这是一个比较常见的问题了,如果Web表单中有输入类似于 Html 标签之类的文本,在通过 Request.QueryString 或者 Request.Form 传递这些值的时候,就会触发这样的异常, ...
- 24、自动装配-@Profile环境搭建
24.自动装配-@Profile环境搭建 Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能. 开发环境.测试环境.正式环境 数据源切换 24.1 添加 数据源和jdbc驱动 ...
- Activiti服务类- ManagementService服务类
一共含有17个方法 // 获取包含了Activiti数据库模式的{表名.行计数}项的映射.Map<String, Long> getTableCount();//获取诸如任务.执行之类的A ...