今天要给大家带来的是精简版系统,更深侧次了解linux的工作原理
一、精简前的准备工作
1.先给虚拟机创建一个大约20G的虚拟硬盘(我使用的是VMvare,在虚拟机界面直接创建的。)
2.转换命令的一个脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/bin/bash
#
target=
/mnt/sysroot
clearCmd() {
if
which
$cmd &>
/dev/null
;
then
cmdPath=`
which
--skip-
alias
$cmd`
else
echo
"No such command"
return
5
fi
}
cmdCopy() {
cmdDir=`
dirname
$1`
[ -d ${target}${cmdDir} ] ||
mkdir
-p ${target}${cmdDir}
[ -f ${target}${1} ] ||
cp
$1 ${target}${cmdDir}
}
libCopy() {
for
lib
in
`ldd $1 |
grep
-o
"/[^[:space:]]\{1,\}"
`;
do
libDir=`
dirname
$lib`
[ -d ${target}${libDir} ] ||
mkdir
-p ${target}${libDir}
[ -f ${target}${lib} ] ||
cp
$lib ${target}${libDir}
done
}
while
true
;
do
read
-p
"Enter a command: "
cmd
if
[
"$cmd"
==
'quit'
] ;
then
echo
"quit"
exit
0
fi
clearCmd $cmd
[ $? -
eq
5 ] &&
continue
cmdCopy $cmdPath
|
二、开始裁剪
1.创建文件分区并挂载
把创建大小为20G的磁盘分区,分成500M和10G
/dev/sdb1 :500M用来装引导程序
/dev/sdb2 :10G是用来安装根文件系统
创建目录/mnt/boot,/mnt/sysroot
# mkdir /mnt/{boot,sysroot}
挂载sdb1至boot
# mount /dev/sdb1 /mnt/boot
挂载sdb2至sysroot
# mount /dev/sdb2 /mnt/sysroot
2.安装引导文件grub
如果像开机运行自己的linux必须,安装引导文件,安装引导文件常见有两个命令
# setup
# grub-install
相比较来说setup比较简单一点,不过在这里我们不能偷懒!!!
# grub-install --root-directory=/mnt /dev/sdb
3.复制内核和init文件
内核和init一般都在/boot目录下
1
2
3
|
[root@147 grub]
# ls /boot
config-2.6.32-358.el6.x86_64 grub lost+found System.map-2.6.32-358.el6.x86_64
efi initramfs-2.6.32-358.el6.x86_64.img symvers-2.6.32-358.el6.x86_64.gz vmlinuz-2.6.32-358.el6.x86_64
|
让我们把内核和init复制到我们/mnt/boot目录下并改名
1
2
|
[root@147 grub]
# cp /boot/vmlinuz-2.6.32-358.el6.x86_64 /mnt/boot/vmlinuz
[root@147 grub]
# cp /boot/initramfs-2.6.32-358.el6.x86_64.img /mnt/boot/init
|
复制完之后,在/mnt/boot下创建grub的配置文件,并修改信息
1
2
3
4
5
6
7
|
[root@147 grub]
# vim grub.conf
default=0
timeout=5
title wang linux
root (hd0,0)
kernel
/vmlinuz
ro root=
/dev/sda2
quiet selinux=0 init=
/bin/bash
initrd
/init
|
4.创建文件系统文件夹和命令
1
|
[root@147 sysroot]
# mkdir -pv /mnt/sysroot/{etc/rc.d,usr,var,proc,sys,dev,lib,lib64,bin,sbin,boot,srv,mnt,media,home,root}
|
创建完成后,开始复制命令和其库文件,在本文开头处有移动命令的脚本
# sh command.sh
然后输入各种你需要的命令,就会自动转到/mnt/sysroot/bin下,注意记着输入bash
5.测试安装情况
6.试试输入命令
ok!!!。大功告成!
转载于:https://blog.51cto.com/erikxue/1395874