这篇文章主要介绍ubuntu中apt-get的默认安装路径安装、卸载以及查看的方式总结,对于目前你搜索查找的问题还是具有挺好的参考价值,希望编程之家小编整理的这个内容对你们有所帮助。如有错误或未考虑完全的地方,望不吝讨教。
apt-get下载后,软件所在路径是哪些??
/var/cache/apt/archives
ubuntu默认的PATH为
PATH=/home/brightman/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
apt-getinstall安装目录是包的维护者确定的,不是用户
$dpkg-Lpackagename、
dpkg-L+软件包的名子,可以晓得这个软件鞋子含了什么文件,这个方式可以列举所有安装后留在系统里的文件
系统安装软件通常在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下等。
文档通常在/usr/share
可执行文件/usr/bin
配置文件/etc
lib文件/usr/lib
说明:因为图形化界面方式(如Add/Remove...和SynapticPackageManageer)比较简单linux修改文件名,所以这儿主要总结在终端通过命令行形式进行的软件包安装、卸载和删掉的技巧。
一、Ubuntu中软件安装方式
1、APT形式
(1)普通安装:apt-getinstallsoftname1softname2…;
(2)修补安装:apt-get-finstallsoftname1softname2...;(-fAtemptocorrectbrokendependencies)
(3)重新安装:apt-get--reinstallinstallsoftname1softname2...;
2、Dpkg形式
(1)普通安装:dpkg-ipackage_name.deb
3、源码安装(.tar、tar.gz、tar.bz2、tar.Z)
首先解压缩源码压缩包之后通过tar命令来完成
a.解xx.tar.gz:tarzxfxx.tar.gz
b.解xx.tar.Z:tarzxfxx.tar.Z
c.解xx.tgz:tarzxfxx.tgz
d.解xx.bz2:bunzip2xx.bz2
e.解xx.tar:tarxfxx.tar
之后步入到解压出的目录中,建议先读一下README之类的说明文件,由于此时不同源代码包或则预编译包可能存在差别,之后建议使用ls-F--color或则ls-F命令(实际上我的只须要l命令即可)查看一下可执行文件,可执行文件会以*号的尾部标志。
通常依次执行./configure
make
sudomakeinstall
即可完成安装。
二、Ubuntu中软件包的卸载方式
(1)移除式卸载:apt-getremovesoftname1softname2…;(移除软件包ubuntu 软件安装卸载,当包尾部有+时,意为安装)
(2)消除式卸载:apt-get--purgeremovesoftname1softname2...;(同时消除配置)
去除式卸载:apt-getpurgesofname1softname2...;(同上,也消除配置文件)
(1)移除式卸载:dpkg-rpkg1pkg2...;
(2)消除式卸载:dpkg-Ppkg1pkg2...;
三、Ubuntu中软件包的查询方式
Dpkg使用文本文件来作为数据库.通称在/var/lib/dpkg目录下.通称在status文件中储存软件状态,和控制信息.在info/目录下备份控制文件,并在其下的.list文件中记录安装文件清单,其下的.mdasums保存文件的MD5编码.
体验使用数据库的时刻到了:
$ dpkg -l Desired=UnkNown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-===========-================-======================================== ii aalib1 1.4p5-28 ascii art library - transitional package ii adduser 3.85 Add and remove users and groups ii alien .63 install non-native packages with dpkg ... ...
每条记录对应一个软件包,注意每条记录的第一,二,三个字符.这就是软件包的状态标示,上面依此是软件包名称,版本号,和简单描述.
第二列,是软件包的当前状态.此列包括软件包的六种状态.第三列标示错误状态,可以总结为四种状态.第一种状态标示没有问题,为空.其它三种符号则标示相应问题.
也可以以统配符模式进行模糊查询,例如我要查找以nano字符开始的所有软件包:
$dpkg-lnano*Desired=UnkNown/Install/Remove/Purge/Hold|Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed|/Err?=(none)/Hold/Reinst-required/X=both-problems(Status,Err:uppercase=bad)||/NameVersionDescription+++-==============-==============-============================================iinano1.3.10-2freePicoclonewithsomenewfeaturespnnano-tiny(nodescriptionavailable)unnanoblogger(nodescriptionavailable)
以上状态说明:系统中安装了nano版本为1.3.10-2;安装过nano-tiny,后来又清不仅;未曾安装过nanoblogger.
假如认为dpkg的参数过多,不利于记忆的话,完全可以使用dpkg-query进行dpkg数据库查询.
应用范例:
三、其他应用总结
apt-cachesearch#------(package搜索包)
apt-cacheshow#------(package获取包的相关信息,如说明、大小、版本等)
apt-getinstall#------(package安装包)
apt-getinstall#-----(package--reinstall重新安装包)
apt-get-finstall#-----(强制安装,"-f=--fix-missing"当是修补安装吧...)
apt-getremove#-----(package删掉包)
apt-getremove--purge#------(package删掉包什么是linux,等)
apt-getautoremove--purge#----(package删掉包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
apt-getupdate#------更新源
apt-getupgrade#------更新已安装的包
apt-getdist-upgrade#---------升级系统
apt-getdselect-upgrade#------使用dselect升级
apt-cachedepends#-------(package了解使用依赖)
apt-cacherdepends#------(package了解某个具体的依赖,当是查看该包被什么包依赖吧...)
apt-getbuild-dep#------(package安装相关的编译环境)
apt-getsource#------(package下载该包的源代码)
apt-getclean&&apt-getautoclean#--------清除下载文件的存档&&只清除过时的包
apt-getcheck#-------检测是否有破损的依赖
dpkg-Sfilename-----查找filename属于那个软件包
apt-filesearchfilename-----查找filename属于那个软件包
apt-filelistpackagename-----列举软件包的内容
apt-fileupdate--更新apt-file的数据库
dpkg--info"软件包名"--列举软件包解包后的包名称.
dpkg-l--列举当前系统中所有的包.可以和参数less一起使用在分屏查看.(类似于rpm-qa)
dpkg-l|grep-i"软件包名"--查看系统中与"软件包名"相关联的包.
dpkg-s查询已安装的包的详尽信息.
dpkg-L查询系统中已安装的软件包所安装的位置.(类似于rpm-ql)
dpkg-S查询系统中某个文件属于那个软件包.(类似于rpm-qf)
dpkg-I查询deb包的详尽信息,在一个软件包下载到本地以后瞧瞧用不用安装(看一下呗).
dpkg-i自动安装软件包(这个命令并不能解决软件包之前的依赖性问题),倘若在安装某一个软件包的时侯遇见了软件依赖的问题,可以用apt-get-finstall在解决信赖性这个问题.
dpkg-r卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg-P全部卸载(而且还是不能解决软件包的依赖性的问题)
dpkg-reconfigure重新配置
apt-getinstall
下载软件包ubuntu 软件安装卸载,以及所有依赖的包,同时进行包的安装或升级。假如某个包被设置了hold(停止标志,都会被搁在一边(即不会被升级)。更多hold细节请看下边。
apt-getremove[--purge]
移除以及任何依赖这个包的其它包。
--purge指明这个包应当被完全消除(purged),更多信息请看dpkg-P。
apt-getupdate
升级来自Debian镜像的包列表,假如你想安装当日的任何软件,起码每天运行一次,但是每次更改了
/etc/apt/sources.list後,必须执行。
apt-getupgrade[-u]
升级所有早已安装的包为最新可用版本。不会安装新的或移除老的包。假如一个包改变了依赖关系而须要安装一个新的包,这么它将不会被升级,而是标志为hold。apt-getupdate不会升级被标志为hold的包(这个也就是hold的意思)。请看下文怎么自动设置包为hold。我建议同时使用'-u'选项,由于这样你还能看见什么包将会被升级。
apt-getdist-upgrade[-u]
和apt-getupgrade类似,不仅dist-upgrade会安装和移除包来满足依赖关系。因而具有一定的危险性。
apt-cachesearch
在软件包名称和描述中,搜索包含xxx的软件包。
apt-cacheshow
显示某个软件包的完整的描述。
apt-cacheshowpkg
显示软件包更多细节,以及和其它包的关系。
dselect
console-apt
aptitude
gnome-apt
APT的几个图形后端(其中一些在使用前得先安装)。这儿dselect无疑是最强悍的,也是最古老,最难驾驭。
普通Dpkg用法
dpkg-i
安装一个Debian包文件,如你自动下载的文件。
dpkg-c
列举的内容。
dpkg-I
从中提取包信息。
dpkg-r
移除一个已安装的包。
dpkg-P
完全消除一个已安装的包。和remove不同的是,remove只是删除数据和可执行文件,purge另外还删掉所有的配制文件。
dpkg-L
列举安装的所有文件清单。同时请看dpkg-c来检测一个.deb文件的内容。
dpkg-s
显示已安装包的信息。同时请看apt-cache显示Debian存档中的包信息,以及dpkg-I来显示从一个.deb文件中提取的包信息。
dpkg-reconfigure
重新配制一个早已安装的包,假如它使用的是debconf(debconf为包安装提供了一个统一的配制界面)。你才能重新配制debconf它本身,如你想改变它的后端或提问的优先权。诸如,重新配制debconf,使用一个dialog后端,简单运行:
dpkg-reconfigure--frontend=dialogdebconf(假如你安装时选错了,这儿可以改回去哟:)
echo"hold"|dpkg--set-selections
设置的状态为hlod(命令行形式)
dpkg--get-selections""
取的的当前状态(命令行形式)
支持键值,如:
Debian:~#dpkg--get-selections*wine*
libwinehold
libwine-alsahold
libwine-artshold
libwine-devhold
libwine-nashold
libwine-printhold
libwine-twainhold
winehold
wine+hold
wine-dochold
wine-utilshold
比如:
你们如今用的都是gaim-0.58+QQ-plugin,为了避免gaim被升级,我们可以采用如下方式:
方式一:
Debian:~#echo"gaimhold"|dpkg--set-selections
跟著用下边命令检测一下:
Debian:~#dpkg--get-selections"gaim"
gaimhold
如今的状态标志是hold,就不能被升级了。
假如想恢复怎样办呢?
Debian:~#echo"gaiminstall"|dpkg--set-selections
Debian:~#dpkg--get-selections"gaim"
gaiminstall
这时状态标志又被重置为install,可以继续升级了。
同志们会问,那个这种状态标志都写在那个文件中呢?
在/var/lib/dpkg/status里,你也可以通过更改这个文件实现hold。
有时你会发觉有的软件状态标志是purge,不要奇怪。
如:事先早已安装了amsn,跟著把它卸了。
apt-getremove--purgeamsn
这么状态标志就从install弄成purge。
技巧二:
在/etc/apt下自动建一个preferences文件
内容:
Package:gaim
Pin:version0.58*
保存
dpkg-S
在包数据库中查找,并告诉你那个手包含了这个文件。(注:查找的是事先早已安装的包)
--------------------------------------------
Debian的软件包管理工具命令不完全列表
--------------------------------------------
Debian系统中所有的包信息都在/var/lib/dpkg下.其中/var/lib/dpkg/info目录中保存了各个软件包的信息及管理文件.每位文件的作用如下:
以".conffiles"结尾的文件记录软件包的配置列表.
以".list"结尾的文件记录了软件包的文件列表,用户可在文件当中找到软件包文件的具体安装位置.
以".md5sums"结尾的文件记录了md5信息,拿来进行包的验证的.
以".config"结尾的文件是软件包的安装配置角本.
以".postinst"角本是完成Debian包解开以后的配置工作,一般拿来执行所安装软件包相关的命令和服务的重新启动.
以".preinst"角本在Debain解包之前运行,主要作用是是停止作用于正式升级的软件包服务直至软件包安装或和升级完成.
以".prerm"脚本负责停止与软件包关联的daemon服务,在删掉软件包关联文件之前执行.
以".postrm"脚本负责更改软件包链接或文件关联,或删掉由它创建的文件.
/var/lib/dpkg/available是软件包的描述信息.
包括当前系统中所有使用的Debian安装源中所有的软件包,还包括当前系统中早已安装和未安装的软件包.
1.dpkg包管理工具
dpkg-r卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg--info"软件包名"--列举软件包解包后的包名称.
dpkg-l--列举当前系统中所有的包.可以和参数less一起使用在分屏查看.
dpkg-l|grep-i"软件包名"--查看系统中与"软件包名"相关联的包.
dpkg-s查询已安装的包的详尽信息.dpkg-L查询系统中已安装的软件包所安装的位置.
dpkg-S查询系统中某个文件属于那个软件包.
dpkg-I查询deb包的详尽信息,可以用apt-get-finstall在解决信赖性这个问题.
dpkg-reconfigure重新配置
dpkg-P全部卸载(而且还是不能解决软件包的依赖性的问题)
2.apt中级包管理工具
(1)GTK图形的"synaptic",这是APT的后端工具.
(2)"aptitude",这也是APT的后端工具.
用APT管理工具进行包的管理,可以有以下几种方式做源:
(1)拿安装盘做源,方式如下:
apt-cdromident扫描光碟的信息
apt-cdromadd添加光碟源
(2)这也是最常用的方式就是把源添加到/etc/apt/source.list中,然后更新列apt-getupdate
APT管理工具常用命令
apt-cache加上不同的子命令和参数的使用可以实现查找,显示软件,包信息及包信赖关系等功能.
apt-cachestats显示当前系统所有使用的Debain数据源的统计信息.
apt-cachesearch+"包名",可以查找相关的软件包.
apt-cacheshow+"包名",可以显示指定软件包的详尽信息.
apt-cachedepends+"包名",可以查找软件包的依赖关系.
apt-getupgrade更新系统中所有的包到最新版
apt-getinstall安装软件包
apt-get--reindtallinstall重新安装软件包
apt-getremove卸载软件包
apt-get--purgeremove完全卸载软件包
apt-getclean消除无用的软件包
在用命令apt-getinstall之前,是先将软件包下载到/var/cache/apt/archives中,然后再进行安装的.所以我们可以用apt-getclean消除/var/cache/apt/archives目录中的软件包.
源码包安装
apt-cacheshowsrc查找看源码包的文件信息(在下载之前)
apt-getsource下载源码包.
apt-getbuild-dep+"包名"建立源码包的编译环境.
去除处于rc状态的软件包
dpkg-l|grep^rc|awk'{print$2}'|tr["n"][""]|sudoxargsdpkg-P-