[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 下一页 ]
有很多用于管理Debian 软件包的工具, 从图形界面的或基于文本界面的, 到用于安装软件包低层工具. 所有这些工具都是基于底层工具来完成运行, 和完成高级功能的.
理解高级软件包管理工具 例如aptitude 或 dselect
是依赖于apt的,
而apt是基于dpkg系统中的软件包的.
这个主要的软件包管理工具, 有很多参数, 常用的有:
参数查找: dpkg --help.
输出指定软件包的控制文件(和其它信息): dpkg --info foo_VVV-RRR.deb
安装软件包(包括解包和配置): dpkg --install foo_VVV-RRR.deb.
解包(但不配置): dpkg --unpack foo_VVV-RRR.deb. 注意, 此操作解开的包处于不可用状态, 要正常运行, 一些文件还需要进一步配置. 这个命令会删除这个程序的已安装版本. 并运行相关联的 preinst 脚本(详见Debian 的 preinst, postinst, prerm, 和 postrm 脚本?, 第 6.6 节).
配置一个解开的包: dpkg --configure foo. 这个操作会运行相关联的 postinst(详见Debian 的 preinst, postinst, prerm, 和 postrm 脚本?, 第 6.6 节)脚本, 并升级 conffiles 中列举的文件. 注意,'配置'(configure)操作使用软件包名(如 foo), 而不是Debian文档文件名(如, foo_VVV-RRR.deb).
从 Debian 包中释放一个名为 "blurf" 文件(或一组名为 "blurf" 的文件): dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*
删除软件包(不包括它的配置文件): dpkg --remove foo.
删除软件包(包括它的配置文件): dpkg --purge foo.
列出包含 "foo*" 字符串的软件包的状态: dpkg --list 'foo*'.
APT 即 Advanced Package Tool, 其提供了 apt-get 程序.
apt-get 提供一个简单的命令行安装软件包的方法. 和
dpkg 不同, apt-get 不能识别 .deb 文件,
它使用软件包原来的名称通过 /etc/apt/sources.list
指定的安装源进行安装. 完成 .deb 文件的下载后[4], apt-get 会直接调用dpkg
进行资源配置.
通常用于:
升级软件包列表, 运行
apt-get update
(应当经常执行这一命令进行列表升级).
升级系统中的所有软件包, 运行
apt-get upgrade
安装foo及其所有依赖包, 运行
apt-get install foo
删除系统中的foo软件包, 运行
apt-get remove foo
删除系统中的foo软件包及其配置文件, 运行
apt-get --purge remove foo
注意, 执行这些命令需要root权限.
apt工具包还包括apt-cache, 用于查询软件包列表.
可用来利用简单的单词或正则表达式来查找提供某种功能的软件包以及依赖包.
通常这样使用 apt-cache:
查找描述包含 word 的软件包:
apt-cache search word
列出软件包的详细信息:
apt-cache show package
列出软件包的依赖关系:
apt-cache depends package
列出软件包, 以及逆向依赖的软件包的详细版本信息:
apt-cache showpkg package
更多信息, 安装 apt 软件包参阅 apt-get(8),
sources.list(5) 和 apt-doc 软件包中的
/usr/share/doc/apt/guide.html/index.html.
aptitude 是 Debian GNU/Linux 系统的软件包管理器,
为apt软件包管理机制提供了一个前端. aptitude是使用 curses
共享库的一个文本界面. 可以简单快速的完成管理任务.
aptitude 提供了 dselect
和apt-get的所有功能, 以及一些在这两个程序中并未出现的附加功能.
aptitude 可以访问软件包的所有版本.
aptitude 在/var/log/aptitude下记录其操作.
aptitude 跟踪在"Obsolete and Locally Created Packages"
下列出的废弃软件包非常方便.
aptitude 提供了一个十分强大的用于搜寻软件包和限制软件包显示的系统,
熟悉 mutt 的用户一定不会陌生.
aptitude 跟踪为满足依赖需求安装的软件包,
当依赖它们的软件包从系统中删除后, 它们也自动被删除.
aptitude 会自动安装 Recommended: 的软件包[5].
aptitude 可以以普通用户运行, 直至您需要管理员权限操作时.
您可以通过可视化界面使用aptitude, 也可以直接命令行使用.
命令行使用时, 同 apt-get 非常相似. 例如, 要安装 foo
软件包, 只需运行aptitude install foo.
注意, 在安装软件包和/或升级系统时, Debian 推荐使用 aptitude .
更多信息, 参阅 aptitude-doc-en 软件包提供的联机手册
aptitude(8).
Debian 包管理系统的菜单界面. 对第一次安装特别有用. 有很多用户可能更习惯
aptitude, 在大范围升级时, 也建议使用 aptitude. 有关
aptitude 的更多信息, 参阅 aptitude, 第 7.1.3
节.
dselect 可以:
引导用户选择安装或删除软件包时, 确保要安装的包不与其它包冲突, 使得每个(要安装的软件)包正常运行的所需的所有软件包都被安装.;
对用户所作选择的不一致和不兼容做出警告;
确定必须安装的软件包的安装顺序;
自动完成安装或删除; 并
引导用户完成每个软件包的配置\.
进入 dselect 时, 有七个菜单项, 每项完成特定的功能,
用户可以用上下键移动亮度条, 然后按 <回车> (<enter>)
键选择加亮显示的项.
接下来的显示和用户的选择有关. 如果选的不是 Access 或
Select, dselect 就会继续执行指定的动作: 如, 选
Remove, dselect就会删除用户在 Select
中的最后选择的所有软件包.
Access 和 Select 菜单项下有更多的菜单选项, 两种选择都会出现分屏, 上部给出选项的滚动列表, 部是对应选项的简要解释("info").
任何时候都可按下 "?" 键, 都可呼出帮助信息, 使用在线帮助.
通常按照第一个界面里菜单排列顺序操作来完成软件包安装, 但, 用户也可以根据自己的需要来做出选择(但这和用户的具体选择有关)..
通过选择一个 Access Method 开始. 这是指用户访问 Debian
软件包的方法; 如有些用户从 CD-ROM 上获取 Debian 软件包, 有些打算通过匿名 FTP
获取. dselect 退出后所选的 "Access Method"
会被存储下来, 因此如不再调用这个选项, 访问方式不会改变.
接着 Update 可用软件列表. dselect 读取位于
Debian 软件包存储目录的顶层的 "Packages.gz" 文件(如果不存在,
dselect 会试图生成一个).
Select 欲安装的软件包, 选取此菜单项后, 首先显示的是满屏的帮助信息(除非使用了 `--expert' 命令行参数), 退出帮助, 就会出现选择软件包的分屏菜单..
相对较窄的上半屏是 15400 个 Debian 软件包的滚动列表; 下半屏是对应软件包或包组的描述T.
用高亮条来选定软件包名或者包组, 然后选择操作:
按下"+"键.
有两种办法删除:
删除: 删除软件包的大部分相关文件, 但是不包括配置文件(参阅 Debian 的配置文件, 第 6.5 节)内列举的需要保护的文件和软件包的配置信息, 使用 '-' 键..
清除: 删除软件包的所有文件, 使用 '_' 键.
注意,不可能删除 "所有" 的软件包. 如果试图这样做, 系统就会回到最初的基本系统状态.
使用 '=' 键, 告诉 dselect 即使这个包即使不是最新版本也不要升级.
可以通过 `:' 键来取消锁定, 这是默认设置.
可以使用不同的排序方式显示软件包列表, 使用 `o' 键在不同的排序方式间切换. 默认的排序方式是优先级排序, 同一优先级内, 按存储目录排序, 这种排序方式, 可能先显示 A 目录的软件包, 然后是B, 接着是低一个优先级的 A.
你也可以使用 `v' (verbose) 键来展开屏幕顶部标签的解释. 这样就可以在右边显示更多的内容, 通过左右箭头来进行左右移动.
如果选了安装或删除一个软件包, 如foo.deb,
这个软件包又依赖于(需要)另一个(软件)包, 如 blurf.deb,
dselect 就会在下一屏显示出来,
可以对系统建议(安装或不安装)做出选择, 接受或拒绝. 按 Shift-D 键稍后操作,
Shift-U 返回上一菜单. 任何时候都可以按 Shift-Q 保存选择,返回主菜单.
返回主菜单, 选择 "Install" 菜单进行对选择的软件包解包和配置.
或者选择 "Remove" 菜单来删除. 选择 "Quit" 退出
dselect, 所作选择会被 dselect 保存下来.
用于 Debian 格式 (.deb) 文件的操作. 常见操作:
查看全部选项: dpkg-deb --help.
查看 Debian 格式软件包内的文件: dpkg-deb --contents foo_VVV-RRR.deb)
释放 Debian 格式软件包内的文件到指定目录: dpkg-deb --extract foo_VVV-RRR.deb tmp 释放 foo_VVV-RRR.deb 内的全部文件到 tmp/ 目录. 这是不需要安装, 在本地目录测试(软件)包内容的简单方法.
注意, 仅仅执行 dpkg-deb --extract 并不能正确的安装软件包, 应该执行 dpkg --install.
详细参见手册 dpkg-deb(1).
这个程序用来将大软件包分割成小文件(如, 写到软盘上), 和将分割的文件合并.
这个程序只能在 Debian 系统上使用(或含 dpkg 包的系统),
因为它需要调用 dpkg-deb 程序分析这个 Debian 包的组成.
例如, 把一个大 .deb 分割成 N 部分,
执行命令 dpkg-split --split foo.deb. 就会在当前目录出现分割出N个大小为 460KB 的文件.
把这 N 个文件考到软盘上.
把软盘上的内容考到其他机器上.
使用命令 dpkg-split --join "foo*" 合并.
Debian GNU/Linux 系统的内核支持运行中替换文件.
我们另外提供可一个称作 start-stop-daemon 的程序,
用于启动时驱动进程或内核运行级别发生变化时停掉进程(如,
由多用户到单用户模式或到关机模式). 包含某个进程的软件包安装时,
安装脚本停止和重起进程调用用的也是这个程序.
要查看 Debian 系统上安装的所有软件包的状态, 运行
dpkg --list
输出每个软件包的一行简单介绍, 2字符的状态标志, 包名, 所安装版本, 和简要描述.
查看以 "foo" 开头的软件包的状态, 执行:
dpkg --list 'foo*'
要得到某个软件包的更详细信息, 执行:
dpkg --status packagename
要查找出包含文件 foo 的软件包, 执行:
dpkg --search filename
在已安装软件包中搜寻 filename.(等同于搜索 /var/lib/dpkg/info/ 目录下扩展名为 .list 的文件, 并输出所有包含此文件的软件包名和版本号).
另一个更快的工具是 dlocate.
zgrep foo Contents-ARCH.gz
通过绝对路径来搜寻含 foo 字符串的文件, Contents-ARCH.gz 文件(ARCH 指要查询的平台)在 Debian FTP 的主软件包目录(main, non-free, contrib)下(即在 /debian/dists/sarge 目录下), 一个 Contents 文件只包含同一目录下的软件包,因此用户查找含 foo 文件的软件包,需要搜寻多个 Contents 文件.
相对于 dpkg --search 这种方法的优点是,它不仅仅搜寻系统已安装软件包.
apt-file search foo
于上边的相似, 会查询出与字符串 foo 相关的文件. 它的优越性在于不必解压通过 apt-file update命令(使用root权限)获取的Contents-ARCH.gz文件.
有些软件包被分为程序('foo')和数据('foo-data')两部分. Debian系统中的很多游戏程序, 多媒体应用程序都是这样的, 因为有些用户会有在未安装程序的情况下使用数据的需求, 或者是因为生需在未安装数据的情况下, 通过配置也能运行.
这种情况下, 'foo-data'并不依赖于'foo', 因此当您卸载'foo'软件包的时候,
多数软件包管理工具自动将其卸载. 这是为了严格的遵循依赖关系. 如果您使用
aptitude (参阅 aptitude, 第 7.1.3
节)作为软件包管理工具, 它将会自动跟踪安装的软件包,
并在当系统中没有软件包再需要它们时, 将其卸载.
[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 下一页 ]
The Debian GNU/Linux FAQ
version CVS, 25 November 2005etony@tom.com