Changes between Initial Version and Version 1 of GpoLab/MyplcPackageInstallationTips


Ignore:
Timestamp:
05/05/11 12:25:14 (13 years ago)
Author:
chaos@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GpoLab/MyplcPackageInstallationTips

    v1 v1  
     1[[PageOutline]]
     2
     3= Ideas for handling package installation on MyPLC !PlanetLab nodes =
     4
     5== Introduction ==
     6
     7Out of the box, MyPLC !PlanetLab nodes can't run yum to install packages.  This is because they use their MyPLC as a repository, and MyPLCs do not, by default, operate correctly as yum repositories for their nodes.
     8
     9The cleanest solution is to install the `noderepo` package on the MyPLC.  If you're interested in installing noderepo, ask GPO infra what we had to do to configure it on our testbed (and we'll try to get some documentation up here soon).
     10
     11However, if you don't have noderepo, here are some other things to try.
     12
     13== Use yumdownloader to download packages and dependencies on the MyPLC ==
     14
     15Suppose you are trying to install one or more packages both on the MyPLC host and on the !PlanetLab nodes controlled by that MyPLC, and you don't want to have to find all the packages and all their dependencies by hand.  You may be able to use a utility called `yumdownloader` to download RPMs and dependencies on the MyPLC ''before'' you install the package on that MyPLC.
     16
     17=== Install yum-utils ===
     18
     19The `yumdownloader` utility is part of the `yum-utils` package.  Install this on your MyPLC:
     20{{{
     21sudo yum install yum-utils
     22}}}
     23
     24=== Download the package(s) on the MyPLC first ===
     25
     26If the package(s) you want to install are not yet on the MyPLC, you can download both packages and dependencies by doing something like:
     27{{{
     28rpm_cache_dir=~/rpms
     29rm -r ${rpm_cache_dir}
     30mkdir ${rpm_cache_dir}
     31sudo yumdownloader --destdir ${rpm_cache_dir} --resolve <package1> <package2> ...
     32}}}
     33This will download all RPMs you specify on the command line, and any dependencies ''which are not yet installed on the MyPLC''.  (So do this before you install the packages on the MyPLC itself, or you'll only download the packages you asked for, and not their dependencies.)
     34
     35=== Install the RPMs on each node ===
     36
     37 * Copy `${rpm_cache_dir}` and its contents over to each node
     38 * On each node, try installing the packages:
     39{{{
     40rpm_cache_dir=~/rpms
     41cd ${rpm_cache_dir}
     42sudo rpm -iv *.rpm
     43}}}
     44
     45Keep an eye out for errors, and check afterwards to make sure the packages you asked for are actually now installed:
     46{{{
     47rpm -q <package1> <package2> ...
     48}}}
     49
     50Installed dependencies may be different on different systems, and this may not work.