[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [PATCH 03/29] Step 2 of merging installer images: Move most everything out of makeinitrd.



2 things:

1.
+mv $DEST/usr/sbin/logpicker $DEST/usr/bin/logpicker
+mv $DEST/usr/sbin/anaconda $DEST/usr/bin/anaconda

why are we moving those? and why are they not in /usr/bin at the first place?

2.
we are creating the $DEST/boot directory and removing it later, is that necessary?

otherwise looks OK

--

  Martin Gracik

----- "Chris Lumens" <clumens redhat com> wrote:

> There's no need for all this file creation, installation, and copying
> to exist
> in makeinitrd when it could just as easily be in upd-instroot with
> everything
> else.
> ---
>  scripts/mk-images    |  223
> +------------------------------------------------
>  scripts/upd-instroot |  230
> +++++++++++++++++++++++++++++++++++++++++++++++---
>  2 files changed, 218 insertions(+), 235 deletions(-)
> 
> diff --git a/scripts/mk-images b/scripts/mk-images
> index bd85e80..4fa7ae3 100755
> --- a/scripts/mk-images
> +++ b/scripts/mk-images
> @@ -171,7 +171,6 @@ LIBEXECBINDIR=$IMGPATH/usr/libexec/anaconda
>  ADDRSIZE=$IMGPATH/usr/$LIBDIR/anaconda/addrsize
>  MKS390CDBOOT=$IMGPATH/usr/$LIBDIR/anaconda/mk-s390-cdboot
>  GENMODINFO=$IMGPATH/usr/libexec/anaconda/genmodinfo
> -KEYMAPS=$TMPDIR/keymaps-$BUILDARCH.$$
>  SCREENFONT=$IMGPATH/usr/share/anaconda/screenfont-${BASEARCH}.gz
>  MODLIST=$IMGPATH/usr/libexec/anaconda/modlist
>  MODINFO=$TMPDIR/modinfo-$BUILDARCH.$$
> @@ -206,10 +205,10 @@ if [ "$BUILDARCH" != "s390" -a "$BUILDARCH" !=
> "s390x" ]; then
>      # go ahead and create the keymaps so we only have to do it once
>      if [ -f $IMGPATH/usr/share/anaconda/keymaps-override-$BASEARCH ];
> then
>          echo "Found keymap override, using it"
> -        cp $IMGPATH/usr/share/anaconda/keymaps-override-$BASEARCH
> $KEYMAPS
> +        cp $IMGPATH/usr/share/anaconda/keymaps-override-$BASEARCH
> $IMGPATH/etc/keymaps.gz
>      else
>          echo "Running: $GETKEYMAPS $BUILDARCH $KEYMAPS $IMGPATH"
> -        $GETKEYMAPS $BUILDARCH $KEYMAPS $IMGPATH
> +        $GETKEYMAPS $BUILDARCH $IMGPATH/etc/keymaps.gz $IMGPATH
>          if [ $? != 0 ]; then
>              echo "Unable to create keymaps and thus can't create
> initrd."
>              exit 1
> @@ -422,85 +421,11 @@ instbin() {
>      fi
>  }
>  
> -setupSshd() {
> -    echo "sshd:x:74:74:Privilege-separated
> SSH:/var/empty/sshd:/sbin/nologin" \
> -    	>> $MBD_DIR/etc/passwd
> -
> -    # enable root shell logins
> -    echo "root::14438:0:99999:7:::" >> $MBD_DIR/etc/shadow
> -
> -    # enable 'install' account that starts anaconda on login
> -    echo "install:x:0:0:root:/root:/sbin/loader" >>
> $MBD_DIR/etc/passwd
> -    echo "install::14438:0:99999:7:::" >> $MBD_DIR/etc/shadow
> -
> -    chmod 0400 $MBD_DIR/etc/shadow
> -
> -    cat > $MBD_DIR/etc/pam.d/login << EOF
> -#%PAM-1.0
> -auth        required      pam_env.so
> -auth        sufficient    pam_unix.so likeauth nullok
> -auth        required      pam_deny.so
> -account     required      pam_unix.so
> -password    sufficient    pam_unix.so nullok use_authtok md5 shadow
> -password    required      pam_deny.so
> -session     required      pam_limits.so
> -session     required      pam_unix.so
> -EOF
> -    cp -f $MBD_DIR/etc/pam.d/login $MBD_DIR/etc/pam.d/sshd
> -    cp -f $MBD_DIR/etc/pam.d/login $MBD_DIR/etc/pam.d/remote
> -
> -    mkdir -m 0700 -p $MBD_DIR/etc/ssh
> -    if [ "$BUILDARCH" = "s390" -o "$BUILDARCH" = "s390x" ]; then
> -        # key generation takes ages on s390, you really don't want
> this
> -        # for every installation attempt. These are NOT the keys of
> the
> -        # installed system!
> -        echo -n "Generating SSH1 RSA host key: "
> -        /usr/bin/ssh-keygen -q -t rsa1 -f
> $MBD_DIR/etc/ssh/ssh_host_key \
> -                            -C '' -N '' >&/dev/null
> -        echo
> -        echo -n "Generating SSH2 RSA host key: "
> -        /usr/bin/ssh-keygen -q -t rsa -f
> $MBD_DIR/etc/ssh/ssh_host_rsa_key \
> -                            -C '' -N '' >&/dev/null
> -        echo
> -        echo -n "Generating SSH2 DSA host key: "
> -        /usr/bin/ssh-keygen -q -t dsa -f
> $MBD_DIR/etc/ssh/ssh_host_dsa_key \
> -                            -C '' -N '' >&/dev/null
> -        echo
> -        (cd $MBD_DIR/etc/ssh; \
> -         chmod 600 ssh_host_key ssh_host_rsa_key ssh_host_dsa_key; \
> -         chmod 644 ssh_host_key.pub ssh_host_rsa_key.pub
> ssh_host_dsa_key.pub; )
> -    fi
> -
> -    cat > $MBD_DIR/etc/ssh/sshd_config.anaconda <<EOF
> -Port 22
> -HostKey /etc/ssh/ssh_host_key
> -HostKey /etc/ssh/ssh_host_rsa_key
> -HostKey /etc/ssh/ssh_host_dsa_key
> -PermitRootLogin yes
> -IgnoreRhosts yes
> -StrictModes yes
> -X11Forwarding yes
> -X11DisplayOffset 10
> -PrintMotd yes
> -XAuthLocation /sbin/xauth
> -KeepAlive yes
> -SyslogFacility AUTHPRIV
> -RSAAuthentication yes
> -PasswordAuthentication yes
> -PermitEmptyPasswords yes
> -PermitUserEnvironment yes
> -EOF
> -    chmod 600 $MBD_DIR/etc/ssh/sshd_config.anaconda
> -}
> -
> -
>  makeinitrd() {
>      EXTRAINITRDPATH=""
>      KEEP=""
>      PADSIZE=""
>      INITRDMODULES=""
> -    MYLANGTABLE=$LANGTABLE
> -    MYLOADERTR=loader.tr
>      while [ x$(echo $1 | cut -c1-2) = x"--" ]; do
>          if [ $1 = "--initrdto" ]; then
>              EXTRAINITRDPATH=$2
> @@ -526,157 +451,13 @@ makeinitrd() {
>      MBD_FSIMAGE=$TMPDIR/makebootdisk.initrdimage.$$
>      MBD_BOOTTREE=$TMPDIR/makebootdisk.tree.$$
>  
> -    rm -rf $MBD_DIR $MBD_FSIMAGE
> -    mkdir -p $MBD_DIR/modules
> -    mkdir -p $MBD_DIR/dev
> -    mkdir -p $MBD_DIR/proc
> -    mkdir -p $MBD_DIR/selinux
> -    mkdir -p $MBD_DIR/sys
> -    mkdir -p $MBD_DIR/tmp
> -    mkdir -p $MBD_DIR/var/lib/dbus
> -    mkdir -p $MBD_DIR/var/lib/dhclient
> -    mkdir -p $MBD_DIR/etc/dhcp
> -    mkdir -p $MBD_DIR/var/lock/rpm
> -    mkdir -p $MBD_DIR/var/run
> -    mkdir -p $MBD_DIR/var/run/dbus
> -    mkdir -p $MBD_DIR/var/run/NetworkManager
> -    mkdir -p $MBD_DIR/etc/modprobe.d
> -    mkdir -p $MBD_DIR/var/run/wpa_supplicant
> -    mkdir -m 111 -p $MBD_DIR/var/empty/sshd
> -    mkdir -p $MBD_DIR/usr/lib/rpm
> -    mkdir -p $MBD_DIR/var/lib/rpm
> -
> -    if [ "$BUILDARCH" = "s390" -o "$BUILDARCH" = "s390x" ]; then
> -        ln -s /tmp $MBD_DIR/var/state/xkb
> -    fi
> -
>      if [ -n "$INITRDMODULES" ]; then
>          MODSET=`expandModuleSet "$INITRDMODULES"`
>          makemoduletree $MBD_DIR "$MODSET"
>      fi
>  
> -    # set up the arch bits
> -    echo $arch > $MBD_DIR/etc/arch
> -
> -    echo "Setting up arch bits"
> -    instbin $IMGPATH ${LOADERBINDIR##$IMGPATH}/loader $MBD_DIR
> /sbin/loader
> -    if [ "$BUILDARCH" != "s390" -a "$BUILDARCH" != "s390x" ]; then
> -        instbin $IMGPATH ${LOADERBINDIR##$IMGPATH}/init $MBD_DIR
> /sbin/init
> -        ln -s ./init $MBD_DIR/sbin/reboot
> -        ln -s ./init $MBD_DIR/sbin/halt
> -        ln -s ./init $MBD_DIR/sbin/poweroff
> -    else
> -        instbin $IMGPATH ${LOADERBINDIR##$IMGPATH}/shutdown $MBD_DIR
> /sbin/shutdown
> -        instbin $IMGPATH /usr/share/anaconda/linuxrc.s390 $MBD_DIR
> /sbin/init
> -        ( cd $MBD_DIR/sbin
> -          ln -sf init reboot
> -          ln -sf init halt
> -        )
> -    fi
> -    instbin $IMGPATH ${LIBEXECBINDIR##$IMGPATH}/auditd $MBD_DIR
> /sbin/auditd
> -
> -    if [ "$BUILDARCH" != "s390" -a "$BUILDARCH" != "s390x" ]; then
> -       install -m 644 $KEYMAPS $MBD_DIR/etc/keymaps.gz
> -       install -m 644 $SCREENFONT $MBD_DIR/etc/screenfont.gz
> -    fi
> -
> -    install -m 644 $MYLANGTABLE $MBD_DIR/etc/lang-table
> -    mkdir -p $MBD_DIR/usr/lib/locale
> -    localedef -c -i en_US -f UTF-8 --prefix $MBD_DIR en_US
> -
> -    ( cd $MBD_DIR/etc ; ln -sf /etc/rc.d/init.d init.d )
> -
> -    # DHCP and DHCPv6 client daemons and support programs
> -    touch $MBD_DIR/etc/resolv.conf
> -
> -    # rsyslog
> -    # \EOF has a quote in the first character on purpose; see man
> bash on here documents
> -    cat > $MBD_DIR/etc/rsyslog.conf <<\EOF
> -#### MODULES ####
> -$ModLoad imuxsock.so     # provides support for local system logging
> -$ModLoad imklog.so       # provides kernel logging support
> -
> -$ModLoad imfile
> -$InputFileName /tmp/X.log
> -$InputFileTag xserver:
> -$InputFileStateFile xserver-statefile
> -$InputFileFacility local1
> -$InputRunFileMonitor
> -$InputFileName /tmp/anaconda-tb-all.log
> -$InputFileTag anaconda-tb:
> -$InputFileStateFile anaconda-tb-statefile
> -$InputFileFacility local1
> -$InputRunFileMonitor
> -
> -#### GLOBAL DIRECTIVES ####
> -# Use default timestamp format
> -$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
> -
> -#### TEMPLATES ####
> -
> -$template anaconda_tty4, "%syslogseverity-text:::uppercase%
> %programname%:%msg%\n"
> -$template anaconda_syslog,
> "%timestamp:8:$:date-rfc3164%,%timestamp:1:3:date-subseconds%
> %syslogseverity-text:::uppercase% %programname%:%msg%\n"
> -$template virtio_ForwardFormat, "<%PRI%>%TIMESTAMP:::date-rfc3339%
> %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
> -
> -#### RULES ####
> -# log everything except anaconda-specific records from local1 (those
> are stored
> -# directly into files via python logging)
> -*.*;\
> -authpriv.none;\
> -local1.none             /tmp/syslog;anaconda_syslog
> -                        & /dev/tty4;anaconda_tty4
> -
> -# ### begin forwarding rule ###
> -# The statement between the begin ... end define a SINGLE forwarding
> -# rule. They belong together, do NOT split them. If you create
> multiple
> -# forwarding rules, duplicate the whole block!
> -#
> -# An on-disk queue is created for this action. If the remote host is
> -# down, messages are spooled to disk and sent when it is up again.
> -$ActionQueueMaxDiskSpace 1m     # space limit (use as much as
> possible)
> -$ActionQueueSaveOnShutdown off  # do not save messages to disk on
> shutdown
> -$ActionQueueType LinkedList     # run asynchronously
> -$ActionResumeRetryCount -1      # infinite retries if host is down
> -# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
> -# ### end of the forwarding rule ###
> -
> -EOF
> -
> -    rm -f $MBD_DIR/lib/udev/rules.d/*generator*
> -
> -    install -m 644 $IMGPATH/usr/share/anaconda/$MYLOADERTR
> $MBD_DIR/etc/loader.tr
> -
>      makeproductfile $MBD_DIR
>  
> -    ln -s /sbin/init $MBD_DIR/init
> -    ln -s /proc/mounts $MBD_DIR/etc/mtab
> -    mkdir -p $MBD_DIR/var/lib
> -    ln -s ../../tmp $MBD_DIR/var/lib/xkb
> -
> -    setupSshd
> -
> -    mkdir $MBD_DIR/root
> -    chmod 0700 $MBD_DIR/root
> -    chown root:root $MBD_DIR/root
> -
> -    cat > $MBD_DIR/root/.profile <<EOF
> -PS1="[anaconda \u \h \W]\\\\$ "
> -PATH=/bin:/usr/bin:/usr/sbin:/mnt/sysimage/sbin:/mnt/sysimage/usr/sbin:/mnt/sysimage/bin:/mnt/sysimage/usr/bin
> -export PATH PS1
> -EOF
> -
> -    cat > $MBD_DIR/root/.bash_history <<EOF
> -kill -USR2 \`cat /var/run/anaconda.pid\`
> -kill -HUP \`cat /var/run/anaconda.pid\`
> -udevadm info --export-db | less
> -tail -f /tmp/storage.log
> -echo b > /proc/sysrq-trigger
> -dmsetup table
> -multipath -d
> -EOF
> -
> -    cp /usr/share/doc/python-devel-*/gdbinit $MBD_DIR/root/.gdbinit
> -
>      rm -f $MBD_FSIMAGE
>      (cd $MBD_DIR; find . |cpio --quiet -c -o) |gzip -9 >
> $MBD_FSIMAGE
>  
> diff --git a/scripts/upd-instroot b/scripts/upd-instroot
> index 8c848d5..c6889da 100755
> --- a/scripts/upd-instroot
> +++ b/scripts/upd-instroot
> @@ -155,6 +155,77 @@ die () {
>      exit 1
>  }
>  
> +setupSshd() {
> +    echo "sshd:x:74:74:Privilege-separated
> SSH:/var/empty/sshd:/sbin/nologin" \
> +    	>> $DEST/etc/passwd
> +
> +    # enable root shell logins
> +    echo "root::14438:0:99999:7:::" >> $DEST/etc/shadow
> +
> +    # enable 'install' account that starts anaconda on login
> +    echo "install:x:0:0:root:/root:/sbin/loader" >> $DEST/etc/passwd
> +    echo "install::14438:0:99999:7:::" >> $DEST/etc/shadow
> +
> +    chmod 0400 $DEST/etc/shadow
> +
> +    cat > $DEST/etc/pam.d/login << EOF
> +#%PAM-1.0
> +auth        required      pam_env.so
> +auth        sufficient    pam_unix.so likeauth nullok
> +auth        required      pam_deny.so
> +account     required      pam_unix.so
> +password    sufficient    pam_unix.so nullok use_authtok md5 shadow
> +password    required      pam_deny.so
> +session     required      pam_limits.so
> +session     required      pam_unix.so
> +EOF
> +    cp -f $DEST/etc/pam.d/login $DEST/etc/pam.d/sshd
> +    cp -f $DEST/etc/pam.d/login $DEST/etc/pam.d/remote
> +
> +    mkdir -m 0700 -p $DEST/etc/ssh
> +    if [ "$ARCH" = "s390" -o "$ARCH" = "s390x" ]; then
> +        # key generation takes ages on s390, you really don't want
> this
> +        # for every installation attempt. These are NOT the keys of
> the
> +        # installed system!
> +        echo -n "Generating SSH1 RSA host key: "
> +        /usr/bin/ssh-keygen -q -t rsa1 -f $DEST/etc/ssh/ssh_host_key
> \
> +                            -C '' -N '' >&/dev/null
> +        echo
> +        echo -n "Generating SSH2 RSA host key: "
> +        /usr/bin/ssh-keygen -q -t rsa -f
> $DEST/etc/ssh/ssh_host_rsa_key \
> +                            -C '' -N '' >&/dev/null
> +        echo
> +        echo -n "Generating SSH2 DSA host key: "
> +        /usr/bin/ssh-keygen -q -t dsa -f
> $DEST/etc/ssh/ssh_host_dsa_key \
> +                            -C '' -N '' >&/dev/null
> +        echo
> +        (cd $DEST/etc/ssh; \
> +         chmod 600 ssh_host_key ssh_host_rsa_key ssh_host_dsa_key; \
> +         chmod 644 ssh_host_key.pub ssh_host_rsa_key.pub
> ssh_host_dsa_key.pub; )
> +    fi
> +
> +    cat > $DEST/etc/ssh/sshd_config.anaconda <<EOF
> +Port 22
> +HostKey /etc/ssh/ssh_host_key
> +HostKey /etc/ssh/ssh_host_rsa_key
> +HostKey /etc/ssh/ssh_host_dsa_key
> +PermitRootLogin yes
> +IgnoreRhosts yes
> +StrictModes yes
> +X11Forwarding yes
> +X11DisplayOffset 10
> +PrintMotd yes
> +XAuthLocation /sbin/xauth
> +KeepAlive yes
> +SyslogFacility AUTHPRIV
> +RSAAuthentication yes
> +PasswordAuthentication yes
> +PermitEmptyPasswords yes
> +PermitUserEnvironment yes
> +EOF
> +    chmod 600 $DEST/etc/ssh/sshd_config.anaconda
> +}
> +
>  PACKAGES="GConf2 NetworkManager NetworkManager-gnome ORBit2 acl
> anaconda
>      anaconda-yum-plugins at-spi atk attr audit-libs bash bind-utils
>      bitmap-fonts-cjk
> @@ -923,8 +994,35 @@ echo "Assembling package list..."
>  RPMS="$PACKAGES $PACKAGESRESCUE"
>  [ -n "$DEBUG" ] && echo "RPMS are $RPMS"
>  
> -rm -rf $DEST; mkdir -p $DEST/usr/sbin $DEST/var/lib $DEST/boot
> +rm -rf $DEST
> +
> +# Create a bunch of empty directories that are important for a
> running system.
> +mkdir -p $DEST/boot
> +mkdir -p $DEST/dev
> +mkdir -p $DEST/etc/dhcp
> +mkdir -p $DEST/etc/modprobe.d
> +mkdir -p $DEST/firmware
> +mkdir -p $DEST/lib
> +mkdir -p $DEST/modules
> +mkdir -p $DEST/proc
> +mkdir -p $DEST/selinux
> +mkdir -p $DEST/sys
> +mkdir -p $DEST/tmp
> +mkdir -p $DEST/usr/lib/rpm
> +mkdir -p $DEST/usr/sbin
> +mkdir -m 111 -p $DEST/var/empty/sshd
> +mkdir -p $DEST/var/lib/dbus
> +mkdir -p $DEST/var/lib/dhclient
> +mkdir -p $DEST/var/lib/rpm
> +mkdir -p $DEST/var/lock/rpm
> +mkdir -p $DEST/var/run
> +mkdir -p $DEST/var/run/dbus
> +mkdir -p $DEST/var/run/NetworkManager
> +mkdir -p $DEST/var/run/wpa_supplicant
> +mkdir -p $DEST/var/state
> +
>  ln -s /tmp $DEST/var/lib/xkb
> +ln -s /tmp $DEST/var/state/xkb
>  
>  #
>  # concat KEEPFILE and KEEPFILERESCUE lists
> @@ -939,6 +1037,33 @@ mkdir -p $YUMDIR/var/lib/yum
>  expandPackageSet $yumconf $YUMDIR "$RPMS" $DEST $KEEPFILE
>  echo `date` "Done Expanding packages..."
>  
> +# Install the anaconda portions.
> +install -m 755 $DEST/usr/libexec/anaconda/auditd $DEST/sbin/auditd
> +install -m 755 $DEST/usr/$LIBDIR/anaconda/loader $DEST/sbin/loader
> +install -m 644 $DEST/usr/share/anaconda/loader.tr
> $DEST/etc/loader.tr
> +
> +cp $DEST/usr/share/anaconda/raidstart-stub $DEST/usr/bin/raidstart
> +cp $DEST/usr/share/anaconda/raidstop-stub $DEST/usr/bin/raidstop
> +cp $DEST/usr/share/anaconda/losetup-stub $DEST/usr/bin/losetup
> +cp $DEST/usr/share/anaconda/list-harddrives-stub
> $DEST/usr/bin/list-harddrives
> +cp $DEST/usr/share/anaconda/loadkeys-stub $DEST/usr/bin/loadkeys
> +cp $DEST/usr/share/anaconda/mknod-stub $DEST/usr/bin/mknod
> +cp $DEST/usr/share/anaconda/restart-anaconda
> $DEST/usr/bin/restart-anaconda
> +mv $DEST/usr/sbin/logpicker $DEST/usr/bin/logpicker
> +mv $DEST/usr/sbin/anaconda $DEST/usr/bin/anaconda
> +mv
> $DEST/usr/$LIBDIR/python?.?/site-packages/pyanaconda/sitecustomize.py
> $DEST/usr/$LIBDIR/python?.?/site-packages
> +
> +if [ $ARCH = "s390" -o $ARCH = "s390x" ]; then
> +    mv $DEST/usr/libexec/anaconda/shutdown $DEST/sbin
> +    mv $DEST/usr/share/anaconda/linuxrc.s390 $DEST/sbin/init
> +    ( cd $DEST/sbin && ln -sf init reboot && ln -sf init halt )
> +else
> +    mv $DEST/usr/$LIBDIR/anaconda/init $DEST/sbin/init
> +    ( cd $DEST/sbin && ln -s init reboot && ln -s init halt && ln -s
> init poweroff )
> +
> +    install -m 644 $DEST/usr/share/anaconda/screenfont-$ARCH.gz
> $DEST/etc/screenfont.gz
> +fi
> +
>  # Dogtail will check this
>  echo "Creating customized GConf2 settings for root"
>  mkdir -p $DEST/.gconf/desktop/gnome/interface
> @@ -1005,7 +1130,15 @@ rm -rf $YUMDIR
>  chown -R root:root $DEST
>  chmod -R a+rX-w $DEST
>  
> +# Some files need very particular permissions.
> +chmod 04755 $DEST/usr/libexec/polkit-1/polkit-agent-helper-1
> +chown root:dbus $DEST/$LIBDIR/dbus-1/dbus-daemon-launch-helper
> +chmod 04750 $DEST/$LIBDIR/dbus-1/dbus-daemon-launch-helper
> +
>  # Remove locales unused during the install
> +install -m 644 $DEST/usr/share/anaconda/lang-table
> $DEST/etc/lang-table
> +localedef -c -i en_US -f UTF-8 --prefix $DEST en_US
> +
>  cat $DEST/usr/share/anaconda/lang-table* | awk '
>  { gsub("-", "", $4);
>    print $4;
> @@ -1046,7 +1179,61 @@ SELINUXTYPE=targeted
>  EOF
>  fi
>  
> -echo "Creating libuser.conf"
> +echo "Creating config files"
> +touch $DEST/etc/resolv.conf
> +
> +# \EOF has a quote in the first character on purpose; see man bash on
> here documents
> +cat > $DEST/etc/rsyslog.conf <<\EOF
> +#### MODULES ####
> +$ModLoad imuxsock.so     # provides support for local system logging
> +$ModLoad imklog.so       # provides kernel logging support
> +
> +$ModLoad imfile
> +$InputFileName /tmp/X.log
> +$InputFileTag xserver:
> +$InputFileStateFile xserver-statefile
> +$InputFileFacility local1
> +$InputRunFileMonitor
> +$InputFileName /tmp/anaconda-tb-all.log
> +$InputFileTag anaconda-tb:
> +$InputFileStateFile anaconda-tb-statefile
> +$InputFileFacility local1
> +$InputRunFileMonitor
> +
> +#### GLOBAL DIRECTIVES ####
> +# Use default timestamp format
> +$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
> +
> +#### TEMPLATES ####
> +
> +$template anaconda_tty4, "%syslogseverity-text:::uppercase%
> %programname%:%msg%\n"
> +$template anaconda_syslog,
> "%timestamp:8:$:date-rfc3164%,%timestamp:1:3:date-subseconds%
> %syslogseverity-text:::uppercase% %programname%:%msg%\n"
> +$template virtio_ForwardFormat, "<%PRI%>%TIMESTAMP:::date-rfc3339%
> %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
> +
> +#### RULES ####
> +# log everything except anaconda-specific records from local1 (those
> are stored
> +# directly into files via python logging)
> +*.*;\
> +authpriv.none;\
> +local1.none             /tmp/syslog;anaconda_syslog
> +                        & /dev/tty4;anaconda_tty4
> +
> +# ### begin forwarding rule ###
> +# The statement between the begin ... end define a SINGLE forwarding
> +# rule. They belong together, do NOT split them. If you create
> multiple
> +# forwarding rules, duplicate the whole block!
> +#
> +# An on-disk queue is created for this action. If the remote host is
> +# down, messages are spooled to disk and sent when it is up again.
> +$ActionQueueMaxDiskSpace 1m     # space limit (use as much as
> possible)
> +$ActionQueueSaveOnShutdown off  # do not save messages to disk on
> shutdown
> +$ActionQueueType LinkedList     # run asynchronously
> +$ActionResumeRetryCount -1      # infinite retries if host is down
> +# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
> +# ### end of the forwarding rule ###
> +
> +EOF
> +
>  cat > $DEST/etc/libuser.conf <<EOF
>  [defaults]
>  skeleton = /mnt/sysimage/etc/skel
> @@ -1060,6 +1247,22 @@ directory = /mnt/sysimage/etc
>  directory = /mnt/sysimage/etc
>  EOF
>  
> +cat > $DEST/.profile <<EOF
> +PS1="[anaconda \u \h \W]\\\\$ "
> +PATH=/bin:/usr/bin:/usr/sbin:/mnt/sysimage/sbin:/mnt/sysimage/usr/sbin:/mnt/sysimage/bin:/mnt/sysimage/usr/bin
> +export PATH PS1
> +EOF
> +
> +cat > $DEST/.bash_history <<EOF
> +kill -USR2 \`cat /var/run/anaconda.pid\`
> +kill -HUP \`cat /var/run/anaconda.pid\`
> +udevadm info --export-db | less
> +tail -f /tmp/storage.log
> +echo b > /proc/sysrq-trigger
> +dmsetup table
> +multipath -d
> +EOF
> +
>  echo "Creating /etc/skel"
>  # libuser needs this when it creates sshpw users
>  mkdir -p $DEST/etc/skel
> @@ -1068,6 +1271,8 @@ echo "Creating empty /etc/gshadow"
>  # libuser needs this when it creates sshpw users
>  touch $DEST/etc/gshadow
>  
> +setupSshd
> +
>  sed -i 's|\(installforallkernels\) = 0|\1 = 1|'
> $DEST/etc/yum/pluginconf.d/fedorakmod.conf
>  
>  #
> @@ -1089,19 +1294,8 @@ sed -i "s,^MANPATH[^_MAP][
> \t]*,&/mnt/sysimage," $DEST/etc/man_db.conf
>  sed -i "s,^MANPATH_MAP[ \t]*[a-zA-Z0-9/]*[ \t]*,&/mnt/sysimage,"
> $DEST/etc/man_db.conf
>  
>  echo "Scrubbing tree..." "$DEST"
> -mkdir -p $DEST/lib
> -mkdir -p $DEST/firmware
>  ln -snf /modules $DEST/lib/modules
>  ln -snf /firmware $DEST/lib/firmware
> -cp $DEST/usr/share/anaconda/raidstart-stub $DEST/usr/bin/raidstart
> -cp $DEST/usr/share/anaconda/raidstop-stub $DEST/usr/bin/raidstop
> -cp $DEST/usr/share/anaconda/list-harddrives-stub
> $DEST/usr/bin/list-harddrives
> -cp $DEST/usr/share/anaconda/loadkeys-stub $DEST/usr/bin/loadkeys
> -cp $DEST/usr/share/anaconda/mknod-stub $DEST/usr/bin/mknod
> -cp $DEST/usr/share/anaconda/restart-anaconda
> $DEST/usr/bin/restart-anaconda
> -mv $DEST/usr/sbin/anaconda $DEST/usr/bin/anaconda
> -mv $DEST/usr/sbin/logpicker $DEST/usr/bin/logpicker
> -mv
> $DEST/usr/$LIBDIR/python?.?/site-packages/pyanaconda/sitecustomize.py
> $DEST/usr/$LIBDIR/python?.?/site-packages
>  
>  mv $DEST/etc/yum.repos.d $DEST/etc/anaconda.repos.d
>  
> @@ -1111,6 +1305,8 @@ rm -f $DEST/usr/sbin/build-locale-archive
>  
>  find $DEST -type d | xargs chmod 755
>  
> +cp $DEST/usr/share/doc/python-devel-*/gdbinit $DEST/.gdbinit
> +
>  if [ -f $DEST/bin/bash ]; then
>      rm -f $DEST/bin/ash
>      ln -s bash $DEST/bin/sh
> @@ -1120,6 +1316,10 @@ if [ -f $DEST/bin/gawk ]; then
>      ln -sf $DEST/bin/gawk awk
>  fi
>  
> +( cd $DEST/etc && ln -sf /etc/rc.d/init.d init.d )
> +ln -sf /sbin/init $DEST/init
> +ln -sf /proc/mounts $DEST/etc/mtab
> +
>  # copy bootloader files for sparc
>  if [ $ARCH = sparc -o $ARCH = sparcv9 -o $ARCH = sparc64 ]; then
>      mkdir -p $DEST/usr/share/anaconda/boot
> @@ -1151,10 +1351,12 @@ if [ $ARCH = i386 -o $ARCH = i586 -o $ARCH =
> i686 -o $ARCH = x86_64 ]; then
>      cp -af $DEST/boot/memtest* $DEST/usr/share/anaconda/boot
>  fi
>  
> -rm -rf $DEST/boot $DEST/home $DEST/root $DEST/tmp
> +rm -rf $DEST/boot $DEST/home
>  
> +# Remove a bunch of stuff we don't want in the final image.
>  find $DEST -name "*.a" | grep -v kernel-wrapper/wrapper.a | xargs rm
> -rf
>  find $DEST -name "lib*.la" |grep -v "usr/$LIBDIR/gtk-2.0" | xargs rm
> -rf
> +rm -f $DEST/lib/udev/rules.d/*generator*
>  
>  # nuke some python stuff we don't need
>  for d in idle distutils bsddb lib-old hotshot doctest.py pydoc.py
> site-packages/japanese site-packages/japanese.pth ; do
> -- 
> 1.7.1.1
> 
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list redhat com
> https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]