Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

Debian新手apt-get/dpkg简明入门

12/21/05。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


简略翻译,原文在 All about Linux的Blog上。其实,这里有个更全的早就翻译过的APT HOWTO,强烈推荐。

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 上面有一些不错的地址列表。

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


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


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

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


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

卸载软件:


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

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

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


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


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

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


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


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

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

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


卸载:


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


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

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


如果想多看点信息:


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


这会列出所有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。

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


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


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


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

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

12/21/05 12:01:00,由cathayan发表。目录:电脑

4条评论

<blockquote>当然还有aptitude和Aptitude,前者是终端上运行的带菜单的工具,后者是X窗口上运行的图形化的程序。</blockquote>
后者Aptitude我想你应该是指synaptic吧
<blockquote># dpkg -L gedit grep png</blockquote>
这里少了一个“| ”管道符

:)

http://linuxfire.dhis.org/~easthero/wordpress easthero 于 12/21/05 19:45:58 发表. 

回复不支持 html - -b

http://linuxfire.dhis.org/~easthero/wordpress easthero 于 12/21/05 19:47:45 发表. 

这个apt howto我在日本的时候看竟然自动重定向到了一个全是日文翻译的页面, 看来日文也全都翻译完了。

回到北京一看, 才变成了中文。 找个美国的代理就可以看到英文。 这是我看到过的最牛比的文档了。

biantaishabi 于 12/22/05 13:06:02 发表. 

这叫国际化,只要有翻译过的文档,你在不同的地域就会打开不同的文档。

这个很简单的,现在的网站大都都是这样的。

不过你一阵再日本,一阵再美国,

更牛呀!

http://no jee 于 10/28/09 20:57:06 发表. 


这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

RIME 小狼毫/鼠须管的极点及五笔拼音配置
Software that rocks or sucks less
一棵热带的树换新叶的过程
几个有用的Vim招术
论语七 述而
Nomacs 图像浏览器
Windows 文件校验
Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.