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@xxxxxxxxxx> 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@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/anaconda-devel-list _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list