一. apt-get用法
apt 0.8.16~exp12ubuntu10.26 for i386 compiled on Aug 5 2015 19:06:21
Usage: apt-get [options] command
apt-get [options] install|remove pkg1 [pkg2 ...]
apt-get [options] source pkg1 [pkg2 ...]
apt-get is a simple command line interface for downloading and
installing packages. The most frequently used commands are update
and install.
Commands:
update - Retrieve new lists of packages
upgrade - Perform an upgrade
install - Install new packages (pkg is libc6 not libc6.deb)
remove - Remove packages
autoremove - Remove automatically all unused packages
purge - Remove packages and config files
source - Download source archives
build-dep - Configure build-dependencies for source packages
dist-upgrade - Distribution upgrade, see apt-get(8)
dselect-upgrade - Follow dselect selections
clean - Erase downloaded archive files
autoclean - Erase old downloaded archive files
check - Verify that there are no broken dependencies
changelog - Download and display the changelog for the given package
download - Download the binary package into the current directory
Options:
-h This help text.
-q Loggable output - no progress indicator
-qq No output except for errors
-d Download only - do NOT install or unpack archives
-s No-act. Perform ordering simulation
-y Assume Yes to all queries and do not prompt
-f Attempt to correct a system with broken dependencies in place
-m Attempt to continue if archives are unlocatable
-u Show a list of upgraded packages as well
-b Build the source package after fetching it
-V Show verbose version numbers
-c=? Read this configuration file
-o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp
二. apt-get中文用法
对于debian来说,安装软件大多都是通过apt-get来实现的。
1、apt-get update
更新软件包信息库。在Debian中,软件包是通过一个数据库来管理的,通过这个数据库中可跟踪你系统中已安装、没有安装和现在可安装的软件包信息。 apt -get安装软件包时就是依靠这个数据库来解决软件包间的依赖关系,从而可自动安装相关软件。我们需定期运行该命令,从而保持数据库的信息为最新。
2、apt-get install package_name1 package_name2 package_name3 ...
安装软件包。如果软件包需其它软件包支持,apt-get会通过搜索软件包数据库找到这种依赖关系,一起下载相关软件。在一个命令行中可同时安装多个软件 包,中间用空格隔开即可。安装的软件包默认会存放在/var/cache/apt/archives目录下,以便以后重新安装。如果已安装的软件包损坏 了,你可通过--reinstall选项来重新安装。如:
# apt-get --reinstall install package_name
在需安装的软件包名后加一个减号会删除软件包,如:apt-get install package_name-。
3、apt-get remove package_name1 package_name2 package_name3 ...
删除软件包。如果你想删除没用的软件包,只要使用该命令即可。如果你想把该软件的配置文件也删除,可以用--purge选项,如:
# apt-get --purge remove package_name
类似地,在删除软件包名后加一个加号会安装软件包,如:apt-get remove package_name+。
4、apt-get source package_name1 package_name2 package_name3
下载软件包的的源码版本。
5、apt-get upgrade package_name1 package_name2 package_name3 ...
软件包升级功能是APT系统这么成功的主要原因。通过该命令,我们就可把软件升级到最版本。在使用该命令前,最好先运行apt-get update命令,以更新软件包数据库。但该方案不是更新系统最好的方法,一些包会因为包依赖问题而保留(kept back)一些旧的软件包。Debian提供了一个更好的升级方案,就是用dis-upgrade。下面一节会详细介绍。
6、apt-get dist-upgrade
更新整个Debian系统。可从网络或本地更新整个系统。它会重新安排好包的依赖性。如果有些包由于一些原因实在不能更新,我们可通过以下命令查询原因:
# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
可用apt-show-versions -u可获得可升级软件包的列表。该命令还有一些有用的选项,可用-h选项查看详细帮助,了解更多功能。
7、apt-get clean
删除下载了的软件包,当我们通过apt-get安装软件包时,APT会把软件包下载到本地/var/cache/apt/archives/目录。该命令会删除该文件夹内的除锁住外的所有软件包。
8、apt-get autoclean
删除已下载的旧版本的软件包。该命令类似于上面的命令,但它会有选择地删除旧版本的软件包。
9、apt-get dselect-upgrade
通过dselect的"建议"和"推荐"功能更新系统。dselect是Debian中一个功能强大的包管理工具。它可帮助用户选择软件包来安装,其中一个有用功能是它会建议和推荐安装其它相关软件包。我们可在APT中使用它这个功能。
10、apt-get check
检查系统中软件包的依赖性。
11. apt-get build-dep package_name
搜索仓库,安装包的依赖包。若包不在仓库,返回一个错误。
摘自:http://bbs.chinaunix.net/thread-2172866-1-1.html
三. apt-get注解
Debian是最早的Linux发行版之一。它能引起公众注意就因为它让安装与卸载软件非常简单。在其他发行版还陷在依赖性的泥潭里时,Debian用户因为有更好的包管理系统而免受这些困扰。
所有基于Debian的发行都使用这个包管理系统。Deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。这里要介绍的就是如何使用安装包处理软件来达到我们的目的。
用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 上面有一些不错的地址列表。
ubuntu的套件管理系统与Debian类似,所有软件分为main,restricted,universe和multiverse等四类。
main 即「基本」组件,其中只包含符合Ubuntu的协议要求并由Ubuntu团队维护支持的软件。
restricted 即「受限」组件,其中包含了非常重要的,但并不具有合适的自由协议的软件,如显卡驱动,同样有Ubuntu团队维护支持。
universe 即「社区维护」组件,其中包含的软件种类繁多,它们可能采用受限于协议,可能不是,但都不为Ubuntu团队维护。
multiverse 即「非自由」组件,其中包括了不符合自由软体要求而且不被Ubuntu团队支援的软件,通常为商业公司编写的软件。
设好地址之后,就要把本机上的软件库跟网上的库同步(只是软件描述信息,不包含软件本身)。这样,本机上就有了一个可用的软件的清单,命令如下:
# 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 - 底层一些的包管理工具
四. 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
摘自:http://bbs.chinaunix.net/thread-2181331-1-1.html
五.apt-cache用法
apt-cache用于查询APT cache(包信息缓存)。APT cache通过apt-get update更新得到,是离线查询,若包源有更新,则需要执行apt-get update更新。
搜寻软件名
# apt-cache search gaim*
软件信息
# apt-cache show gaim
如果已经安装,并且又有了新版本,那么都会显示,安装版本在后
获取更多信息
# apt-cache showpkg gaim
查询软件的依赖性
# apt-cache depends gaim
显示包缓存列表,可据此查询包是否包含即包完整名
# apt-cache dump