-1

There is a webpage describes a method for installing rpms as a non-root user using apt.

This page describes a simple method for installing the CMS software rpms as a non-root user using apt. A script developed by CMS, bootstrap.sh, provides the configuration necessary to use apt as a non-root user for software installation.

Also look at the commands and the scripts mentioned in the commands:

Recipe for the impatient (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

To install a new release:

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

Their purpose is to ensure that proper dependencies will be satisfied. They use host's linux at bare minimum and build all their software by themselves. Since hosts' linux may be outdated, they do not depend on specific Linux distribution. All packages, e.g. gcc and python, are compiled by their software management tools.

I have never seen this before, so I wonder generally how one implements installing rpms as a non-root user using apt? (Not necessarily the method in the webpage, if you don't know it).

Do the methods work by creating some sort of virtual machines or some other kinds of virtualization?

Thanks.

closed as off-topic by Magellan, user9517, mdpc, Jenny D, MadHatter Jan 11 '16 at 12:55

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions should demonstrate reasonable business information technology management practices. Questions that relate to unsupported hardware or software platforms or unmaintained environments may not be suitable for Server Fault - see the help center." – Magellan, Jenny D, MadHatter
  • "Questions on Server Fault must be about managing information technology systems in a business environment. Home and end-user computing questions may be asked on Super User, and questions about development, testing and development tools may be asked on Stack Overflow." – user9517, mdpc
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Did you read what it does? Do you know bash? – Joel E Salas Jan 7 '16 at 1:51
  • I know some bash but can't find out what method it uses to do that. – Tim Jan 7 '16 at 2:51
  • That sort of "installation" method is truly frightening. Enough so that I don't think I would ever seriously consider using that software if any sort of alternative existed. – Michael Hampton Jan 7 '16 at 3:00
  • @MichaelHampton: Thanks. Why is it "frightening"? How should a non-frightening method be like? – Tim Jan 7 '16 at 3:03
2

By "installing" RPM packages as a non-root user you can't update the RPM database, so you miss out on all the things you're normally rely on the package manager for:

  • resolving dependancies (during upgrades and other system changes)
  • reporting (so you know which outdated CrappySoftwareTM is installed)
  • upgrading
  • software removal

From an administrative perspective you're not really installing packages when they don't get installed by root and registered in the RPM database. For all intents and purposes you might as well install from source in your home directory or simply copy binaries there.

The latter is what effectively happens when you try to install a RPM without root rights.

A RPM package is container, not unlike a tar or zip file (a cpio archive actually) and you can simply extract the contents (e.g. with rpm2cpio) and get to the actual software and ignore the scripts and meta-data the package manager normally uses for a proper installation...

  • Thanks. Do you understand how rpm packages can be installed by apt which is supposed to work with deb packages only? – Tim Jan 7 '16 at 8:07
  • apt-rpm.org – HBruijn Jan 7 '16 at 8:16
2

APT can't install RPM packages (there used to be an apt-rpm fork, used in Linox, but I doubt it is maintained). You can however install the rpm program using apt or use alien to convert rpm packages to deb packages.

RPM packages which have been built relocatable can be installed in a different prefix, including the home directory of a user. In this case it can be done without root access.

Not the answer you're looking for? Browse other questions tagged or ask your own question.