LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 14733|回复: 13

APT HOWTO 学习笔记(高手免看 :p )

[复制链接]
发表于 2003-1-1 17:13:56 | 显示全部楼层 |阅读模式
这是本人在学习APT HOWTO所做笔记,由于e文水平太差,在理解中肯定有偏差疏漏的地方,敬请批评指正!!!

一基本配置

1. /etc/apt/sources.list文件的基本格式:

     deb http://site.http.org/debian distribution section1 section2 section3
     deb-src http://site.http.org/debian distribution section1 section2 section3

  deb 二进制程序包  deb-src 原代码程序包
  例如:

     deb http://http.us.debian.org/debian stable main contrib non-free
     deb-src http://non-us.debian.org/debian-non-US stable non-US

     deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
     deb-src http://http.us.debian.org/debian stable main contrib non-free

  apt 会忽略以"#"开头的行

  注意: 修改/etc/apt/sources.list后,应及时更新数据库列表

2.制作本地apt

     # mkdir /root/debs
  将自己收集的.deb包考入/root/debs目录
     # dpkg-scanpackages debs| gzip > debs/Packages.gz
  在/etc/apt/sources.listdeb 加入:
     file:/root debs/

3.寻找速度最快的下载镜相:netselect, netselect-apt

  安装netselect软件包
     # apt-get install netselect
  测试我使用的镜像
     # netselect security.debian.org ftp.us.debian.org ftp.jp.debian.org non-us.debian.org people.debian.org gluck.debian.org
      520 ftp.jp.debian.org
     #
  看到了我所使用的镜像中 ftp.jp.debian.org速度最快 得分为520 (得分越低越好)
  你可以在这里查找debian的镜像列表  http://www.debian.org/mirror/mirrors_full
  你也可以用netselect-apt下载列表
     # ls sources.list
     ls: sources.list: File or directory not found
     # netselect-apt stable
     (...)
     # ls -l sources.list
     sources.list
     #
  前提是你已经安装并运行了'wget'包

4.把CD-ROM加入到你的/etc/apt/sources.list文件

  如果使用apt自动从CD-ROM上安装软件或升级系统,可以把它加入/etc/apt/sources.list文件
     # apt-cdrom add

注: CD-ROM必须在/etc/fstab文件中已正确配置
发表于 2003-1-1 17:27:01 | 显示全部楼层
好东东!!!

对我很有用,感谢etony的辛勤劳动!!
 楼主| 发表于 2003-1-1 21:57:40 | 显示全部楼层
二、管理包

1.apt系统使用一个数据库列表来记录系统已经安装了哪些软件,哪些没有安装,哪些软件可以通过apt系统自动安装 apt-get通过分析这个数据库来决定如何安装软件,
应该经常运行#apt-get update来更新此数据库

2.安装软件包
     # apt-get install packagename
  apt-get的参数
     -h  This help text.
     -d  Download only - do NOT install or unpack archives
     -f  Attempt to continue if the integrity check fails
     -s  No-act. Perform ordering simulation
     -y  Assume Yes to all queries and do not prompt
     -u  Show a list of upgraded packages as well

软件包会被下载到/var/cache/apt/archives 稍后进行安装
如果一个软件包坏了,或者你只是想重新安装一个软件的最新版本 ,可以使用--reinstall参数,如
     # apt-get --reinstall install gdm
在安装软件时,可以用apt-get install package/distribution或apt-get install package=version来指定软件的安装版本,如
     # apt-get install nautilus/unstable

3.移除软件包
apt-get remove package
     # apt-get remove gnome-panel
这样就会移除gnome-panel以及对gnome-panel有依赖性的软件包,无法使用apt系统仅仅移除此软件,而保留对它有依赖性的软件包。
apt-get remove package并不能移除这些软件的配置文件
     # apt-get --purge remove gnome-panel
就可以一块把他的配置文件移除

4.升级软件包
apt-get upgrade

5.升级到一个新的版本
     # apt-get -u dist-upgrade

6.移除无用的软件包
当安装软件时,软件包会被先下载到/var/cache/apt/archives/目录下,然后安装。这样这个目录所占空间会越来越大,幸运的是apt提供了相应的管理工具
apt-get clean删除/var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/目录下所有包(锁定的除外)。
apt-get autoclean仅删除不再能被下载的包

7.
8.如何维持一个混合的系统
   鉴于testing版unstable版本比稳定,又比stable版本要新 ,很多人使用testing,可是有些人想运行某个软件的最新版,却又不愿把这个系统升级为unstable,即想使用一个混合的系统,那么可以这样做:
在 /etc/apt/apt.conf 加入:
     APT:efault-Release "testing";
  当要安装unstable软件时 加 -t 参数:
     # apt-get -t unstable install packagename
注:不要忘记在/etc/apt/sources.list中加入相应的源

9.从一个特定的debian版本升级软
     # apt-get install `apt-show-versions -u -b | grep unstable`件

10.如何在软件升级时避免特定软件不会被升级
  如果你使用的bebian版本在2.2以上,仅仅需要修改/etc/apt/preferences 文件
  格式非常简单:
     Package: <package>
     Pin: <pin definition>
     Priority: <pin's priority>

例如我要保持gaim的0.58版本 只需加上:
     Package: gaim
     Pin: version 0.58*
  统配符 * 指锁定以0.58开头的所有版本 这就是说即使存在0.58-1 或类似 也不会被安装
Priority(优先级)是可选项 默认 989
   <0  此软件永不会被安装
  0~100 软件不被安装,不是有效的版本
  >100 此软件会被安装 即 如果有更新版本,软件会被升级
        100~1000  软件不会被降级安装,例如:我安装的gaim 0.59 , 锁定gaim 0.58 ,优先级为999
                那么0.58就不会被安装 ,如果要降级安装 则优先级许大于 1000
发表于 2003-1-2 15:39:04 | 显示全部楼层
收入精华区。

http://www.linuxsir.cn/bbs/showthread.php?s=&postid=78332

基础的基础。。。。


多谢 etony兄
发表于 2003-1-2 17:32:20 | 显示全部楼层

好东东,多谢!

真是太后了
 楼主| 发表于 2003-1-2 19:30:44 | 显示全部楼层
获取软件信息

1.搜寻软件名
     # apt-cache search gaim
  软件信息
     # apt-cache show gaim
  如果已经安装,并且又有了新版本,那么都会显示,安装版本在后
  获取更多信息
     # apt-cache showpkg gaim
  查询软件的依赖性
     # apt-cache depends  gaim

2.用dpkg查询软件名
  根据某一个文件查询软件名
     # dpkg -S stdio.h

3.询问式安装
     # auto-apt run command

4.查询文件的归属
     # apt-file search filename
  就象dpkg -S 但可以查询,但可以查未安装软件包
  也可以查询一个包所含文件
     # apt-file list packagename
  它会用到数据库所以要及时更新
     # apt-file update

程序源文件

1.下载程序源码
     # apt-get source packagename
这样就会下载三个文件 a .orig.tar.gz, a .dsc 和 a .diff.gz
下载后自动打包
     # apt-get -b source packagename

2.编译软件
     # apt-get build-dep gmc
下载所编译包的依赖程序
发表于 2003-3-19 04:58:06 | 显示全部楼层

太好了,对于我们这些初学者来说太好了..

发表于 2003-3-21 11:45:06 | 显示全部楼层
严重支持!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
发表于 2003-10-24 19:56:06 | 显示全部楼层
good!! i like it!
发表于 2004-1-4 21:46:06 | 显示全部楼层
where is there no '/etc/apt/apt.conf', should I create one?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表