Changeset 1205


Ignore:
Timestamp:
Jun 20, 2009, 11:39:31 PM (12 years ago)
Author:
ezyang
Message:
Improve install docs from not-backward install.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/fc11-dev/server/doc/install-howto.sh

    r1198 r1205  
    88
    99boot=${1:$(cat /scripts-boot-count)}
     10
     11branch=branches/fc11-dev
    1012
    1113doreboot() {
     
    5355
    5456    cd /srv
    55     svn co svn://$source_server/ repository
     57    svn co svn://$source_server/$branch repository
    5658
    5759    sed -i 's/^(# *)*store-passwords.*/store-passwords = no/' /root/.subversion/config
     
    6567# Run "make install-deps" to install various prereqs.  Nonstandard
    6668# deps are in /mit/scripts/rpm.
     69    YUM install -y make
    6770    make install-deps
    6871
     
    7275# Check out the scripts /etc configuration
    7376    cd /root
    74     svn co svn://scripts.mit.edu/server/fedora/config/etc etc
     77    svn co svn://scripts.mit.edu/$branch/server/fedora/config/etc etc
     78    # backslash to make us not use the alias
    7579    \cp -a etc /
    7680
     81# NOTE: You will have just lost DNS resolution and the abilit
     82# to do password SSH in
     83
     84    service named start
     85    chkconfig named on
     86
     87# XXX: This sometimes doesn't exist, but it really sucks if it
     88# does exist. So check for it.
    7789# yum remove nss_ldap, because nss-ldapd conflicts with it
     90
     91# In the case of the Kerberos libraries, you'll be told that
     92# there are conflicting files with the 64-bit versions of the packages,
     93# which we scriptsify.  You'll have to use --force to install those
     94# rpms despite the conflicts.  After doing that, you may want to
     95# install the corresponding 64-bit scriptsified versions again, just
     96# to be safe in case the 32-bit versions overwrite files that differ.
     97# When you try this, it will complain that you already have the same
     98# version installed; again, you'll need to use --force to do it anyway.
     99
     100# We need yumdownloader to force some RPMs
     101    # XXX: This might be wrong. Sanity check what packages ou
     102    # have when done
     103    YUM install -y yum-utils
     104    yumdownloader krb5-libs
     105    # XXX: These version numbers are hardcoded, need some cli-fu to generalize
     106    rpm -i krb5-libs-1.6.3-20.fc11.i586.rpm
     107    rpm -U --force krb5-libs-1.6.3-20.fc11.scripts.1138.x86_64.rpm
    78108
    79109# env NSS_NONLOCAL_IGNORE=1 yum install scripts-base
    80110    YUM install -y scripts-base
    81111
    82 # Rebuild mit-zephyr on a 32-bit machine, like the one at Joe's home.
     112# Install mit-zephyr
     113    YUM install -y mit-zephyr
    83114
    84115# Remember to set NSS_NONLOCAL_IGNORE=1 anytime you're setting up
    85116# anything, e.g. using yum. Otherwise useradd will query LDAP in a stupid way
    86 # that makes it hang forever.
    87 
    88 # Install and configure bind
    89 # - env NSS_NONLOCAL_IGNORE=1 yum install bind
    90 # - chkconfig named on
    91 # - service named start
     117# that makes it hang forever. (This is why we're using YUM, not yum)
    92118
    93119# Reload the iptables config to take down the restrictive firewall
    94 # service iptables restart
     120    service iptables restart
    95121
    96122# Copy over root's dotfiles from one of the other machines.
     123# Perhaps a useful change is to remove the default aliases
    97124
    98125# Replace rsyslog with syslog-ng by doing:
    99 # # rpm -e --nodeps rsyslog
    100 # # yum install syslog-ng
    101 
    102 # Install various dependencies of the scripts system, including syslog-ng,
    103 # glibc-devel.i586, python-twisted-core, mod_fcgid, nrpe, nagios-plugins-all.
     126    rpm -e --nodeps rsyslog
     127    YUM install -y syslog-ng
     128
     129# Install various dependencies of the scripts system, including
     130# glibc-devel.i586 (ezyang: already installed for me),
     131# python-twisted-core (ditto), mod_fcgid, nrpe, nagios-plugins-all.
     132    YUM install -y mod_fcgid
     133    YUM install -y nrpe
     134    YUM install -y nagios-plugins-all
    104135
    105136# Disable NetworkManager with chkconfig NetworkManager off. Configure
     
    107138# traffic over the back end. Make sure that chkconfig reports "network" on, so
    108139# that the network will still be configured at next boot.
     140# ezyang: For me, NetworkManager was not installed at this point, and
     141# we had already done the basic config for networking front end and
     142# back end (because I wanted ssh access, and not just conserver access)
    109143
    110144# Fix the openafs /usr/vice/etc <-> /etc/openafs mapping by changing
     
    112146#       /afs:/usr/vice/cache:10000000
    113147# Also fix ThisCell to contain athena.mit.edu in both directories
     148    echo "/afs:/usr/vice/cache:10000000" > /usr/vice/etc/cacheinfo
     149    # ezyang: ThisCell on b-k and c-w don't have anything special
     150    # written here
    114151
    115152# Figure out why Zephyr isn't working. Most recently, it was because there
    116153# was a 64-bit RPM installed; remove it and install Joe's 32-bit one
     154    YUM erase -y mit-zephyr
     155    # mit-zephyr has a spurious dependency on mit-krb-config
     156    yumdownloader mit-zephyr.i386
     157    # if deps change, this breaks
     158    YUM install -y libXaw.i586 libXext.i586 libXmu.i586 ncurses-libs.i586 readline.i58
     159    rpm -i --nodeps mit-zephyr-2.1-6-linux.i386.rpm
    117160
    118161# Install the athena-base, athena-lprng, and athena-lprng-misc RPMs
     
    123166# install the rest of the things it really does depend on.  This will
    124167# include a bunch of 32-bit rpms; go ahead and install the .i586 versions
    125 # of them.  In the case of the Kerberos libraries, you'll be told that
    126 # there are conflicting files with the 64-bit versions of the packages,
    127 # which we scriptsify.  You'll have to use --force to install those
    128 # rpms despite the conflicts.  After doing that, you may want to
    129 # install the corresponding 64-bit scriptsified versions again, just
    130 # to be safe in case the 32-bit versions overwrite files that differ.
    131 # When you try this, it will complain that you already have the same
    132 # version installed; again, you'll need to use --force to do it anyway.
    133 # Yuck.
     168# of them.
     169    YUM install -y athena-base
     170    YUM install -y athena-lprng
     171    yumdownloader athena-lprng-misc
     172    # ezyang: I couldn't find any deps for this that existed in the repos
     173    # You might get a "find: `/usr/athena/info': No such file or directory"
     174    # error; this is fine
     175    rpm -i --nodeps athena-lprng-misc-9.4-0.i386.rpm
    134176
    135177# Install the full list of RPMs that users expect to be on the
    136 # scripts.mit.edu servers.  See server/doc/rpm and
    137 # server/doc/rpm_snapshot.  (Note that this is only a snapshot, and not
    138 # all packages may in fact be in use.)
     178# scripts.mit.edu servers.
     179
     180# ezyang: Running the below I got file conflicts. To fix (since I had
     181# botched steps above), I manually compared package lists and installed
     182# them.  If you've done the krb5 setup originally correctly, then
     183# write down what you had to do here.
     184    yumdownloader krb5-devel
     185    rpm -i --force krb5-devel-1.6.3-20.fc11.i586.rpm
     186    rpm -U --force krb5-devel-1.6.3-20.fc11.scripts.1138.x86_64.rpm
     187    yumdownloader krb5-server
     188    rpm -i --force krb5-server-1.6.3-20.fc11.scripts.1138.x86_64.rpm
     189
     190
     191# on another server, run:
     192rpm -qa --queryformat "%{Name}.%{Arch}\n" | sort > packages.txt
     193# arrange for packages.txt to be passed to the server, then run:
     194    # notice that yum is not capitalized
     195    # Also notice skip-broken
     196    NSS_NONLOCAL_IGNORE=1 cat packages.txt | xargs yum install -y --skip-broken
    139197
    140198# Check which packages are installed on your new server that are not
     
    142200# on the new machine.  Otherwise, aside from bloat, you may end up
    143201# with undesirable things for security, like sendmail.
     202    rpm -qa --queryformat "%{Name}.%{Arch}\n" | sort > newpackages.txt
     203    diff -u packages.txt newpackages.txt  | less
     204    # if all went well, you'll probably see multiple kernel versions
     205    # as the only diff
     206    # ezyang: I got exim installed as another package
    144207
    145208# Install the full list of perl modules that users expect to be on the
Note: See TracChangeset for help on using the changeset viewer.