linux apt-get/dpkg简介

原创 2011年01月14日 14:43:00

用apt-get的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:

deb [web或ftp地址] [发行版名字][main/contrib/non-free]

比如Ubuntu是一个基于Debian的发行,它的Sources.list可以是这样的:

deb http://in.archive.ubuntu.com/ubuntu breezy main restrcted

你可以自己加上自己的地址。apt-get.org 上面有一些不错的地址列表。

设好地址之后,就要把本机上的软件库跟网上的库同步(只是软件描述信息,不包含软件本身)。这样,本机上就有了一个可用的软件的清单,命令如下:

# apt-get update

运行成功之后,你就可以搜到在你的发行版中有哪些软件了,命令是apt-cache,运行这个命令是在本机是检索,而不连到网上。如:

# apt-cache search baseutils

这个命令可以列出baseutils这个软件包的情况,有还是没有,还有版本等。

看到库里有这个软件包后,就可以安装它:

# apt-get install baseutils

这时我们就可以看到apt-get的威力了。如果baseutils依赖于某个另外的软件,或者一个运行库xyz.0.01.so,apt-get会自动下载这个包(或含有这个库的软件包)。
这叫做自动依赖性处理。通常,如果你只用Debian软件库内的软件,是不会发生找不到包或包版本不对的情况的,除非用的是正在开发的Testing或Unstable版本。

卸载软件:

# apt-get remove baseutils

如果想看一下库里有多少软件:

# apt-cache stats
Total package names : 22502 (900k)
Normal packages: 17632
Pure virtual packages: 281
Single virtual packages: 1048
Mixed virtual packages: 172
Missing: 3369
...

把本机所有软件升级到最新版:

# apt-get upgrade

最后是最强力的--把整个发行版都升到新版本:

# apt-get dist-upgrade

升级时注意那些影响系统起动的东西,比如升级了内核,升级了grub或lilo等,这之后你应当重新运行grub或是lilo,让它们指向正确的位置,否则升级之后会工作不正常的。

用apt-get安装软件时,它会从网上(在sources.list里指的那个站点)下载所用的软件包,这个包将存在本机上,目录是:/var/cache/apt/archives/。时间长了,这里会变得非常巨大,占用大量的硬盘空间。要想清理这个目录,可以运行:

# apt-get clean

还有一个自动清理功能,它只清除那些没用的或者是不完整的软件包:

# apt-get autoclean

这样在重装某软件时就依然能使用已经下载好的,而不是再到网上去下载。

dpkg - 底层一些的包管理工具

用上apt(高级包管理工具)之后,一般是不需要处理单个的deb文件的。如果需要,就要用dpkg命令。比如想自己装gedit:

# dpkg -i gedit-2.12.1.deb

卸载:

# dpkg -r gedit

这里只写名字即可。还可以加上--purge(-P)标志:

# dpkg -P gedit

这会连同gedit的配置文件一起删除,只用-r的话是不删除配置文件的。

如果不想安装一个deb包,但想看一下它里面有什么文件:

# dpkg -c gedit-2.12.1.deb

如果想多看点信息:

# dpkg -I gedit-2.12.1.deb

也可以用通配符来列出机器上的软件:

# dpkg -l gcc*

这会列出所有gcc开头的软件包:
Desired=Unknown/Install/Remove/Purge/Hold
Status=Not/Installed/Config-files/Unpacked/Failed-config/.
/ Err?=(none)/Hold/Reinst-required/X=both-problems
/ Name Version Description
+++-===============-==============-========================
ii gcc 4.0.1-3 The GNU C compiler
ii gcc-3.3-base 3.3.6-8ubuntu1 The GNU Compiler Colletio
un gcc-3.5 none (no description available)

其中,第1个 i 表示希望安装,第2个 i 表示已经安装,第3个字段是问题(如果有)(这3个字的含义可以看上面那3行,desired, status, err),后面是名字,版本和描述。un就表示,Unknown, not-installed。

