ArchLinux十分精简,并且具有强大的滚动更新。最近安装了下arch,记录下过程,为以后的安装提供参考。
到https://www.archlinux.org/download/页面,寻找中国镜像源下载archlinux-**-x86_64.ios镜像文件
软碟通UltraISO制作的启动盘无法启动,读取时找不到相应引导。在windows下使用usbwriter可以成功写入镜像。usbwriter十分轻便且操作简单,可以在下面地址下载,https://sourceforge.net/projects/usbwriter/。
根据自己的电脑,选择U盘,进入安装环境。
arch的安装环境已经包含的基础的联网功能,硬件环境也会自动识别。有线网络使用dhcpcd命令。无限网络使用wif-menu命令找到相应无线id配置密码。设置完成之后通过ping命令来看看网络是否连接。
timedatectl set-ntp true
系统自带vim编辑器。在/etc/pacman.d/mirrorlist文件的开头加入清华源
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
接下来我们将对硬盘进行分区和安装文件系统。我们可以根据自己的需要进行分区方案选择。一般来说,我们需要,
一个分区:挂载我们的根目录
一个分区:挂载我们的引导目录。使用BIOS,建议2M。使用UEFI建议256M。
一个分区(可选):挂载交换分区。swap分区没有一个完美的值。你的内存紧张就多分点,反之同理。我8G的内存,分配了8G的swap空间。
如果你想把你的home目录分在一个单独的分区。你也可以再划分一个分区挂载home目录。
更多的分区知识和格式知识可以查看gentoo的安装wiki,写的还是很详细的。https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/zh-cn#.E8.AE.BE.E8.AE.A1.E4.B8.80.E4.B8.AA.E5.88.86.E5.8C.BA.E6.96.B9.E6.A1.88
对磁盘进行分区可以使用parted。我使用UEFI+GPT,fdisk好像不支持GPT,大家可以根据自己的需要选择。通常建议在 UEFI 系统中使用 GPT,在 BIOS 系统中使用 MBR。
使用parted选择我们需要分区的设备(此处我是/dev/sda)
parted -a optimal /dev/sda
输入命令后进入parted界面。此时我们就可以对相应的硬盘进行分区操作。
在磁盘上设置一个GPT标签(注意,此命令会消除硬盘的全部数据!!)
mklabel gpt
使用MBR分区布局的话,使用mklabel msdos命令。
设置parted工作时使用的容量单位。此处我们使用MB。
(parted) unit mib
使用print命令可以查看当前的分区情况。
对于BIOS系统我们分出一个2M的引导分区。使用mkpart命令,parted将从1MB到3MB的位置分出一个大小2MB的分区。bios_grub on设置此分区为bios_grub。
(parted) mkpart primary 1 3
(parted) name 1 grub
(parted) set 1 bios_grub on
对于UFEI系统我们如法砲制。对于UEFI引导分区需要使用boot on 开启标识。以下是我的分区方案。
(parted) mkpart primary 1 257
(parted) name 1 boot
(parted) set 1 boot on
(parted) mkpart primary 257 8449
(parted) name 2 swap
(parted) mkpart primary 8449 -1
(parted) name 3 rootfs
-1表示剩余全部空间。
我们可以使用rm命令来删除一个分配的区间。
rm 1
此时我们可以用print再确认以下分区情况。使用q退出parted。
上节,我们分配了引导分区boot,交换分区swap,根分区rootfs。对于文件系统的知识,可以去阅读上面提到的gentoo安装指南,其中文件系统章节对文件系统有较为详细的描述。我们此处对boot使用vfat,rootfs使用ext4。
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
对于交换分区swap我们还要将其激活
mkswap /dev/sda2
swapon /dev/sda2
将根分区挂载到/mnt
mount /dev/sda3 /mnt
将引导分区挂载到/mnt/boot。BIOS系统无需挂载。
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
pacstrap /mnt base base-devel
base-devel包中包括了gcc,make,sudo等等基础开发包。如果你是开发人员建议安装。如果仅仅使用安装base即可。
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
此时我们就从U盘安装环境转移到我们的新安装系统中。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
进行本地化设置以正确显示本地文字和时间等标准。
编辑 /etc/locale.gen 文件。找到zh_CN.UTF-8 UTF-8和en_US.UTF-8 UTF-8,将'#'注释去掉
nano /etc/locale.gen
然会执行 locale-gen生成locale。
locale-gen
将 LANG=en_US.UTF-8 加入 /etc/locale.conf
nano /etc/locale.conf
在 /etc/hostname 文件的第一行输入你的host名(自己取个喜欢的名字)
nano /etc/hostname
编辑 /etc/hosts文件,添加以下内容(hostname为你的host名)
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 hostname.localdomain hostname
使用passwd命令为root用户增加密码
passwd
pacman -S intel-ucode
如果你硬盘上还有别的系统,需要安装 os-prober。如果你的系统在别的硬盘单独引导,则不需要。
pacman -S os-prober
对于 BIOS 系统:
pacman -S grub
grub-install --target=i386-pc /dev/sdX # sdX 为你的安装硬盘
grub-mkconfig -o /boot/grub/grub.cfg
对于 UEFI 系统:
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory= --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg
EFI分区挂载点根据自己的当时分区方案改变。比如我的就是 /boot。
检查一下 /boot/grub/grub.cfg。应该可以找到下图类似的ArchLinux系统入口
如果你没有找到。检查一下/boot目录下是否有initramfs-linux-fallback.img initramfs-linux.img intel-ucode.img vmlinuz-linux这几个文件,如果没有,重新需要重新部署linux内核。
pacman -S linux
grub-mkconfig -o /boot/grub/grub.cfg
毕竟一直使用root用户是十分不安全的,我们需要创建一个自己的工作用户。(将Name换成自己的用户名)
useradd -m -g users -G wheel -s /bin/bash Name
修改用户密码
passwd Name
如果你没有安装base-devel,则需要安装一下sudo
pacman -S sudo
编辑/etc/sudoers文件,找到取消下面的注释。sudoers可能不可读,用chmod改下权限。
%wheel ALL=(ALL) ALL
这样你的用户就可以使用sudo命令了。
Inter的集成显卡是开箱即用的。不一定需要安装驱动。其他型号的显卡可以搜索pacman进行安装。注意,多个显卡驱动可能存在冲突。建议不需要,还是不要安装了。
pacman -S wpa_supplicant dialog
重启之后。仍可以使用wifi-menu和dhcped来完成网络连接。开机自动连接可以参考wiki或者其他资料。
至此,archLinux的基本安装已经完成。我们重启电脑之后,拔掉u盘,就可进入Arch的系统了。
exit
reboot
arch并没有提供桌面系统。我们需要自己根据自己的需要进行定制化配置。arch具有强大的官方软件源。通过使用pacman命令,我们可以安装到大部分我们需要的软件。
桌面系统的配置,可以查看我的另一个博客https://blog.csdn.net/qq_33215865/article/details/90288997
参考:
https://www.viseator.com/2017/05/17/arch_install/
https://bbs.archlinuxcn.org/viewtopic.php?id=1037