教程以VBox為實驗平臺,系統以Gentoo Linux和Arch Linux為例,因為他們的官方文檔比較齊全,遇到不懂的地方,你可以去官方尋找答案。
/*****************************************************
* Linux系統通用安裝教程之手動安裝全指導——文字版 *
*****************************************************/
一、安裝過程概覽
1,從可移動設備或硬盤啟動工作系統
2,配置工作系統的網絡
3,給硬盤分區并格式化分區
4,放置文件系統
5,安裝一些必須的軟件
6,配置宿主系統
7,安裝并配置引導器(Bootloader)
8,卸載文件系統并重啟
二、安裝開始
1 ——> 選擇合適的宿主系統并啟動工作系統
你有很多種安裝方案。前提是你要有一個工作系統的LiveCD鏡像文件。你可以從網易開源鏡像站獲取,或者從清華大學開源鏡像站獲取,或者從中國科技大學開源鏡像站獲取。
第一種方案:從LiveCD啟動。(本人推薦采用這種方式,因為簡單、穩定)
你需要將下載好的鏡像文件刻錄到CD-R光盤或CD-RW光盤上,然后從光盤啟動。
第二種方案:從LiveUSB啟動。(這種方式比較適合老鳥,我是一個LiveUSB極客,我不推薦新手這樣做)
你需要用Syslinux4dos或grub4dos將U盤、MP3、MP4或SD卡等可移動設備做成啟動盤,然后配置相關的啟動文件從而引導工作系統。
這方面的資料可以直接從網上搜索,就類似于從U盤安裝Linux系統的資料。我本人建議老鳥用Slax安裝Gentoo,對于Arch暫時沒有研究出,你可以從網上查找相關資料。
第三種方案:從硬盤啟動。(此方案與LiveUSB方案類似,不再贅述)
2 ——> 選擇并配置與網絡相關的信息
在Gentoo中配置網絡:
1 net-setup eth0
2 # 一直按回車,然后重復一下這個命令
3
4 ifconfig
5 # 查看是否獲得IP地址了
6
7 ping baidu.com
8 # 測試網絡是否能ping通外網
在Arch中配置網絡,還要配置軟件源的快的鏡像:
1 dhcpcd eth0
2 # 通過DHCP客戶端獲得IP地址
3
4 wifi-menu
5 # 通過Wi-Fi掃描并連接到無線局域網
6
7 ifconfig
8 # 查看網絡連通狀態
9
10 ping baidu.com
11 # 測試能否連通外網
12
13 # 配置鏡像列表是Arch的重要步驟,這一點與Gentoo有明顯的區別
14
15 vi /etc/pacman.d/mirrorlist 或 nano /etc/pacman.d/mirrorlist
16 # 編輯Arch軟件倉庫的鏡像列表,在第一個## Score:上面添加軟件源的網易鏡像站
17 # 復制這兩行到第一個## Score 的上面
18 ## Score: 5.8,China
19 Server = http://mirrors.163.com/archlinux/$repo/os/$arch
20 (Arch官方測得網易鏡像站速度的得分為5.8,由于我們是在中國,所以把網易鏡像站的這兩行寫到第一個吧。)
3 ——> 給硬盤分區并格式化分區
使用分區命令fdisk:
1 fdisk -l
2 # 獲知你的硬盤的設備名
3
4 fdisk /dev/sd*
5 # 格式化硬盤。。以下是使用fdisk的相關命令
6
7 m
8 # 獲得幫助信息
9
10 d
11 # 刪除指定的分區
12
13 n
14 # 從空白區新建分區
使用分區命令cfdisk:(由于cfdisk具有易操作的界面,在此不再介紹此命令,你可以從網上或書上查找使用方法。)
分區方案:
= 建議分4個主分區 =
第一個分區作為boot分區,size不超過200M,(因為內核及內核模塊的size是不會超過這個量的)
第二個分區作為根分區,size不小于4G,(如果是用的是虛擬機并且不安裝桌面環境,可以小于4G)
第三個分區作為備用分區,size根據需要而定,(如果要安裝雙系統,這個分區是很有必要保存的,而且先不要格式化)
第四個分區作為交換分區,size一般不小于1G。(如果實際內存為4G或4G以上,甚至是個人用的情況下,可以不創建交換分區)
格式化分區:
1 mkfs -t ext2 /dev/sd*1 或 mke2fs /dev/sd*1
2 # 格式化第一分區為EXT2文件系統
3
4 mkfs -t ext3 /dev/sd*2 或 mke2fs -j /dev/sd*2
5 # 格式化第二分區為EXT3文件系統
6
7 # 第三分區備用,暫時不格式化
8
9 mkswap /dev/sd*4
10 # 格式化第四分區為交換分區
4 ——> 掛載文件系統并裝載必要的文件
在Gentoo中掛載文件系統:
1 mount /dev/sd*2 /mnt/gentoo
2 # 掛載/dev/sd*2到/mnt/gentoo目錄并定為宿主系統的 / 分區
3
4 mkdir /mnt/gentoo/boot
5
6 mount /dev/sd*1 /mnt/gentoo/boot
7 # 掛載/dev/sd*1到/mnt/gentoo/boot目錄設為宿主系統的 /boot分區
8
9 swapon /dev/sd*4
10 # 激活交換分區
在Arch中掛載文件系統:
1 # 步驟與Gentoo的一致,只是掛載的工作目錄不同,注意區別
2
3 mount /dev/sd*2 /mnt
4
5 mkdir /mnt/boot
6
7 mount /dev/sd*1 /mnt/boot
8
9 swapon /dev/sd*4
裝載系統文件:
Gentoo比較特別,Gentoo的Portage樹是一直穩定更新的,Gentoo還把基本的系統和Portage樹打包成快照上傳到各大鏡像站中了。如下是裝載過程:
1 cd /mnt/gentoo
2 # 進入宿主系統的根目錄
3
4 wget http://mirrors.163.com/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2
5 # 下載基本的系統的快照
6
7 tar xjpf stage3*
8 # 解壓快照
9
10 cd /mnt/gentoo/usr
11 # 進入/mnt/gentoo/usr目錄
12
13 wget http://mirrors.163.com/gentoo/snapshots/portage-latest.tar.bz2
14 # 下載新的Portage快照
15
16 tar xjf portage-latest*
17 # 解壓Portage快照
Arch的方式是簡單的,一個命令就搞定了。如下是具體過程:
1 pacstrap /mnt base base-devel grub-bios
2 # 安裝基本的系統、編譯工具和啟動引導器到宿主系統
5 ——> 進入宿主系統環境并安裝一些必須的軟件
Gentoo進入宿主系統環境之前需要設置正確的時間,還要掛載設備目錄/dev和虛擬文件系統目錄/proc,要做一些準備工作。如下是詳細過程:
1 cd /
2
3 date MMDDhhmmYY
4 # 設置時間
5
6 mount -t proc proc /mnt/gentoo/proc
7
8 mount -o bind /dev /mnt/gentoo/dev
9
10 cp -L /etc/resolv.conf /mnt/gentoo/etc/
11
12 chroot /mnt/gentoo /bin/bash
13
14 env-update && source /etc/profile
15
16 # 掛載/proc 和 /dev文件系統,拷貝/etc/resolv.conf文件,然后切換到你的宿主系統的環境。
Arch和Gentoo的這一步差不多,先生成宿主系統的fstab文件,任何用Arch的arch-chroot腳本可以直接進入宿主環境。如下是詳細過程:
1 cd /
2
3 data MMDDhhmmYYYY
4 # 設置時間
5
6 genfstab -p /mnt >> /mnt/etc/fstab
7 # 生成fstab文件
8
9 arch-chroot /mnt
10 # 切換到宿主系統的環境
安裝軟件就大同小異了。基本上都是利用包管理器從官方的軟件倉庫下載安裝所需的軟件。如下是Gentoo和Arch的對比:
1 # Gentoo的比較簡單,用emerge進行包的管理。
2
3 emerge -sync
4 #先更新一下Portage樹,雖然下載了新的Portage樹的快照,但還是建議你與官方同步一下。
5
6 emerge less nano syslog-ng vixie-cron dhcpcd ppp os-prober mirrorselect
7 # 先安裝的是編輯器、閱讀器、系統管理工具和網絡連接工具,這些是必要的軟件。
8
9 pacman -Syy
10 # 傳入兩個-y會強制pacman刷新所有軟件包列表。一般情況下,只要源有了更改,就應該使用 pacman -Syy 命令。
11
12 pacman -S os-prober dialog wireless_tools ifplugd
13 # Arch自帶了基本的系統工具,安裝這幾個就行了
6 ——> 配置系統
Gentoo和Arch甚至和其他發行版的配置步驟幾乎是一致的,以下合并兩者的步驟:
設置時區:
1 cp /usr/share/zoneinfo/Asia/Hong_kong /etc/localtime
2 # 以香港時區為中國本地時區
3
4 # 如果你想用世界時間作為本地時間,我建議你復制倫敦時區
5 cp /usr/share/zoneinfo/Europe/London /etc/localtime
6
7 hwclock --systohc --utc
8 # 設置硬件時鐘為UTC
設置主機名和域名:
1 cd /etc
2
3 echo 你的主機名 > /etc/hostname
4 # 對于Arch來說這樣就行了,Gentoo官方給的步驟太多了。
5 # 如果出現了問題,你就按情況根據官方的步驟做吧。
配置宿主系統的網絡:
之前的配置網絡那部分是為下載文件而配置的,現在是為宿主系統開機自動連接網絡而配置,Arch與Gentoo略有不同。
1 mirrorselect -i -o >> /etc/make.conf
2 # 在Gentoo中選擇網易鏡像站和搜狐鏡像站作為Portage的軟件源
3
4 nano -w /etc/conf.d/net
5 # /etc/conf.d/net當中收集了所有的網絡信息。
6 # 編輯這個文件配置連接到網絡的方式,你可以添加config_eth0=("dhcp")到該文件中,讓eth0自動獲得IP地址。
7
8 # Arch可以跳過這一步,Arch基本上是從工作系統的獲取網絡配置信息的
配置開機啟動項:
1 # 要想使宿主系統開機就啟動網絡等服務,必須將其設為默認開機啟動服務
2
3 ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
4 # net.eth0是映射到eth0網卡的服務,Gentoo在/etc/init.d目錄中是沒有net.eth0這個文件的。
5 # 這一步必須要做的
6
7 rc-update add net.eth0 default
8
9 rc-update add syslog-ng default
10
11 rc-update add vixie-cron default
12
13 # 下面配置Arch的網絡
14 ln -s /etc/network.d/examples/ /etc/network.d/ethernet-dhcp
15
16 systemctl enable net-auto-wired.service
17 # 設置開機啟動有線網絡
配置內核映像:
Gentoo需要自行編譯內核文件,而且Gentoo的快速安裝指南并沒有詳細介紹,建議你閱讀官方的內核配置文檔。以下是二者的配置過程:
1 # Gentoo編譯內核簡略過程
2
3 echo 'MAKEOPTS="-j3"' >> /etc/make.conf
4 # 這一步加速用emerge編譯安裝軟件的過程,內核源碼size比較大。
5
6 emerge gentoo-sources
7 # 下載并安裝內核內核源碼,這里只是下載內核源碼和補丁包。
8
9 emerge genkernel
10
11 # genkernel是使用類似安裝光盤中的內核配置來配置內核的
12 # 如果你不清楚如何配置內核選項,我建議你用genkernel
13
14 zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config
15 # 復制安裝光盤上的內核配置文件到genkernel搜索配置文件的默認位置。
16
17 genkernel --menuconfig all
18 # 如果你的內存size不小于4G,我建議你還是進入內核選項啟用"High Memory Support (64G)"。
19 # 若要了解其他的必要的選項,建議你閱讀官方文檔。
20
21 # Arch仍然保持其KISS原則,一條命令就搞定
22
23 mkinitcpio -p linux
24 # 這一步創建initramfs內核映像,它是啟動時供內核讀取的壓縮鏡像。
25 # 目的是引導系統使其能夠讀取根文件系統。
配置fstab文件:
1 # Gentoo與Arch在一步保持一致,這是必不可少的一步。
2
3 vi /etc/fstab 或 nano /etc/fstab
4 # 編輯fstab文件,設置掛載文件系統的類型。
5
6 # 以下是內容示例
7 /dev/sd*1 /boot ext2 defaults,noatime 1 2
8 /dev/sd*2 / ext3 defaults,noatime 0 0
9 /dev/sd*4 none swap defaults 0 1
10 /dev/sr0 /mnt/cd auto noauto,user 0 0
7 ——> 安裝并配置grub到宿主系統
grub是眾所周知的啟動引導器(Bootloader)之一。它大的優點就是可以引導不同分區下的多個系統。Gentoo和Arch在這一步也是不同的。以下是二者區別:
Gentoo安裝并配置grub:
1 emerge grub
2 # 下載并安裝grub
3
4 grub
5 # 進入grub配置界面
6
7 grub> root (hd0,0)
8 # 注意,這里的root定位于內核映像所在的分區。即/boot分區。
9
10 grub> setup (hd0)
11 # 注意,這一步是安裝grub到/boot/grub目錄。
12
13 grub> quit
14
15 # 接下來編輯grub的配置文件并保存
16
17 vi /boot/grub/grub.conf 或 nano /boot/grub/grub.conf
18
19 # 下面是示例內容
20
21 default 0
22 # 默認選擇哪個列表來引導。0表示第一個, 1表示第二個,以此類推。
23
24 timeout 30
25 # 在啟動選項列表的停留時間(單位是秒)
26 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
27
28 title Gentoo Linux
29 root (hd0,0)
30 kernel /boot/你的內核文件 root=/dev/sd*2 vga=791
31 initrd /boot/你的文件系統映像文(即initramfs映像)
32
33 # 以下是雙系統用戶所需的內容,但是前提是你的Windows系統在第三個分區
34 title Microsoft Windows
35 rootnoverify (hd0,2)
36 makeactive
37 chainloader +1
Arch安裝并配置grub:
1 # 安裝軟件的那一步已經安裝了grub-bios,Arch配置
2
3 grub-install --recheck /dev/sd*
4 # 注意,這一步非常重要,而且容易出錯,是安裝到/dev/sd*,不是/dev/sd*1
5
6 # 我之前安裝os-prober的目的是讓grub自己搜索其他的系統。現在要用到了。
7
8 grub-mkconfig -o /boot/grub/grub.cfg
9 # 這一步自動生成配置文件。
8 ——> 卸載宿主系統的文件系統并重啟電腦
終于配置完成了,現在做一些善后工作。
1 exit
2 # 先退出宿主環境
3
4 cd /
5
6 umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
7 # Gentoo可以這樣直接卸載宿主系統的文件系統
8
9 # Arch需要先復制一個腳本
10
11 cp /usr/bin/wifi-menu /mnt/usr/bin/
12 # 這就是那個用來連接Wi-Fi的腳本,很有用的。
13
14 umount /mnt/boot /mnt
15 # 卸載宿主系統
16
17 reboot
18 # 重啟
三、總結
實際上,安裝任何系統都沒有Gentoo復雜。也許你會說LFS,但是LFS不是發行版,沒有包管理器,沒有安裝腳本,甚至沒有通用安裝教程。所以,本篇總結安裝Gentoo和Arch的教程可以作為通用的Linux安裝教程。
安裝步驟無非就是以上那8個步驟。重要的是,一方面,你要會用常用的命令: cd cp vi nano less exit reboot poweroff ls cat echo 等等;另一方面,你要學會自己從網上找幫助。
好了,如果你還不熟練,可以重新安裝幾次。以本教程為指導,你要多動手多動腦,把基礎打牢。