forked from Controls/gitea-pages
283 lines
8.7 KiB
ReStructuredText
283 lines
8.7 KiB
ReStructuredText
Update SL57 and later i386 and x86_64
|
|
=====================================
|
|
|
|
Introduction
|
|
------------
|
|
|
|
Keep the following order:
|
|
|
|
- Get the latest security updates from the SL mirror for the
|
|
"update.$ARCH" repository.
|
|
|
|
- Build kernel modules.
|
|
|
|
- Get updates for the "psi" repository.
|
|
|
|
- Get updates for the "other" repository.
|
|
|
|
- Get updates for the "nonfree" repository.
|
|
|
|
- Create new snapshots.
|
|
|
|
- Release "unstable" from new snapshots.
|
|
|
|
- Create a new PSI version.
|
|
|
|
- Release "testing".
|
|
|
|
- Release "stable".
|
|
|
|
|
|
Update The Different Repositories
|
|
---------------------------------
|
|
|
|
Get the Latest Security Update RPMS From SL Mirror
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Get the latest security update RPMS from the local SL57 mirror for
|
|
both architectures, i386 and x86_64, by invoking
|
|
`rsync_security_updates_to_all_directories.sh` on tux50.
|
|
|
|
They will be copied to the corresponding `.../updates.${ARCH}/all/`
|
|
directories. This will take some time::
|
|
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/scripts/
|
|
# nohup ./rsync_security_updates_to_all_directories.sh > \
|
|
# UPDATE_LOG/$(date +%Y-%m-%d)-rsync_security_updates_to_all_directories.log 2>&1 &
|
|
|
|
Then, check for errors in the log file::
|
|
|
|
# grep -i error UPDATE_LOG/20091221-rsync_security_updates_to_all_directories.log
|
|
...
|
|
|
|
Finally, run `update_symlinks_in_rpms_all.sh` to keep all symlinks in
|
|
the directory
|
|
`/afs/psi.ch/software/linux/dist/scientific/57/RPMS_all/` up to date.
|
|
|
|
The script removes dead links and creates new links to the new RPMS.
|
|
It is basically not necessary for running PSI updates, rather it's
|
|
just convenient to have a directory with the list of all RPMS of a
|
|
distribution::
|
|
|
|
# ./update_symlinks_in_RPMS_all.sh
|
|
|
|
Build Kernel Modules
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
First install the latest kernel and kernel-devel packages on the
|
|
respective build systems.
|
|
|
|
Then build the RPMS on the corresponding build systems using the
|
|
scripts below.
|
|
|
|
32 bit::
|
|
|
|
# [gasser_m@tukan50-32]
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/scripts
|
|
# sh build_kernel_modules.sh 2.6.18-194.3.1.el5 > \
|
|
# UPDATE_LOG/20100630-build_kernel_modules-2.6.18-194.3.1.el5.i686.log 2>&1
|
|
|
|
# check-set-of-built-kernel-modules.bash /tmp/rpms_for_2.6.18-194.3.1.el5 \
|
|
# KERNEL_MODULES_TO_BUILD/sl5.i386.kms-to-be-built
|
|
|
|
# sh build-gpfs.sl5x.i386.sh
|
|
|
|
|
|
64 bit::
|
|
|
|
# [gasser_m@tux50-64]
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/scripts
|
|
# sh build_kernel_modules.sh 2.6.18-194.3.1.el5 > \
|
|
# UPDATE_LOG/20100630-build_kernel_modules-2.6.18-194.3.1.el5.x86_64.log 2>&1
|
|
|
|
# check-set-of-built-kernel-modules.bash /tmp/rpms_for_2.6.18-194.3.1.el5 \
|
|
# KERNEL_MODULES_TO_BUILD/sl5.x86_64.kms-to-be-built
|
|
|
|
# sh build-gpfs.sl5x.x86_64.sh
|
|
|
|
|
|
Finally, from both build systems, copy the built kernel modules to the
|
|
psi repository::
|
|
|
|
# cp -av `cat /tmp/rpms_for_2.6.18-194.3.1.el5` /afs/psi.ch/software/linux/dist/scientific/57/psi/all/
|
|
|
|
|
|
Get Updates For The Psi Repository
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Get Updates For The Other Repository
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
Get Updates For The Nonfree Repository
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Create New Snapshots
|
|
--------------------
|
|
|
|
The script `create_new_snapshots.sh` will pick out the latest version
|
|
of each RPM found in the active repositories.
|
|
|
|
It will create a subdirectory (snapshot) in each repository and name
|
|
it after the current date using the format YYYYMMDD.
|
|
|
|
Then it will place a symbolic link into this subdirectory for each
|
|
latest RPM found in the `all` subdirectory of the currently processed
|
|
repository.
|
|
|
|
To invoke it run the following command::
|
|
|
|
# nohup ./create_new_snapshots.sh alldirs > UPDATE_LOG/$(date +%Y-%m-%d)-create_new_snapshots.log 2>&1 &
|
|
|
|
|
|
Release Unstable, Create A New PSI Version And Release The Other SLP Snapshots
|
|
------------------------------------------------------------------------------
|
|
|
|
Release Unstable
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
The "unstable" distribution is where active development of SLP occurs.
|
|
Generally, this distribution is run by developers and those who like
|
|
to live on the edge.
|
|
|
|
The command `release_unstable.sh` will update the respective symlinks
|
|
`.../unstable` to the latest snapshots.
|
|
|
|
Because `release_unstable.sh` is interactive, you should not redirect
|
|
the output to a file, as you won't be able to see the questions asked.
|
|
|
|
Before `release_unstable.sh`::
|
|
|
|
# [gasser_m@tux50]
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/
|
|
# ls -l */unstable
|
|
|
|
# ./release_unstable.sh
|
|
|
|
|
|
After `release_unstable.sh`::
|
|
|
|
# ls -l */unstable
|
|
|
|
|
|
As soon as an unstable distribution has become testing a new unstable
|
|
can be generated which again points to the new latest snapshots.
|
|
|
|
|
|
Create A New PSI Version
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Run::
|
|
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/scripts
|
|
# sh create_new_psi_version.sh
|
|
|
|
As soon as the new PSI version is created, i.e. the symbolic links
|
|
which point to the same target snapshots as the latest unstable
|
|
snapshots, the psi-version-info.txt file has to be actualized to
|
|
activate the PSI auto-update again for the hosts which are set to
|
|
unstable::
|
|
|
|
# ./create_file_psiversion-info.sh
|
|
|
|
Eventually, test the unstable release.
|
|
|
|
|
|
Release Testing
|
|
~~~~~~~~~~~~~~~
|
|
|
|
The "testing" distribution contains packages that haven't been
|
|
accepted into a "stable" release yet, but they are in the queue for
|
|
that. The main advantage of using this distribution is that it has
|
|
more recent versions of software.
|
|
|
|
The command `release_testing.sh` will update the respective symlinks
|
|
`.../testing` to the latest unstable snapshots.
|
|
|
|
If the puppet environment DesktopSL5Unstable was modified and the
|
|
changes should be made in DesktopSL5Testing, too, run
|
|
`rsync_puppet_env_testing_with_unstable.sh` before
|
|
`release_testing.sh`.
|
|
|
|
Because `release_testing.sh` is interactive, you should not redirect
|
|
the output to a file, as you won't be able to see the questions asked::
|
|
|
|
# [gasser_m@tux50]
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/scripts
|
|
|
|
# ./rsync_puppet_env_testing_with_unstable.sh
|
|
# ./rsync_kickstart_dir_DesktopTesting_with_DesktopUnstable.sh
|
|
# ./release_testing.sh
|
|
|
|
# ./create_file_psiversion-info.sh
|
|
|
|
|
|
Release Stable
|
|
~~~~~~~~~~~~~~
|
|
|
|
To activate the PSI auto-update again for testing hosts the
|
|
psi-version-info.txt file has to be actualized.
|
|
|
|
The "stable" distribution, formerly known as "current", contains the
|
|
latest officially released distribution of SLP.
|
|
|
|
This is the production release of SLP, the one which we primarily
|
|
recommend using.
|
|
|
|
The command `release_stable.sh` will update the respective symlinks
|
|
`.../stable` to the latest unstable snapshots.
|
|
|
|
The procedure is analogous to the procedure described in the "Release
|
|
Testing" section::
|
|
|
|
# ./rsync_puppet_env_stable_with_testing.sh
|
|
# ./rsync_kickstart_dir_DesktopStable_with_DesktopTesting.sh
|
|
# ./release_stable.sh
|
|
# ./create_file_psiversion-info.sh
|
|
|
|
|
|
### begin ./release_stable.sh ###
|
|
Sourcing configuration file ./dist-config
|
|
|
|
TOP_DIR is /afs/psi.ch/software/linux/dist/scientific/57
|
|
|
|
Running ./release_stable.sh ...
|
|
|
|
Latest snapshot in psi:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/psi/testing -> 20090916
|
|
Latest snapshot in others:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/others/testing -> 20090916
|
|
Latest snapshot in update.i386:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/update.i386/testing -> 20090916
|
|
Latest snapshot in update.x86_64:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/update.x86_64/testing -> 20090916
|
|
Latest snapshot in kernel:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/kernel/testing -> 2.6.18-128.7.1.el5
|
|
Latest snapshot in nonfree:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/nonfree/testing -> 20090916
|
|
Latest snapshot in cluster:
|
|
/afs/psi.ch/software/linux/dist/scientific/57/cluster/testing -> 20090916
|
|
|
|
Relink stable to the latest snapshots (y/n)?
|
|
|
|
|
|
Before `release_stable.sh`::
|
|
|
|
# [gasser_m@tux50]
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/57/
|
|
# ls -l */stable
|
|
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:25 cluster/stable -> 20090316
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:23 enhanced/stable -> 20090316
|
|
lrwxr-xr-x 1 gasser_m ait 18 Sep 18 11:24 kernel/stable -> 2.6.18-128.1.1.el5
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:24 nonfree/stable -> 20090316
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:22 others/stable -> 20090316
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:21 psi/stable -> 20090821
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:22 update.i386/stable -> 20090820
|
|
lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:21 update.x86_64/stable -> 20090820
|
|
|
|
|
|
After `release_stable.sh`::
|
|
|
|
# ls -l */stable
|