dpkg -S stdio.h
rpm -q --whatprovides /usr/lib/libavcodec.so.52
rpm -qf file
rpm -qf `which your_cmd`, rpm -qf `locate file_name`
查看指定rpm包安装的详细信息
rpm -qi rpm_name
列出已经安装的rpm包中包含了哪些文件及他们的安装路径
rpm -ql installed_rpm_name:。如rpm -ql iptraf
有几种方式来指定查询软件包时所显示的信息。 以下选项可通过读取rpm包头部的办法显示rpm包的信息,这样的选项被称作“信息选择选项”:
-i 显示软件包信息,如描述、发行号、大小、编译日期、安装日期、硬件平台、以及其它一些各类信息。
-l 列出软件包中包含的文件。(列出已经安装的rpm包中包含了哪些文件及他们的安装路径)
-s 显示软件包中所有文件的状态。
-d 列出被标注为文档的文件 (如,man 手册、 info 信息、README,等等) 。
-c 列出被标注为配置文件的文件。这些文件是需要在安装完毕后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。
“按需”安装软件包
# auto-apt run ./configure 自动安装缺少的软件包
auto-apt update,auto-apt updatedb和 auto-apt update-local来完成更新。
下载源码包编译
apt-get source packagename 仅下载
apt-get -b source packagename 下载编译
通常会下载三个文件:一个.orig.tar.gz、一个.dsc和一个.diff.gz。对于Debian专用的软件包,不会下载最后一个文件,第一个文件的文 件名中没有“orig”项。 dpkg-source通过.dsc文件中的信息,将源码包解包到 packagename-version目录,下载下来的源码包中有一个 debian/目录,里面是创建.deb包所需的文件。想要下载的源码包自动编译成软件包,只需在命令行中加上-b
如果你不打算在下载后就立刻创建.deb文件,你可以在之后用下面的命令创建:
$ dpkg-buildpackage -rfakeroot -uc -b上述命令应当在下载后为软件包创建的目录中执行。要安装用这种方式构建好的 软件包,只能直接使用软件包管理器,例如:
# dpkg -i file.deb
编译源码包所需的软件包
通常,编译源码包时要用到某些头文件和共享库,所有的源码包的控制文件中都 有一个域“Build-Depends:”,域中指出了编译该源码包需要哪些附加包。
APT提供了一个简单的方法下载这些附加包,你只需运行apt-get build-dep package,其中“package”就是你打算编译的源码包 名称。见下例:
# apt-get build-dep gmc Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev libgpmg1-dev 0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded. Need to get 1069kB of archives. After unpacking 3514kB will be used. Do you want to continue? [Y/n]这些将要被安装的包是用于正确编译
gmc
的。注意这个命令不 能用来搜索某个软件的源码包,你得另外运行apt-get source下载源码包。如果你想做的是检查要编译一个软件包需要哪些其它的软件包,apt-cache show可以显示它(从那考获取软件包信息, 第 5 章,在众多信息之中,Build-Depends一行会列出那些需要的软件包。
# apt-cache showsrc package
发现该软件包既不能重装又不能删除,试试下 面两个命令:
# apt-get -f install # dpkg --configure -a当RPM安装好后,因为某些原因损坏了,或者在删除某些软件时候因为依赖性的关系,
被删除了一部分,在使用的时候或者安装其他软件的时候,
提示依赖性不能被解决。那么就需要重新安装,
但是安装的时候提示你已经安装过了。
这个时候就需要重新安装,或者强制安装。
命令如下: # rpm -ivh --force 名称.rpm
# rpm -ivh --force(这里必须是两个-,不是一个) --nodeps 名称.rpm
rpm
-e --force --nodeps XXXXXXXX 删除 以 snow-1.1.rpm 为例 #rpm -ivh snow-1.1.rpm { i:安装、v:详细信息、h:用#表示进度 } #rpm -e snow { 删除 } #rpm -ivh --force snow-1.1.rpm { 强制重装 } #rpm -e --nodeps snow { 去除内部相关性检查删除 snow, 不推荐使用} #rpm -Uvh snow {升级 } #rpm -q snow { 查询 } #rpm -ql snow { 查询 snow所拥有的文件 } #rpm -qlc snow { 查询snow的文档文件 } #rpm -qld snow { 查询snow的配置文件 } #rpm -qp snow-1.1.rpm { 查询文件,但不查询数据库 } #rpm -qa { 查询所有以安装的软件包 } #rpm -qf /usr/X11R6/bin/snow { 查询包的所有者 } #rpm -qR snow-1.1.rpm { 查询 snow包期望系统具有的情况 } #rpm --checksig snow-1.1.rpm { 验证完整性签名 } #rpm -V snow { 验证安装后是否被修改过 } apt-file是一个软件包查找工具,可以查到软件包所含的文件和安装的位置。
|
下面是它的一些命令解释:
1)安装软件
命令行:dpkg -i <.deb file name>
示例:dpkg -i avg71flm_r28-1_i386.deb
2)安装一个目录下面所有的软件包
命令行:dpkg -R
示例:dpkg -R /usr/local/src
3)释放软件包,但是不进行配置
命令行:dpkg –unpack package_file 如果和-R一起使用,参数可以是一个目录
示例:dpkg –unpack avg71flm_r28-1_i386.deb
4)重新配置和释放软件包
命令行:dpkg –configure package_file
如果和-a一起使用,将配置所有没有配置的软件包
示例:dpkg –configure avg71flm_r28-1_i386.deb
5)删除软件包(保留其配置信息)
命令行:dpkg -r
示例:dpkg -r avg71flm
6)替代软件包的信息
命令行:dpkg –update-avail <Packages-file>
7)合并软件包信息
dpkg –merge-avail <Packages-file>
8)从软件包里面读取软件的信息
命令行:dpkg -A package_file
9)删除一个包(包括配置信息)
命令行:dpkg -P
10)丢失所有的Uninstall的软件包信息
命令行:dpkg –forget-old-unavail
11)删除软件包的Avaliable信息
命令行:dpkg –clear-avail
12)查找只有部分安装的软件包信息
命令行:dpkg -C
13)比较同一个包的不同版本之间的差别
命令行:dpkg –compare-versions ver1 op ver2
14)显示帮助信息
命令行:dpkg –help
15)显示dpkg的Licence
命令行:dpkg –licence (or) dpkg –license
16)显示dpkg的版本号
命令行:dpkg –version
17)建立一个deb文件
命令行:dpkg -b direc×y [filename]
18)显示一个Deb文件的目录
命令行:dpkg -c filename
19)显示一个Deb的说明
命令行:dpkg -I filename [control-file]
20)搜索Deb包
命令行:dpkg -l package-name-pattern
示例:dpkg -I vim
21)显示所有已经安装的Deb包,同时显示版本号以及简短说明
命令行:dpkg -l
22)报告指定包的状态信息
命令行:dpkg -s package-name
示例:dpkg -s ssh
23)显示一个包安装到系统里面的文件目录信息
命令行:dpkg -L package-Name
示例:dpkg -L apache2
24)搜索指定包里面的文件(模糊查询)
命令行:dpkg -S filename-search-pattern
25)显示包的具体信息
命令行:dpkg -p package-name
示例:dpkg -p cacti
最后:
1、很多人抱怨用了Ubuntu或者Debian以后,不知道自己的软件给安装到什么地方了。其实可以用上面的dpkg -L命令来方便的查找。看来基础还是非常重要的,图形界面并不能够包办一切。
2、有的时候,用“新力得”下载完成以后,没有配置,系统会提示用“dpkg –configure -all”来配置,具体为什么也可以从上面看到。
3、现在Edgy里面可以看到Deb的信息。不过是在没有安装的时候(当然也可以重新打开那个包),可以看到Deb的文件路径。
4、如果想暂时删除程序以后再安装,第5项还是比较实用的,毕竟在Linux下面配置一个软件也并非容易。