Легкая переустановка Linux

Linux является достаточно устойчивой системой и может работать, в отличии от MS Windows, очень долгое время. Однако иногда все же приходиться переустанавливать систему. Любой администратор имеет свой собственный подход к осуществлению данной задачи, и не мне что-то кому-то навязывать. Любой процесс переустановки — это долгое, рутинное и скучное занятие. Однако, некоторое время назад мне попался на глаза довольно удобный способ. Надеюсь, он тоже окажется кому-то полезным.

Для примера возьмем следующие характеристики:
  1. 3 Гб под root
  2. 128 Мб swap
  3. Остаток места на жестком диске
Монтируем 3 к /mnt/drive2. Делаем каталог bobby (или другой), добавляем пользователя bobby и затем usermod -d /mnt/drive2/bobby bobby, чтобы сделать это домашним каталогом. В домашнем каталоге создаем директорию sys-config с подкаталогом conf_files. B conf_files копируем такие файлы, как /etc/hostname, /etc/hosts, необходимые вам файлы из /etc/rc.d/ и другие, которые подвергаются модифицированию при установке. В sys-config будет находиться скрипт install.sh, который копирует файлы из conf_files на их свои места. Данный скрипт находиться в конце статьи. Теперь, когда возникают проблемы с системой (например, кто-то вас взломал или файлы оказываются испорченными в результате чьей-то неграмотности), то надо просто проделать вышеуказанные шаги и запустить install.sh. Некоторые системные администраторы делают даже еженедельную переустановку своей системы.

Вот код:

#/bin/bash
bob_home_dir=/mnt/drive2/bobby
# устанавливаем crontabs
crontabs conf_files/crontab.root -u root
# копируем необходимые файлы на их места
(
cd conf_files
# etc files
cp hostname hosts exports fstab lilo.conf printcap syslog.conf
/etc
# X11
cp XF86Config /etc/X11
# ssh
cp sshd_config /etc/sshd
# используем новые файлы
killall -HUP sshd
# /etc/rc.d files
cp rc.modules rc.local /etc/rc.d
# samba
cp smb.conf /etc/samba
# сделаем так, что бы изменения возымели эффект
kill -HUP 1
# конфигурируем загрузочный сектор
/sbin/lilo
)
# создаем ссылки из /usr/local/bin & /usr/local/sbin
ln -s ${bob_home_dir}/bin/* /usr/local/bin
ln -s ${bob_home_dir}/sbin/* /usr/local/sbin
Вот и весь скрипт. Конечно, в нем можно много что изменить, но что именно — каждый решает сам в зависимости от системы.