- 论坛徽章:
- 0
|
原帖由 skelton 于 2007-2-9 16:33 发表于 3楼
多谢楼上的,不过俺还是没有分清,能不能举个例子
--root 使用比较少见,简单说比方 package 当初带的资讯是把档案安装到 /usr/bin 目录内,那你使用如下安装方式:
- rpm -ihv --root /xyz xxx.rpm
复制代码
这样到时候档案会装到 /xyz/usr/bin 内。
若是要更明确一点说,就是 rpm 会先呼叫 chroot 到 /xyz 内,那后续把 /xyz 当作是 / 进行后续的操作。
实际上,--root 参数一般通常是给 linux distro 安装程式使用的功能居多。
举例安装 linux 时候,比方选择 hda6 为 / 分割区,那安装的 package 提供的档案要放在 hda6 分割区内,那这如何达成呢 ? 处理方式就是安装过程会先暂时把 hda6 挂入到 /mnt/hda6 的目录内,那后续就需要使用 rpm -ihv --root /mnt/hda6 方式来安装 package。这样使用的话, rpm 会以 /mnt/hda6 当作 / 目录,然后进行安装与读写 rpm db。
当然,这样使用不只是以 /mnt/hda6 为 root 目录来进行安装,rpm 安装套件包是需要读写 rpm db 的,那这样的话实际读写的 rpm db 会存取的是 /mnt/hda6/var/lib/rpm 目录。
当然,若你是一般系统使用该操作,系统大概告诉你 /xyz/var/lib/rpm 没有 rpmdb 相关资讯,所以出现错误而结束。
--------------------------
至于 --prefix 使用部份,一般常见于可能是因为空间不够用,所以 rpm package 打算安装到其他指定的目录内避免空间暴掉。比方:
- # df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/hda3 3.9G 385M 3.3G 11% /
- /dev/hda1 99M 7.5M 87M 8% /boot
- /dev/hda7 91G 56G 35G 62% /home
- /dev/hda6 3.9G 2.0G 1.8G 53% /usr
- /dev/hdb1 466G 425G 41G 92% /home2
复制代码
像是有个 xxx.rpm 本身有 3G 多,一般安装好会放于 /usr/ 内,这样让硬碟空间吃满。解决方式,比方发现 /home2 空间多,那可以这样安装:
- rpm -ihv --prefix=/home2 xxx.rpm
复制代码
如此后续档案都会以相对路径方式应对放置于 /home2 目录内。当然,后续纪录存取的 rpm db,是 /var/lib/rpm 目录内的 db 档案。
不过要注意的是,只有 "relocatable package" 这些软件包可以使用 --prefix,简单说当初写 rpm spec 时内容就要先提供 prefix 相关资讯,要不然不属于 "relocatable package" 的项目是无法支援 --prefix 参数使用。
- rpm -qi lftp
- Name : lftp Relocations: (not relocatable)
- Version : 3.5.6 Vendor: Mandriva
- Release : 1mdv2007.1 Build Date: Fri 24 Nov 2006 07:27:08 AM CST
- Install Date: Thu 14 Dec 2006 07:15:13 AM CST Build Host: n1.mandriva.com
- Group : Networking/File transfer Source RPM: lftp-3.5.6-1mdv2007.1.src.rpm
- Size : 862797 License: GPL
- Signature : DSA/SHA1, Fri 24 Nov 2006 08:21:00 AM CST, Key ID dd684d7a26752624
- Packager : Iurt the rebuild bot <warly@mandriva.com>
- URL : http://lftp.yar.ru/
- Summary : Commandline ftp client
复制代码
像是上面哪个 package 就是属于无法使用 --prefix 参数的软件包。
但是其实该 relocatable 的 package 不是想像中这样方便使用,其中牵涉到程序本身读取设定档若是写死目录时,这样装会导致程序抓不到档案.... 所以要应用上还要看情况。
--
[ 本帖最后由 kenduest 于 2007-2-10 04:45 编辑 ] |
|