514 lines
38 KiB
Plaintext
514 lines
38 KiB
Plaintext
GNU/Linux Post-Installation Checklist
|
||
|
||
Defying Murphy's Laws
|
||
|
||
|
||
[http://members.tripod.com/~algolog/index.htm] Algologic Research & Solutions
|
||
|
||
algolog (at) hd1.vsnl.net.in
|
||
|
||
Revision History
|
||
Revision 1.0 2001-06-12 Revised by:
|
||
Initial release using docbook sgml.
|
||
|
||
|
||
This document provides a checklist for steps you should take immediately
|
||
after installing GNU/Linux. These steps will save you a lot of bother if you
|
||
encounter any problems later on. This document also includes a shell script
|
||
for automating the post installation process.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Table of Contents
|
||
1. Introduction
|
||
1.1. Copyright Information
|
||
1.2. Disclaimer
|
||
1.3. Feedback
|
||
|
||
|
||
2. Post-Installation Steps
|
||
3. Shell script
|
||
3.1. The script...
|
||
|
||
|
||
|
||
1. Introduction
|
||
|
||
You have just completed installing your own Linux system. You have just made
|
||
an upgrade to your existing Linux system. You are happy with the first few
|
||
checkouts and usage experience. You want to make sure you will enjoy this
|
||
system in spite of any damage which may occur later because of any unexpected
|
||
"faux pas".
|
||
|
||
It is a good idea to keep a snapshot of the new system, so that you can be
|
||
assured that in the event of any misfortune with your Linux installation, you
|
||
can always recover without any permanent damage. This checklist will help you
|
||
with precautionary steps you must take, as soon as you complete installation
|
||
of Linux. It is a sequel to the GNU/Linux pre-installation checklist, and a
|
||
companion to the official [http://www.linuxdoc.org/HOWTO/Installation-HOWTO/]
|
||
Linux Installation HOWTO. This checklist also contains a Section 3 which will
|
||
automate the process of making a snapshot of your system.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.1. Copyright Information
|
||
|
||
This document is copyrighted (c) 2001 [http://members.tripod.com/~algolog/
|
||
index.htm] Algologic Research & Solutions and is distributed under the terms
|
||
of the Linux Documentation Project (LDP) license, stated below.
|
||
|
||
Unless otherwise stated, Linux HOWTO documents are copyrighted by their
|
||
respective authors. Linux HOWTO documents may be reproduced and distributed
|
||
in whole or in part, in any medium physical or electronic, as long as this
|
||
copyright notice is retained on all copies. Commercial redistribution is
|
||
allowed and encouraged; however, the author would like to be notified of any
|
||
such distributions.
|
||
|
||
All translations, derivative works, or aggregate works incorporating any
|
||
Linux HOWTO documents must be covered under this copyright notice. That is,
|
||
you may not produce a derivative work from a HOWTO and impose additional
|
||
restrictions on its distribution. Exceptions to these rules may be granted
|
||
under certain conditions; please contact the Linux HOWTO coordinator at the
|
||
address given below.
|
||
|
||
In short, we wish to promote dissemination of this information through as
|
||
many channels as possible. However, we do wish to retain copyright on the
|
||
HOWTO documents, and would like to be notified of any plans to redistribute
|
||
the HOWTOs.
|
||
|
||
If you have any questions, please contact <linux-howto@metalab.unc.edu>
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.2. Disclaimer
|
||
|
||
No liability for the contents of this documents can be accepted. Use the
|
||
concepts, examples and other content at your own risk. As this is a new
|
||
edition of this document, there may be errors and inaccuracies, that may of
|
||
course be damaging to your system. Proceed with caution, and although this is
|
||
highly unlikely, the author(s) do not take any responsibility for that.
|
||
|
||
All copyrights are held by their respective owners, unless specifically noted
|
||
otherwise. Use of a term in this document should not be regarded as affecting
|
||
the validity of any trademark or service mark.
|
||
|
||
Naming of particular products or brands should not be seen as endorsements.
|
||
|
||
You are strongly recommended to make a backup of your system before major
|
||
installation and continue to do so at regular intervals.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.3. Feedback
|
||
|
||
This document and the Section 3 are continuously updated. Make sure you are
|
||
referring to the latest version of this document, by visiting the Linux
|
||
post-install site frequently. Email <algolog@hd1.vsnl.net.in> with your
|
||
feedback and suggestions.
|
||
|
||
|
||
Note: We do NOT answer general queries on Linux. If you want professional
|
||
(PAID) help with Linux -- [http://algolog.tripod.com/tools.htm#linux] ask
|
||
Algologic. You may also visit our home page : [http://algolog.tripod.com
|
||
/] Algologic Research & Solutions.
|
||
|
||
-----------------------------------------------------------------------------
|
||
2. Post-Installation Steps
|
||
|
||
To enjoy your new Linux installation forever without any worries, it is
|
||
important to take a few simple precautions. You must do these as soon as you
|
||
complete installing Linux on your machine for the first time.
|
||
|
||
1. Create a boot diskette and a rescue diskette. Utilities for creating
|
||
these diskettes are available along with your Linux distribution.
|
||
|
||
2. If you are the paranoid type (like me), you can make two copies of each
|
||
of these diskettes. Diskettes are notorious for failing when they are
|
||
most needed.
|
||
|
||
3. Test out your boot diskette. Make sure you can boot into Linux using the
|
||
boot diskette. Remember Murphy's Laws may strike at you just when you
|
||
least expect.
|
||
|
||
4. Checkout thoroughly your new system. Try all major packages.
|
||
|
||
5. Try out the X windows system, and the desktop, and the windows manager,
|
||
if you have installed these.
|
||
|
||
6. Try out the connection to your LAN, and to the Internet.
|
||
|
||
7. Create at least one "non-root" account, for testing and debugging your
|
||
installation. Perform ALL the above checkouts once again, using the
|
||
non-root account you created.
|
||
|
||
8. Join a local Linux Users Group (LUG). You must [http://www.linuxlinks.com
|
||
/UserGroups/] find out if there is a LUG close by. If there is none,
|
||
start an informal LUG yourself, in your neighbourhood, your campus, your
|
||
city, or your town.
|
||
|
||
9. Join one or more mailing lists for Linux updates and news. There are
|
||
literally hundreds of them.
|
||
|
||
10. Register yourself and your machine in the worldwide [http://
|
||
counter.li.org/] Linux Users Counter.
|
||
|
||
11. And finally...Download the Section 3 and run it. Make a safe copy (on a
|
||
removable medium) of the directory: /root/postinfo which the script will
|
||
create. You may also like to make a printout of the summary report /root/
|
||
postinfo/summary created by the shell script.
|
||
|
||
12. You must run this shell script: as soon as you have installed Linux for
|
||
the first time, and after every major revision or upgrade to your Linux
|
||
system. You can also set up the script as a cron job, so that it runs
|
||
itself periodically and automatically. This will avoid you a lost of
|
||
hassles later, in case something gets messed up later.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
3. Shell script
|
||
|
||
The shell script (shivalik Ver. 1.0) is a convenient way to make backups of
|
||
essential files and information. After downloading the script:
|
||
|
||
* Make sure that you have logged in as "root"
|
||
|
||
* Save the script in a directory with "root" permissions, say /root/
|
||
myscript
|
||
|
||
* Change to that directory i.e. cd /root/myscript use gunzip to unzip the
|
||
script i.e gunzip ./shivalik.gz
|
||
|
||
*
|
||
IMPORTANT: You must read the warning given at the end of the script.
|
||
Proceed with the next steps, only if you agree to the conditions
|
||
specified in the warning...
|
||
|
||
|
||
* To execute the script: You must make the script executable (by root only)
|
||
chmod 700 ./shivalik
|
||
|
||
* Verify that the paths of the various files which are to be saved, are
|
||
correct and conform to your installation.
|
||
|
||
* You can execute the script correctly only if you are "root" (many of the
|
||
files being saved need root permissions).
|
||
|
||
|
||
Now you can execute (run) the above script (remember you must be "root", to
|
||
do this) -- type ./shivalik
|
||
|
||
The script is profusely documented. It does not modify (or delete) any of
|
||
your files or directories. It creates a well-protected backup of some
|
||
essential files and information. The entire script is available for you to
|
||
browse and understand its working. Feel free to go through the script and add
|
||
any additional features, or files which you wish to be backed up. You may
|
||
also send your feedback to the author of this script (<
|
||
algolog@hd1.vsnl.net.in>).
|
||
|
||
Remember, the shivalik script is not a tool for complete backup and recovery.
|
||
Ideally, the best thing to do would be to make a verbatim copy of your entire
|
||
Linux installation along with all files and directories. This is not always
|
||
possible, necessary, or advisable. The next best thing would be to take a
|
||
backup of the most essential information and files. The shivalik script
|
||
achieves this for you. The script creates a directory called /root/postinfo/,
|
||
and stores all essential information (and files) there. To be absolutely
|
||
prepared for any eventuality, you must copy the entire /root/postinfo/ on a
|
||
removable medium, as soon as the script is executed.
|
||
|
||
Recovery and Repair: In the event of any problems later, you can reconstruct
|
||
the damaged files by copying the files you have backed up in the /root/
|
||
postinfo/ directory. It is as simple as that.
|
||
|
||
The structure of the /root/postinfo/ directory, and files found within, will
|
||
be as follows:
|
||
|
||
/root/postinfo/summary
|
||
Contains a summary report of the status of your system (memory,
|
||
partitions, mount points, disk usage). This file also has the list of
|
||
files which have been saved. It also contains admin info like date and
|
||
time of backup, shivalik version number etc.
|
||
|
||
/root/postinfo/postinfo.tar.gz
|
||
Contains a copy of the earlier postinfo (if any). This is a fall back to
|
||
a fall back!
|
||
|
||
/root/postinfo/snapshot.gz
|
||
Contains a gzipped structured listing of ALL files and directories of
|
||
your Linux system (the directories "tree"). You can unzip this file and
|
||
use any plain text editor to know the location of any file. Of course,
|
||
you cannot retrieve the contents of that file unless you had saved it
|
||
explicitly elsewhere.
|
||
|
||
/root/postinfo/shivalik
|
||
This is a copy of the shivalik script which was used for making the post
|
||
install backup. At the time of recovery after an incident, you can always
|
||
examine this script to know how the backup was done earlier. You will
|
||
always have a consistent copy of the script and the files created by the
|
||
script.
|
||
|
||
/root/postinfo/etcfiles/
|
||
This subdirectory contains a copy of many essential files from the /etc/
|
||
directory of your Linux installation. It also contains copies of the
|
||
various configuration files stored in the /etc/ directory.
|
||
|
||
/root/postinfo/otherfiles/
|
||
This subdirectory contains a copy of some essential files (those which
|
||
are not in the /etc/ directory) of your Linux installation. If you want,
|
||
you can add any other files here, and get it saved automatically with
|
||
others.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
3.1. The script...
|
||
|
||
#-----------------------------------------------
|
||
# shivalik \(Ver. 1.0\)
|
||
#Please read the WARNING section of this script first
|
||
|
||
#This script collects post installation information
|
||
#this can also be run occasionally to collect all useful
|
||
#information about your Linux installation, in one place
|
||
#The output will be written to /root/postinfo/
|
||
#a summary report will be written in /root/postinfo/summary
|
||
|
||
#For usage and related information, please consult:
|
||
#http://algolog.tripod.com/postlnx.htm
|
||
# ----------------------------------------------
|
||
|
||
clear
|
||
echo
|
||
echo "-----------------------------------------------------------"
|
||
echo This is the output of Partha\'s shivalik script \(Ver.1.0\)
|
||
echo You must be \"root\", for this script to work correctly
|
||
echo You must also read and accept the terms and warnings given
|
||
echo in the WARNINGS section of this script
|
||
echo "-----------------------------------------------------------"
|
||
echo
|
||
echo "### STEP 0 ### Preparation work"
|
||
echo First we create the /root/postinfo/ directory if does not exist already
|
||
test ! -d /root/postinfo && mkdir /root/postinfo
|
||
|
||
echo Saving current version of all postinfo files
|
||
echo But first we delete the earlier version i.e. current-1 version
|
||
test -e /root/postinfo/oldpostinfo* && rm /root/postinfo/oldpostinfo.tar.gz
|
||
#the oldpostinfo file is made temporarily in /root
|
||
#it will be moved to /root/postinfo
|
||
tar -zcvf /root/oldpostinfo.tar.gz /root/postinfo/*
|
||
|
||
#check if above tar succeeded
|
||
if
|
||
test -s /root/oldpostinfo.tar.gz
|
||
then
|
||
echo old postinfo saved in /root/oldpostinfo.tar.gz
|
||
ls -l /root/oldpostinfo*
|
||
else
|
||
echo Could not save oldpostinfo
|
||
echo Abandoning shivalik script
|
||
exit
|
||
fi
|
||
|
||
|
||
#now delete all the current postinfofiles
|
||
rm -rf /root/postinfo/*
|
||
#and start a new summary file
|
||
echo shivalik \(Ver. 1.0\) > /root/postinfo/summary
|
||
echo -n "Report created on: " >> /root/postinfo/summary
|
||
date -R >> /root/postinfo/summary
|
||
echo And now, move the oldpostinfo file to /root/postinfo/ directory
|
||
mv /root/oldpostinfo.tar.gz /root/postinfo
|
||
#
|
||
|
||
#copy the shivalik script
|
||
echo charity begins at home
|
||
echo We make a copy of the shivalik script
|
||
echo We make a copy of the shivalik script >> /root/postinfo/summary
|
||
echo in /root/postinfo/ >> /root/postinfo/summary
|
||
cp ./shivalik /root/postinfo/shivalik
|
||
|
||
#taking stock
|
||
echo
|
||
echo Contents of /root/postinfo at the end of STEP-0
|
||
ls -AlR /root/postinfo
|
||
echo End of "### STEP 0 ###
|
||
echo
|
||
#
|
||
#
|
||
echo
|
||
echo "### STEP 1 ### Make a snapshot of the system"
|
||
echo >> /root/postinfo/summary
|
||
echo "### STEP 1 ### A snapshot of all the files and directories" >> /root/postinfo/summary
|
||
echo The first step is to take stock of your computer contents
|
||
echo This is going to take several minutes
|
||
echo So, go and fetch your coffee mug !
|
||
ls -AlRH / >> /root/postinfo/snapshot
|
||
rm -f /root/postinfo/snapshot.gz
|
||
gzip /root/postinfo/snapshot
|
||
echo snapshot created
|
||
echo An exhaustive listing of all files has been made and >> /root/postinfo/summary
|
||
echo stored in /root/postinfo/snapshot.gz >> /root/postinfo/summary
|
||
ls -l /root/postinfo/snapshot.gz >> /root/postinfo/summary
|
||
|
||
# taking stock at the end of this step
|
||
echo
|
||
echo Contents of /root/postinfo at the end of this STEP
|
||
ls -l /root/postinfo
|
||
echo End of "### STEP 1 ###
|
||
echo
|
||
#
|
||
#
|
||
echo
|
||
|
||
echo "### STEP 2 ### Vital statistics"
|
||
echo >> /root/postinfo/summary
|
||
echo "### STEP 2 ### Vital statistics" >> /root/postinfo/summary
|
||
|
||
echo Collecting vital statistics
|
||
|
||
echo .....about memory
|
||
echo "---- cat /proc/meminfo ---------" >> /root/postinfo/summary
|
||
cat /proc/meminfo >> /root/postinfo/summary
|
||
|
||
echo .....about partitions and mountpoints
|
||
echo "---- cat /proc/partitions---------" >> /root/postinfo/summary
|
||
cat /proc/partitions >> /root/postinfo/summary
|
||
|
||
echo .....about diskspace used
|
||
echo "---- df ---------" >> /root/postinfo/summary
|
||
df >> /root/postinfo/summary
|
||
|
||
echo .....about modules
|
||
echo "---- cat /proc/modules ---------" >> /root/postinfo/summary
|
||
cat /proc/modules >> /root/postinfo/summary
|
||
|
||
# taking stock at the end of this step
|
||
|
||
echo
|
||
echo Contents of /root/postinfo at the end of STEP-2
|
||
ls -AlR /root/postinfo
|
||
echo End of "### STEP 2 ###
|
||
echo
|
||
#
|
||
#
|
||
echo
|
||
echo "### STEP 3 ### Now we save some important files from /etc "
|
||
echo This section may need some customising, depending on the
|
||
echo installation you have done, and the distribution you have used,
|
||
echo and the options you have chosen during installation.
|
||
|
||
echo >> /root/postinfo/summary
|
||
echo "### STEP 3 ### Now we save some important files from /etc" >> /root/postinfo/summary
|
||
test ! -d /root/postinfo/etcfiles && mkdir /root/postinfo/etcfiles
|
||
|
||
echo ..... saving XF86Config -- your XWindows config file
|
||
cp /etc/XF86Config /root/postinfo/etcfiles
|
||
echo "cp /etc/XF86Config /root/postinfo/" >> /root/postinfo/summary
|
||
|
||
echo ..... saving /etc/fstab file
|
||
cp /etc/fstab /root/postinfo/etcfiles
|
||
echo "cp /etc/fstab /root/postinfo/" >> /root/postinfo/summary
|
||
|
||
echo ..... saving /etc/profile file
|
||
cp /etc/profile /root/postinfo/etcfiles
|
||
echo "cp /etc/profile /root/postinfo/" >> /root/postinfo/summary
|
||
|
||
echo ..... saving /etc/profile.local file
|
||
cp /etc/profile.local /root/postinfo/etcfiles
|
||
echo "cp /etc/profile.local /root/postinfo/" >> /root/postinfo/summary
|
||
|
||
echo ".... saving /etc/*conf files"
|
||
cp /etc/*conf /root/postinfo/etcfiles
|
||
|
||
echo ".... saving /etc/*config files"
|
||
cp /etc/*config /root/postinfo/etcfiles
|
||
|
||
echo the following files from /etc have been copied to /root/postinfo/etcfiles >> /root/postinfo/summary
|
||
echo "/etc/*conf" >> /root/postinfo/summary
|
||
echo "/etc/*config" >> /root/postinfo/summary
|
||
|
||
# taking stock at the end of this step
|
||
echo
|
||
echo Contents of /root/postinfo at the end of this STEP-3
|
||
ls -AlR /root/postinfo
|
||
echo End of "### STEP 3 ###
|
||
echo
|
||
#
|
||
#
|
||
|
||
echo
|
||
echo "### STEP 4 ### Now we save some other important files"
|
||
echo This section may need some customising, depending on the
|
||
echo installation you have done, and the distribution you have used,
|
||
echo and the options you have chosen for the installation
|
||
echo The following stuff is designed for SuSe 7.1
|
||
|
||
echo "### STEP 4 ### Now we save some other important files" >> /root/postinfo/summary
|
||
echo in /root/postinfo/otherfiles >> /root/postinfo/summary
|
||
echo You can add any other files to backed up, here
|
||
test ! -d /root/postinfo/otherfiles && mkdir /root/postinfo/otherfiles
|
||
ls -l /root/postinfo/
|
||
|
||
echo ..... saving /etc/init.d/boot.local --
|
||
cp /etc/init.d/boot.local /root/postinfo/otherfiles
|
||
echo "cp /etc/init.d/boot.local /root/postinfo/otherfiles" >> /root/postinfo/summary
|
||
|
||
echo ..... saving /etc/init.d/halt.local --
|
||
cp /etc/init.d/halt.local /root/postinfo/otherfiles
|
||
echo "cp /etc/init.d/halt.local /root/postinfo/otherfiles" >> /root/postinfo/summary
|
||
|
||
# taking stock at the end of this step
|
||
echo
|
||
echo Contents of /root/postinfo at the end of this STEP-4
|
||
ls -AlR /root/postinfo
|
||
echo End of "### STEP 4 ###
|
||
echo
|
||
|
||
echo
|
||
echo "### STEP 999 ### Wrap up, clean up"
|
||
echo >> /root/postinfo/summary
|
||
|
||
echo "### STEP 999 ### Wrap up, clean up, sum up" >> /root/postinfo/summary
|
||
echo summing up, cleaning up
|
||
# for security reasons we make /root/postinfo inaccessible to
|
||
# and invisible to non-root
|
||
chmod 700 /root/postinfo
|
||
chmod 700 /root/postinfo/etcfiles
|
||
chmod 700 /root/postinfo/otherfiles
|
||
chmod 700 /root/postinfo/*
|
||
chmod 700 /root/postinfo/etcfiles/*
|
||
chmod 700 /root/postinfo/otherfiles/*
|
||
echo This is the contents of /root/postinfo >> /root/postinfo/summary
|
||
ls -AlR /root/postinfo >> /root/postinfo/summary
|
||
echo "###### THE END #####" >> /root/postinfo/summary
|
||
|
||
|
||
|
||
# taking stock at the end of this step
|
||
echo
|
||
echo Contents of /root/postinfo at the end of this STEP-999
|
||
ls -AlR /root/postinfo
|
||
echo End of "### STEP 999 ###"
|
||
echo
|
||
echo "###### THE END #####"
|
||
echo IMPORTANT: You must now copy all the files in /root/postinfo
|
||
echo to a safe location, preferably on a different drive or on
|
||
echo a removable backup medium.
|
||
echo " "
|
||
echo You will find a summary report of this procedure, in
|
||
echo /root/postinfo/summary
|
||
echo You will find the earlier version of summary \(if any\)
|
||
echo inside /root/postinfo/oldpostinfo.tar.gz
|
||
echo " "
|
||
|
||
#
|
||
echo "
|
||
#---------------------------------------------------------
|
||
# WARNING WARNING WARNING
|
||
# shivalik (ver. 1.0)
|
||
# This script is being made accessible to you without any
|
||
# warranties or assurances about its performance or
|
||
# usability for any purpose. Be informed that you are using
|
||
# this script out of your own initiative and willingness,
|
||
# and at your own risk and peril.
|
||
# You will find the latest version of this script, and related
|
||
# information at: http://algolog.tripod.com/postlnx.htm
|
||
# Copyrights and all rights reserved by:
|
||
# Dr. S. Parthasarathy (algolog@hd1.vsnl.net.in)
|
||
#--------------------------------------------------------
|
||
"
|