下载安装镜像和配置虚拟机都略过。
进入安装模式以后第一件事是要进行分区,分区很重要,怎么分区是由后面的grub的模式来决定的。grub有3种模式,分别对应grub-bios-gpt,grub-bios-mbr,grub-uefi。当时我因为一时糊涂,结果选择了grub-uefi这个分支世界线,结果就bad end了一天啊。所以建议走grub-bios-gpt和grub-bios-mbr这两条线,最后我选择了grub-biso-gpt这条世界线,终于一次good end了。
选择grub-bios-gpt的话,就需要用gdisk或者cgdisk来分区,千万不要用fdisk,会挂的。gdisk是直接命令行界面,cgdisk有写图形界面的样子。这次我选择了gdisk,使用 命令 gdisk /dev/sda。
根据界面提示分区如下。
大小 编码 文件系统 挂载
2M ef02 无文件系统
512M 8300 linux filesystem /boot
61.5G 8300 linux filesystem /
2G 8200 linux swap swap
2M的这个区是一定需要的因为grub-bios-gpt指明需要这个区,并且这个区推荐在最前,比/boot还要靠前,他的编码是ef02,这个一定要选对,文件系统为无。
512M 这个区其实不一定要这么大,不过我是为了以后如果可以更换为grub-uefi而预留的,刚好也可以作为一个/boot区域。
61.5G,我是直接作为一个主目录
2G,我是作为交换区域来用的。
下面是格式化
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda4 && swapon /dev/sda4 这个交换区
mount /dev/sda3 /mnt 先挂载根分区到/mnt 然后挂载/home分区和其余单独分区(/boot, /var 等)
mkdir /mnt/boot/
mount /dev/sda2 /mnt/boot
要检查当前磁盘的标识符和布局:
# lsblk /dev/sda 非常好用!
然后就是根据实际情况配置网络
nano /etc/pacman.d/mirrorlist
以下是几个好用的国内archlinux源
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
Server = http://mirrors.sohu.com/archlinux/$repo/os/$arch
配置好网络然后就可以安装了
pacstrap /mnt base base-devel arch linux 基础包
pacstrap /mnt grub-bios grub-bios 和syslinux只需要一个
genfstab -p /mnt >> /mnt/etc/fstab 生成分区表
arch-chroot /mnt 切换根目录
vi /etc/hostname 设置主机名
xyz
vi /etc/hosts 设置host
127.0.0.1 localhost.localdomain localhost xyz
::1 localhost.localdomain localhost xyz
search xyz
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 设置地区
vi /etc/locale.gen
找到开头为en_US和zh的行,把前面的注释符去掉
vi /etc/locale.conf
LC_COLLATE="C"
vi /usr/share/i18n/locale/zh_CN
找到LC_TIME段落,并添加
week 7;19971130;5
first_weekday 2
first_workday 2
locale-gen 生成地区信息
mkinitcpio -p linux
pacman -S grub-bios
modprobe dm-mod
grub-install --target=i386-pc --recheck --debug /dev/sda
mkdir -p /boot/grub/locale
cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
grub-mkconfig -o /boot/grub/grub.cfg 生成grub配置信息
passwd root 生成root密码
exit
umount /mnt/boot
umount /mnt
reboot
OK这样就安装好了,可以进入archlinux了,当然后面还有很多需要自己配置的东西
ArchLinux的包管理系统: pacman 记得打开网络哦
dhcpcd
想让它启动时自动打开网络:
systemctl enable dhcpcd@eth0.service
常用命令有:
pacman -Rsncd abc 删包和对应的依赖包,而且软件名称可以只输入主名称
pacman -Sy abc 和源同步后安装名为abc的包
pacman -S abc 从本地数据库中得到abc的信息,下载安装abc包
pacman -Sf abc 强制安装包abc
pacman -Ss abc 搜索有关abc信息的包
pacman -Si abc 从数据库中搜索包abc的信息
pacman -Syu 同步源,并更新系统
pacman -Sy 仅同步源
pacman -R abc 删除abc包
pacman -Rc abc 删除abc包和依赖abc的包
pacman -Rsn abc 移除包所有不需要的依赖包并删除其配置文件
pacman -Sc 清理/var/cache/pacman/pkg目录下的旧包
pacman -Scc 清除所有下载的包和数据库
pacman -Sd abc 忽略依赖性问题,安装包abc
pacman -Su --ignore foo 升级时不升级包foo
pacman -Sg abc 查询abc这个包组包含的软件包
pacman -Q 列出系统中所有的包
pacman -Q package 在本地包数据库搜索(查询)指定软件包
pacman -Qi package 在本地包数据库搜索(查询)指定软件包并列出相关信息
pacman -Q | wc -l 统计当前系统中的包数量
pacman -Qdt 找出孤立包
pacman -Rs $(pacman -Qtdq) 删除孤立软件包(递归的,小心用)
pacman -U abc.pkg.tar.gz 安装下载的abs包,或新编译的本地abc包
pacman-optimize && sync 提高数据库访问速度