使用 apt 以非 root 用户身份安装 rpm 的方法?

使用 apt 以非 root 用户身份安装 rpm 的方法?

网页描述了使用 apt 以非 root 用户身份安装 rpm 的方法。

本页描述了一种简单的方法使用 apt 以非 root 用户身份安装 CMS 软件 rpm. CMS 开发的脚本, bootstrap.sh提供以非root用户身份使用apt进行软件安装所需的配置。

另外查看命令以及命令中提到的脚本:

针对不耐烦者的食谱(SH / BASH / ZSH):

export VO_CMS_SW_DIR=/x/y/z
# E.g.:
# export VO_CMS_SW_DIR=$PWD/w
export LANG="C"
mkdir -p $VO_CMS_SW_DIR
wget -O $VO_CMS_SW_DIR/bootstrap.sh http://cmsrep.cern.ch/cmssw/cms/bootstrap.sh
# export BUILD_ARCH=slc5_amd64 # (only for online)
export SCRAM_ARCH=slc6_amd64_gcc491
sh -x $VO_CMS_SW_DIR/bootstrap.sh setup -path $VO_CMS_SW_DIR -arch $SCRAM_ARCH >& $VO_CMS_SW_DIR/bootstrap_$SCRAM_ARCH.log

要安装新版本:

export VO_CMS_SW_DIR=/x/y/z
# E.g.:
# export VO_CMS_SW_DIR=$PWD/w
export LANG="C"
# export BUILD_ARCH=slc5_amd64 (only for online)
export SCRAM_ARCH=slc6_amd64_gcc491
source $VO_CMS_SW_DIR/$SCRAM_ARCH/external/apt/*/etc/profile.d/init.sh
apt-get update
apt-get install cms+cmssw+CMSSW_7_4_4
NOTE : To use cmsShow with MAC OS in an FWLite build, you need to also add the FWLite data packages.
apt-get -y install cms+fwlite+CMSSW_7_4_4_FWLITE
apt-get -y install cms+fwlitedata-toolfile+1.0 cms+fwlitedata+25

他们的目的是确保满足适当的依赖关系。他们使用主机的最低限度 Linux 并自行构建所有软件。由于主机的 Linux 可能已过时,因此他们不依赖于特定的 Linux 发行版。所有软件包(例如 gcc 和 python)均由他们的软件管理工具编译。

我以前从未见过这种情况,所以我想知道通常如何使用 apt 以非 root 用户身份安装 rpm?(如果您不知道,不一定是网页中的方法)。

这些方法是否通过创建某种虚拟机或其他类型的虚拟化来实现?

谢谢。

答案1

通过以非 root 用户身份“安装” RPM 包,您无法更新 RPM 数据库,因此您会错过通常依赖包管理器进行的所有操作:

  • 解决依赖关系(在升级和其他系统更改期间)
  • 报告(这样您就知道安装了哪些过时的 CrappySoftware TM )
  • 升级
  • 软件删除

从管理角度来看,如果软件包没有由 root 安装并在 RPM 数据库中注册,您实际上并没有安装它们。无论出于何种目的,您都不妨从主目录中的源代码安装,或者简单地将二进制文件复制到那里。

当您尝试在没有 root 权限的情况下安装 RPM 时,实际上就会发生后者。

RPM 包是一个容器,与 tar 或 zip 文件(实际上是 cpio 存档)不同,您可以简单地提取内容(例如使用rpm2cpio)并获取实际的软件,而忽略包管理器通常用于正确安装的脚本和元数据……

答案2

APT 无法安装 RPM 包(以前有一个 apt-rpm 分支,用于 Linox,但我怀疑它是否在维护)。不过,您可以rpm使用安装程序apt,或者使用alien将 rpm 包转换为 deb 包。

可重定位的 RPM 软件包可以安装在不同的前缀中,包括用户的主目录。在这种情况下,无需 root 权限即可完成。

相关内容