分类: LINUX
2009-04-29 22:07:18
包机制是Slackware区别于其他 发行版的重要的甚至是本质的区别。Slackware的包管理机制简单、灵活、高效、安全,透明性大,可定制程度高。因为Slackware的标准包 管理工具皆为脚本,这样,你可用简单而又方便的对其进行修改、移植。但是也存在一些不足之处,比如没有灵活的安装模式等。本文对 Slackware的包管理进行全面详细的介绍。
所使用的及目录:
1.explodepkg---解压
它主要用来对Slackware的tgz包进行维护,只是简单的解压.tgz包,并不运行解压目录下的install或/var/log/setup目录 下的安装脚本。explodepkg解压tgz包,然后通过对其中的文件进行修改、升级,最后再用 makepkg制做Slackware可用的tgz包。explodepkg也可以 对多个tgz 包逐个进行解压,格式如下:
#explodepkg package1.tgz package2.tgz ...
警告:explodepkg(实际上所有的那些工具包括installpkg|removepkg等)所用的tar版本不得>1.13(默认使用1.13),否则不稳定。查看/bin目录,可以发现里面同时有tar-1.13和tar-1.14.
2.installpkg---安装
使用Slackware,你免不了用用到它。installpkg提供了丰富的参数,使得包的安装简单、灵活、安全而又 快捷。下面是常用参数简介:
其他的参数请man installpkg.
使用:
#installpkg package.tgz
#installpkg -warn package.tgz
#installpkg -warn -install package.tgz
#installpkg -menu -root /usr/local package1.tgz package2.tgz
#installpkg -menu -root /usr/local -tagfile/b]./tagfile package1.tgz package2.tgz
3.removepkg --删除
removepkg提供多种格式让你可用非常轻松的删除已经安装的Slackware包,删除过程会完整的显示哪些包已被删除。你可用指定该包的全名、基本名,例如:已经安装了一个名为test-1.0-i386-1.tgz 的包,那么可用如下格式进行删除:
#removepkg test-1.0-i386-1.tgz
#removepkg test-1.0-i386-1
#removepkg test.tgz
#removepkg test
4.upgradepkg --更新
upgradepkg将一个老的Slackware .tgz包升级到一个新的版本。它将新版本的软件包安装到上,并且删除那些在新版本中没有的老版本的文件。
#upgradepkg package.tgz
#upgradepkg package1.tgz%package2.tgz
注意:
提示:
ROOT=/mnt upgradepkg package.tgz
5.makepkg --制作
1)为什么要制作Slackware包?
我认为:
2)制作方法:
这里为以制做cce的Slackware包为例,说明makepkg的使用方法。
# mkdir /works
# tar zxvf cce-0.51.tar.gz
# cd cce-0.51
# ./configure --prefix=/works
# make && make install
# cd /works; makepkg cce.tgz
接下来,makepkg会询问是否将所有文件的权限为755 (rwxr-xr-x)并将所有者设为root.root.基于安全考虑也应选yes.
现在makepkg就开始进行包的制作了,一会儿就好了。现在你就可以使用installpkg安装/works目录下的cce.tgz了。当然现在我们可以删除/works目录:
# rm -rf /works
注意:
软件包的描述文件--slack-desc的制作
这是一个附加(或者非必须)部分,makepkg不会为你建立一个 slack-desc文件,为了制作一个标准的Slackware包,我建议大家在制作Slackware时制作此文件!slack-desc也位于 install目录下,该文件要遵循一定的格式,否则不会被显示!
"#"开始的行为注释。行长度不得超过表尺的右边界,共11行,哪怕你的描述没有那么多,要要保证有11行,当然这可用空行补上。如下源文件:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler--------------------------------------------------------------|
kdebase: kdebase (KDE base package)
kdebase:
kdebase: Core applications for the K Desktop Environment. Included are: kdm
kdebase: (replacement for xdm), kwin (window manager), konqueror (filemanager,
kdebase: web browser, ftp client), konsole (xterm replacement), kicker
kdebase: (application starter and desktop pager), kaudio (audio server),
kdebase: kdehelp (viewer for kde help files, info and man pages), kthememgr
kdebase: (system for managing alternate theme packages) plus other KDE
kdebase: components like kcheckpass, kikbd, kscreensaver, kcontrol, kfind,
kdebase: kfontmanager, kmenuedit, and kappfinder.
kdebase:
简介:pkgtool可以让你在交互式的图形界面下进行包的安装|删除,以及查看已安装的包。当然,通过它我们还可以进行一些基本的系统配置(比如鼠标|时区|Lilo|服务等)。
工作机理:
相应的办法得依靠外来得Slackware包管理工具。