PDA

View Full Version : Knoppix.clean script



CrashedAgain
06-18-2004, 05:38 AM
I've been going through Klaus Knopper's original script for cleaning up prior the making the compressed file system
(posted here http://www.knoppix.net/forum/viewtopic.php?t=3314)
& I have some questions as I'm not very good at figuring out scripting.

(This was commented out but obviously was used at one time....


# echo "Updating package lists..."
# pump; sleep 2
# perl -pi -e 's/^deb/#deb/g' /etc/apt/sources.list
# apt-get update >/dev/null 2>&1
# perl -pi -e 's/^#deb/deb/g' /etc/apt/sources.list


Apt-get update I understand but what are the perl lines?



rmdir /mnt/cdrom?* /mnt/hd?* /mnt/sd?* 2>/dev/null
rm -f /etc/ifstate /etc/X11/XF86Config /etc/X11/XF86Config-4 \
* * * /etc/XF86Config /etc/XF86Config-4 /etc/sysconfig/* \
* * * /etc/ssh/*key* \
* * * /etc/samba/*.SID /var/lib/samba/* /var/cache/samba/* /etc/samba/*.tdb \
* * * /dev/mouse* /dev/cdrom* /dev/cdwriter* \
* * * /var/run/*/* /var/run/* /var/log/ksymoops/* /var/lock/*/* /var/lock/* \
* * * /var/state/*/* /var/state/* /var/log/nessus/* /var/lib/nessus/* \
* * * /halt /reboot /ash.static /etc/dhcpc/*.info /etc/dhcpc/resolv* \
* * * /etc/resolv.conf /etc/*passwd- /etc/*shadow- /etc/*group- 2>/dev/null


Why rm /halt & /reboot??



mkdir -p /etc/sysconfig/network-scripts /etc/sysconfig/provider


What is this? I see there is a /etc/sysconfig/provider file on the system, it appears to have specifics about somebody's (Klaus'?) ISP. But why are these directories being made in this cleanup script?



rm -rf /tmp/* /var/tmp/* /var/backups/* /root/.??* /.??* /home/root/.??* \
* */home/*/.ssh /home/*/.bash_history \
* * * */home/knoppix/* /home/knoppix/.??* /var/lib/texmf/ls-R \
* * * */var/spool/texmf/ls-R /var/run/screen/* /var/spool/squid/* \
* * * */usr/share/applnk/System/Nessus.desktop
nuke /var/log /var/cache /var/spool/texmf
zero /var/local /var/log /var/spool /var/mail \
* * */var/lib/games /var/cache/man /var/lib/wine \
* * */var/lib/nfs /var/lib/xkb


Why zero /var/log et al when they has just been nuked?....also note /home/knoppix is cleared here so Mzilikazi's addition shouldn't be needed.



for i in `find /usr/*/man -name \*.\[0-9ln\]` ; do
[ -f "$i".gz -o -f "$i".bz2 ] && rm -f "$i"
done


It looks like this will remove expanded manpages if there is a zipped version on the system. Am I reading this right?



# (This will have to be edited, I don't have a Knoppix.build directory)
updatedb --prunepaths="/KNOPPIX.build /mnt/hd /mnt/cdrom /tmp /usr/tmp /var/tmp"
update-dlocatedb
echo "* *Done."


Man updatedb says it updates the slocate dateabase used for locating files. but what is dlocatedb...there is no man entry. Is it possibly a misprint & should read 'update -locatedb' ? Also, man updatedb says nothing about a --prunepaths option but seems to accept it if you try it.

Thanks.

mzilikazi
06-24-2004, 11:14 PM
Apt-get update I understand but what are the perl lines?

It simply comments each line in sources.list


Why rm /halt & /reboot??

Presumably to restore the proper state of the system but not really sure on that as I have no such directories. Do you?



What is this? I see there is a /etc/sysconfig/provider file on the system, it appears to have specifics about somebody's (Klaus'?) ISP. But why are these directories being made in this cleanup script?

Needed for the ISDN config tool from RH. Not sure if it's still necessary or not.



Why zero /var/log et al when they has just been nuked?..

Well 'nuke' is not a bash command so I have no idea what that does. Of course zero is to set the length of files to zero.


It looks like this will remove expanded manpages if there is a zipped version on the system. Am I reading this right?

Indeed


Man updatedb says it updates the slocate dateabase used for locating files. but what is dlocatedb...there is no man entry. Is it possibly a misprint & should read 'update -locatedb' ? Also, man updatedb says nothing about a --prunepaths option but seems to accept it if you try it.

Thanks.

Nope not a misprint, dlocate is an alternative to dpkg -L and dpkg -S
From man updatedb:

--prunepaths='path1 path2...'
Directories to not put in the database, which would otherwise
be. The environment variable PRUNEPATHS also sets this value.
Default is /tmp /usr/tmp /var/tmp /afs.

CrashedAgain
06-25-2004, 04:21 PM
Thanks for the help.

I don't have a /halt or a /reboot either, but wasn't sure if I should have.
Nuke is a function created earlier in the script which rm -f "$i" a list of filenames i, thus I thought it should remove the files & zeroing them should not be needed.
Don't know how I could have missed the prunepaths manpage entry...blind moment I guess.

In your remaster procedure you preserve /home/knoppix as /etc/skel:


TWEAK THE DESKTOP
#Your configurations are saved in /home/knoppix
#which eventually becomes /etc/skel
#When you are COMPLETELY FINISHED tweaking the desktop
su
mv /home/knoppix /etc/skel
touch /home/knoppix
chown knoppix:knoppix /home/knoppix
chown -R root:root /etc/skel
updatedb
ldconfig
update-modules


Why is nothing done to preserve /home/root?

Thanks again.

mzilikazi
06-25-2004, 10:20 PM
Well /home/root is actually just /root so it's already taken care of.