|
#!/bin/sh
#保存位置/usr/bin/myrootfs
TOP_DIR=`pwd`
#检查用户的权限是否为root权限
check_root(){
if test $(id -u) != 0 ; then
echo -e "\n此脚本仅适合在SliTaz系统root权限下操作."
echo -e "\n脚本需要root权限运行 `basename $0`."
echo -e "请使用su命令(密码:root)切换到root用户.\n"
exit 0
fi
}
write_rootfs(){
cd /tmp/root
echo -e "\n正在用lzma格式压缩生成 rootfs.gz文件,请耐心等待几分钟......"
find . -print | cpio -o -H newc | lzma e -si -so > ../rootfs.gz
echo 1 > /tmp/rootfs
}
check_root
echo -e "\n\033[1mWrite filesystem to rootfs.gz\033[0m"
echo -e "=================================================================="
echo -e "命令rootfs将会把当前文件系统写入到相应cpio格式文件中(rootfs.gz)。"
echo -e "\e[40;31;1m注意:\033[0m \033[1;33m执行此命令时不要进行其他操作,否则rootfs.gz启动会失败!!\\033[0;39m"
echo -e "\nArchive compression: lzma"
echo -e "\n删除缓存..."
rm /home/tux/.cache -r -f
rm /var/cache/tazpkg/* -r -f
rm -f /etc/blkid.tab
rm -f /etc/udev/rules.d/70-persistent-net.rules
# display harddisk
rm /var/run/dbus/* -r -f
echo -e "\n想要清除声卡和屏幕设置选项吗 ? "
echo -e "按 ENTER保持当前设置,或回答 (No|Yes|Exit): "
read anser
case $anser in
e|E|"exit"|Exit)
exit 0 ;;
y|Y|yes|Yes)
echo -e "\n删除当前声卡和屏幕设置..."
rm -f /var/lib/sound-card-driver
rm -f /etc/asound.state
rm -f /etc/X11/screen.conf
rm -f /etc/X11/xorg.conf ;;
*)
echo -e "\n保持当前声卡和屏幕设置..." ;;
esac
echo -e "\n新建/tmp/root文件夹"
mkdir /tmp/root
echo -e "同步目录到/tmp/root........."
mount -o bind / /tmp/root
rm -f /tmp/rootfs
write_rootfs &
sleep 2
cd - > /dev/null
echo -e "\n文件系统大小:"
while [ ! -f /tmp/rootfs ]
do
sleep 1
echo -en "\\033[18G`du -sh /tmp/rootfs.gz | awk '{print $1}'` "
done
mv -f /tmp/rootfs.gz $TOP_DIR
echo -e "\n[\\033[1;33mrootfs.gz\\033[0;39m]保存在 $TOP_DIR文件夹中\n\n"
sakura -e "sudo umount -f /tmp/root"
sakura -e "sudo rmdir /tmp/root"
exit
|
|