首先说明一下我的环境。
1.VMware Workstation 10.0.1 build-1379776
2.archlinux-2014.02.01-dual.iso
首先建立虚拟机,其他的不提了,只想说明一下我的网络设置是选择桥接(Bridge)。
打开虚拟机,用光盘引导启动之后,到达启动界面。
我选择的是i686,也就是32位模式。
livecd会自动以root用户登录。
如果希望以ssh方式连接到这台虚拟机进行安装,首先安装ssh服务
pacman -Sy openssh
为此目标机启动ssh服务
systemctl start sshd.service
为root账户设定密码,方便ssh连接
passwd root
自带的编辑器是nano,可以视个人喜好替换为vim
pacman -Sy vim
由于我之前在虚拟机设定的时候网络选项是Bridge,所以livecd启动之后便自动连接到了外网。接下来用ifconfig命令获取此目标机的ip地址
ifconfig
由于是虚拟机中安装,所以以太网卡不是eth0之类的,一般来说,除了lo之外的便是,比如我此处是eno16777736
记下ip地址
在任何一台其他的Windows,Linux,或者Mac机器上启动相应的ssh服务,确认密钥之后便可登录到此虚拟机进行安装。
接下来便可以进行分区。
常见的分区表有GPT和MBR,此处以MBR分区表为例。
GPT分区有常用工具cgdisk,对应的MBR分区有工具cfdisk,但是Arch Linux的官方文档指出,cfdisk工具此处存在一定的问题,原文如下:
Note: There is also cfdisk, which is similar in UI to cgdisk, but it currently does not automatically align the first partition properly. That is why the classicfdisk tool is used here.
以以下命令运行 fdisk :
# fdisk /dev/sda
Command (m for help):
输入o
并按下Enter
然后建立第一个分区:
Command (m for help):
输入n
并按下Enter
- Partition type:
Select (default p):
按下Enter
Partition number (1-4, default 1):
按下Enter
First sector (2048-209715199, default 2048):
按下Enter
Last sector, +sectors or +size{K,M,G} (2048-209715199....., default 209715199):
输入+15G
并按下Enter
然后建立第二个分区:
Command (m for help):
输入n
并按下Enter
- Partition type:
Select (default p):
按下Enter
Partition number (1-4, default 2):
按下Enter
First sector (31459328-209715199, default 31459328):
按下Enter
Last sector, +sectors or +size{K,M,G} (31459328-209715199....., default 209715199):
按下Enter
现在预览下新的分区表:
Command (m for help):
输入p
并按下Enter
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x5698d902 Device Boot Start End Blocks Id System/dev/sda1 2048 31459327 15728640 83 Linux/dev/sda2 31459328 209715199 89127936 83 Linux
然后向磁盘写入这些改动:
Command (m for help):
输入w
并按下Enter
如果一切顺利无错误的话 fdisk 程序将会显示以下信息:
The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
如果因 fdisk 遇到错误导致以上操作无法完成, 你能使用 q
命令来退出。
当然,此处只分了根分区和/home,但是也可以根据个人实际情况单独分区/boot,/var,/swap等等。
接下来创建文件系统,此处以ext4文件系统为例。
# mkfs.ext4 /dev/sda1# mkfs.ext4 /dev/sda2
如果你分了一个swap区,不要忘了格式化和启用它:
# mkswap /dev/sdaX# swapon /dev/sdaX
UEFI 系统需要格式化 ESP 分区(假设是 /dev/sda1),命令是:
挂载分区之前,要检查当前磁盘的标识符和布局:
lsblk /dev/sda
注意要按照顺序挂载,先挂载根分区到/mnt
.
# mount /dev/sda1 /mnt
然后挂载/home
分区和其余单独分区(/boot
, /var
等)。
mkdir /mnt/home
mount /dev/sda2 /mnt/home
选择安装镜像,首先要编辑源列表。
livecd自带的源列表中,位于中国的是华中科大的源,可以另外添加163的源,速度很快,注意要将自己添加的源放置在其他的源之前
vim /etc/pacman.d/mirrorlist
163源地址
Server = http://mirrors.163.com/archlinux/$repo/os/i686
一旦更改了镜像列表,请务必记得使用 pacman -Syy 强制刷新
pacman -Syy
使用 pacstrap 脚本安装基本系统:
# pacstrap /mnt base base-devel
生成 fstab
用下面命令生成 fstab。如果想使用 UUIDs,使用 -U 选项;如果想使用标签,用 -L 选项.# genfstab -U -p /mnt >> /mnt/etc/fstab# nano /mnt/etc/fstab
下面要 到新安装的系统:
# arch-chroot /mnt
arch-chroot /mnt /bin/bash
进入 bash shell. 到这一步之后,开始系统的主要配置,如果下面文件不存在,需要手动创建。
glibc 和其他一些支持本地化的程序或者库使用 Locales 自动翻译输出各种语言的"独特" 文本, 并且合适的显示地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。
需要编辑两个文件:locale.gen 和 locale.conf.默认情况下 /etc/locale.gen 是一个仅包含注释文档的空文件。选定你需要的本地化类型(移除前面的#即可), 比如中文系统可以使用:en_US.UTF-8 UTF-8zh_CN.GB18030 GB18030zh_CN.GBK GBKzh_CN.UTF-8 UTF-8zh_CN GB2312然后运行:# locale-gen每次glibc更新之后就会运行 locale-gen 一次, 重新生成 /etc/locale.gen 指定的本地化文件。locale.conf 文件默认不存在,一般设置LANG就行了,它是其它设置的默认值。/etc/locale.confLANG=zh_CN.UTF-8LC_TIME=en_GB.UTF-8
终端字体和键盘映射
编辑/etc/vconsole.conf.KEYMAP可用的键盘映射位于/usr/share/kbd/keymaps. 注意此设置仅对 TTY 起作用,不改变图形窗口或X的设置。FONT 可用字体位于 /usr/share/kbd/consolefonts/,一般可用留空。FONT_MAP 可选设置,定义要加载的映射,请参考 man setfont。可以删除或者留空。Example:KEYMAP=usFONT=
配置系统 时区
-------------------------------# vim /etc/timezoneAsia/Shanghai# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime配置系统 硬件时间-------------------------------# hwclock --systohc --utc
按喜好设置主机名:
# echo myhostname > /etc/hostname注意: 现在已经不需要再编辑/etc/hosts.
安装NetworkManager并启动服务
------------------------------------------------------# pacman -S networkmanager# systemctl enable NetworkManager.serviceps:默认安装的network,需启动:dhcpcd@<interface>.service,似乎不太好用,这里我直接装networkmanager。
用 passwd
设置一个root密码
passwd
.Sudo
-------------------------------# pacman -S sudo# visudo允许wheel用户组成员无密码使用sudo:%wheel ALL=(ALL) NOPASSWD: ALL
.安装配置启动加载器
-------------------------------pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sda
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo# pacman -S os-prober# grub-mkconfig -o /boot/grub/grub.cfg
卸载分区并重启系统
如果还在 chroot 环境,先用 exit 命令退出系统:
# exit
卸载/mnt
中挂载的系统:
# umount -R /mnt
重启:reboot
至此,一个Arch的最小安装已经完成
如果要在VMware之中安装图形界面,还需要安装Xorg等服务
安装基础的 Xorg 包:
# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils
安装 mesa 以获得 3D 支持:
# pacman -S mesa
查看显卡类型:
- $ lspci |grep VGA
- 00:0f.0 VGA compatible controller: VMware SVGA II Adapter
- $ sudo pacman -Ss xf86-video|grep vmware
- extra/xf86-video-vmware 12.0.2-1 (xorg-drivers xorg)
- X.org vmware video driver
- 安装显卡驱动:
- $ sudo pacman -S xf86-video-vmware
- 目标 (27): damageproto-1.2.1-2 dri2proto-2.6-1 fixesproto-5.0-2
- glproto-1.4.15-1 kbproto-1.0.6-1 libdrm-2.4.33-1 libgl-8.0.3-1
- libglapi-8.0.3-1 libice-1.0.8-1 libpciaccess-0.13.1-1
- libsm-1.2.1-1 libx11-1.4.99.901-1 libxau-1.0.7-1 libxcb-1.8.1-1
- libxdamage-1.1.3-2 libxdmcp-1.1.1-1 libxext-1.3.1-1
- libxfixes-5.0-2 libxt-1.1.3-1 libxxf86vm-1.1.2-1 mesa-8.0.3-1
- svga-dri-8.0.3-1 xcb-proto-1.7.1-1 xextproto-7.2.1-1
- xf86vidmodeproto-2.3.1-2 xproto-7.0.23-1
- xf86-video-vmware-12.0.2-1
-
- $ sudo pacman -S xf86-input-vmmouse
测试GUI
- $ sudo Xorg -configure
- .安装XFCE-------------------------------$sudopacman -S xfce4 xfce4-goodies
- $ sudo pacman -S xf86-input-vmmouse
启动XFCE和单独在图形界面启用中文locale
-------------------------------$ cp /etc/skel/.xinitrc ~/.xinitrc$ nano ~/.xinitrcexport LANG=zh_CN.UTF-8export LC_ALL="zh_CN.UTF-8"exec startxfce425.安装SLiM-------------------------------$sudopacman -S slim$sudopacman -S slim-themes archlinux-themes-slim$sudo nano /etc/slim.conf修改:#current_theme default current_theme archlinux-simplyblack启动slim服务:$sudo systemctl enable slim.service
至此安装完成。