更容易重新安装

更容易重新安装

我通常每六个月重新安装一次电脑操作系统。 原因是它清理系统并重新安装需要我在计算机前面总共约十分钟,所以它是无痛的。 注意我说“在电脑前”,系统使用一些特制的bash脚本为我做了所有的工作。

如果您需要重新安装Linux系统,您现在可以做的最好的事情是做功课。 给自己写一些bash脚本,这将自动化你的大部分工作。 这样,您将不必在重新安装时花费太多时间在电脑前。 我通常开始安装过程,看电影,然后在安装程序完成后运行一些bash脚本,并在脚本为我工作时抓住一口吃饭。 直到所有的脚本都完成,我甚至不打扰登录到xorg。 我只需登录到tty1,运行系统脚本并返回到我的电影。

我将大部分的软件包,文档等保存在第二个硬盘驱动器上,但这些文件也可以保存在cd / dvd上,让系统脚本装载卷,让脚本从挂载点中拉出所需的文件。

系统脚本

系统脚本应包含修改系统设置和内容的命令。 你会发现这个脚本不包含任何apt-get命令。 这样做的原因是,我相信超级用户应该在场,并注意安装或删除的任何软件应用程序包,以防微调需要完成。 当然,其他人可以根据需要自由运行他们的系统。

请记住,这个脚本只是一个例子,显示一些所需的工作可以自动化,而不需要你在电脑上。 我的系统脚本比下面的脚本更详细,您应该根据需要编辑脚本。

#!/bin/bash

# check for admin rights; needed to run this script
if [ $UID != 0 ]
then
exit
fi

# make backups of important system files in case of mistakes
mkdir /etc/master_copies
cp /boot/grub/menu.lst /etc/fstab /etc/apt/sources.list /etc/sudoers /etc/X11/xorg.conf /etc/master_copies

# create directories needed for future use
mkdir /mnt/sdb1 /mnt/iso

# mount needed file systems
mount /dev/sdb1 /mnt/sdb1

# edit files as needed
cat /mnt/sdb1/system-files/fstab-entries >> /etc/fstab

# comment out ssh agent in Xsession.options
sed 's/use-ssh-agent/# use-ssh-agent/g' /etc/X11/Xsession.options

# add additional software sources
cat /mnt/sdb1/system-files/sources.list >> /etc/apt/sources.list

# install themes for system-wide use
dpkg -i /mnt/sdb1/packages/my-theme.deb /mnt/sdb1/packages/my-icons.deb
cp /mnt/sdb1/graphics/wallpapers/* /usr/share/backgrounds

# clean up the system
apt-get clean
updatedb

#done
exit

这就是系统脚本。 当我返回时,系统应该准备好我需要运行的任何apt-get命令。 然后,我可以验证要安装的软件列表,开始安装,让系统执行所需的工作。

备份重要文件是至关重要的一步。 我无法告诉你在错误编辑xorg.conf后,这一步保存了我的背后的次数。 我仍然不知道为什么大多数发行版在安装程序中不包括这样的步骤,这将节省大量的时间和沮丧的新的linux用户。 检索一个丢失的sources.list文件与将文件系统安装在LiveCD中一样简单,并将文件从master_copies复制到其原始位置。

用户脚本

此脚本应包含只修改$ HOME中的设置和内容的命令。 再次,这个脚本只是一个例子,显示一些所需的工作可以自动化,而不需要你在电脑上。 我的用户脚本比下面的脚本更详细,您应该根据需要编辑脚本。

#!/bin/bash

# make sure we're in $HOME
cd $HOME

# make backups of important user files
mkdir .master_copies
cp some-file .master_copies

# copy needed files to $HOME
mkdir -p Documents
cp -r /mnt/sdb1/office-files/* Documents
cp -r /mnt/sdb1/settings/GNUstep .

# make needed symlinks
ln -s /dev/null .adobe
ln -s /dev/null .macromedia

# install themes
tar -xzf /mnt/sdb1/packages/infinity-theme.tar.gz .themes
tar -xzf /mnt/sdb1/packages/infinity-icons.tar.gz .icons
tar -xzf /mnt/sdb1/packages/myfonts.tar.gz .fonts

# tweak desired settings
gconftool-2 --type string --set /apps/metacity/general/theme "Infinity"
gconftool-2 --type string --set /desktop/gnome/interface/gtk_theme "Infinity"
gconftool-2 --type string --set /desktop/gnome/interface/font_name "MyFont 12"
gconftool-2 --type bool --set /apps/nautilus/desktop/home_icon_visible true
gconftool-2 --type bool --set /apps/nautilus/preferences/always_use_location_entry true
gconftool-2 --type integer --set /apps/panel/toplevels/bottom_panel_screen0/size 24
gconftool-2 --type integer --set /apps/panel/toplevels/top_panel_screen0/size 24

# done
exit

这就是用户脚本。 系统重新安装应该完成并配置为我的口味,我现在可以重新启动系统。 一旦重新启动完成,系统就可以让我使用,我花了大约十分钟在电脑前总共有几个特制的bash脚本。

gconftool-2命令在这里非常方便,可以帮助设置系统以满足用户的需求。 事实上,除了我需要跟踪一个关键字,因为这个方法比使用GUI要快得多,所以我甚至不用再讨论gconf编辑器了。 有关gconftool-2命令和交换机的更多信息,请参见:

man gconftool-2
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