如果想看某包是否已经安装:

# dpkg -s gedit

如果想看某软件都有哪些文件,都装到了什么地方:

# dpkg -L gedit

如果只想看其中的某些文件,就加上Grep:

# dpkg -L gedit grep png

当然还有aptitude和Aptitude,前者是终端上运行的带菜单的工具,后者是X窗口上运行的图形化的程序。

还有,列出某包的详情:apt-cache show gedit
一些强制的命令:dpkg --force-help

版权声明:欢迎转载,转载请注明出处

ubuntu 的使用(四)—— apt-get 与 dpkg

apt-get (1)彻底删除sudo apt-get remove --purge ** (2)获取包的源码sudo apt-get source dpkgdeb是 debian linus 的安...
  • lanchunhui
  • lanchunhui
  • 2016年05月18日 18:44
  • 533

rpm与dpkg yum与apt-get详解,一看这个就知道这些个关系了

Linux界的两大主流: RPM与DPKG   由于自由软体的蓬勃发展,加上大型Unix-Like 主机的强大效能,让很多软体开发者将他们的软体使用Tarball 来释出。 后来Lin...
  • baixiaoshi
  • baixiaoshi
  • 2015年02月05日 16:21
  • 2828

ubuntu软件包管理系统之apt 和 dpkg原理

在我们探秘之旅开始之前,了解自己系统上安装了哪些软件包、各个软件包的作用以及该软件包安装了哪些文件及目录是非常有用和重要的。以后的每一次探秘我都会用到这些命令以列出我的ubuntu 10.04系统上安...
  • trochiluses
  • trochiluses
  • 2013年06月24日 22:03
  • 4392

ubuntu中软件安装相关知识(deb、dpkg、apt-get)

在Android和linux开发中经常需要在ubuntu中安装软件,ubuntu源于debian,所以其软件安装相关的功能也和debian一样。在debian中的可安装软件后缀名为deb(debian...
  • jcgu
  • jcgu
  • 2013年03月17日 10:21
  • 4245

ubutunt中apt-get和dpkg结合使用完全清除软件包及依赖信息方法

通常,ubuntu中卸载软件包时,我们习惯使用: sudo apt-get remove |
  • wtxwd
  • wtxwd
  • 2014年08月07日 16:28
  • 3141

ubuntu下安装软件命令apt-get与dpkg命令的区别

本文为大家介绍Ubuntu与Debian下apt-get软件安装与删除的相关命令,有需要的朋友可以参考下 安装软件 命令: apt-get install softname1 softname2…...
  • fx_abc
  • fx_abc
  • 2016年07月02日 21:49
  • 5024

【免杀测试】Kali之Metasploit几款工具免杀练习

余磊  不知攻,焉知防。作为渗透测试攻城狮,实战之前要做大量的攻防练习。一般黑客拿到主机的shell之后,需要留后门方便进行下一步的渗透。普通的木马已经很容易被查杀工具识别,这时就催生出...
  • SecSF
  • SecSF
  • 2018年01月11日 18:09
  • 24

Linux下dpkg的用法

转载:http://blog.csdn.net/sunjiajiang/article/details/7252593 dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、...
  • fireblue1990
  • fireblue1990
  • 2016年09月22日 21:25
  • 1670

apt-get和dpkg命令详解

用apt-get的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的地址加入,apt-get就能搜索到我们想要的软件。/et...
  • zmj_88888888
  • zmj_88888888
  • 2013年06月18日 18:36
  • 649

ubuntu包管理命令apt和dpkg总结

使用linux系列的系统,你不可避免的会涉及一些包的管理,这里我整理了一下ubuntu下常用的包管理命令,与大家分享。 apt-get命令: apt-get是debian,ubuntu发行版的包管理...
  • scaleqiao
  • scaleqiao
  • 2015年04月11日 20:41
  • 2096
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux apt-get/dpkg简介
举报原因:
原因补充:

(最多只允许输入30个字)