ArchLinux 安装笔记
前言
在开始之前,请在心中默念三遍:
Arch Linux 是世界上最好的发行版, 我一定能掌握她.
环境
VM ware + UEFI + 500G 虚拟磁盘 + 2G 内存 + 桥接网络
下载镜像
进入这里挑个最新的就好, https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/
我下载的是 https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/2018.01.01/archlinux-2018.01.01-x86_64.iso
测试网络
ping baidu.com
对时
timedatectl set-ntp true
分区
常用分区工具有 fdisk / gdisk / parted
. fdisk 不支持 gpt, parted 不太完善, UEFI 启动最好搭配 GPT
格式的磁盘, 所以这里我们采用 gdisk
分区规划
分区 | 空间 |
---|---|
EFI | 500 M |
Boot | 500 M |
/ | 硬盘剩余空间 |
使用 gdisk 分区
执行 fdisk -l
或者 lsblk
查看硬盘设备名
执行 gdisk /dev/sda
开始分区, dev/sda
是硬盘设备名
输入 n 新建分区
询问分表号, 默认 1 , 可直接回车
询问分区开始位置, 可直接回车
询问分区结束为止, 输入 +500M
回车
询问分区表格式, 默认是 Linux filesystem
, 由于第一个分区我们用来当作 efi 分区 ,需要 EFI System
格式,所以我们需要输入 L 来查询分区表格式的代号, 输入 L 后未发现 EFI System
, 再次按回车查询更多, 此时, 我们就能发现 EFI System
的代号叫 ef00
输入 ef00
回车, 第一个分区就已经完成了。
输入 n 新建分区
询问分表号, 默认 2 , 可直接回车
询问分区开始位置, 可直接回车
询问分区结束为止, 输入 +500M
回车
询问分区表格式, 默认是 Linux filesystem
, 由于第二个分区我们用来当做 boot 分区, 所以可直接回车
第二个分区就已经完成了。
输入 n 新建分区
询问分表号, 默认 3 , 可直接回车
询问分区开始位置, 可直接回车
询问分区结束为止, 这里我们是使用硬盘剩余的所有空间, 所以可直接回车
询问分区表格式, 默认是 Linux filesystem
, 由于第三个分区我们用来当做 / 根分区, 所以可直接回车
第三个分区就已经完成了。
输入 p 回车可查看分区表格式, 更多命令可以自行查询
输入 wq 回车, 再输入 Y 保存分区表并退出 gdisk
交互模式
至此, 硬盘分区完成
使用 fdisk -l
可以查看硬盘分区信息, 记住分区名称以备后用
格式化
执行命令时会有询问, 输入 Y 或者默认值即可
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
挂载
mount /dev/sda3 /mnt
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot
mkdir -p /mnt/boot/efi
mount /dev/sda2 /mnt/boot/efi
修改镜像地址
这一步是可选的, 只是为了安装时从网络下载文件时能更快
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
vim /etc/pacman.d/mirrorlist
把第一个镜像地址设置为 Server = http://mirrors.tuna.tsinghua.efu.cn/archlinux/$repo/os/$arch
安装基础包
只要 base 即可, 我习惯把引导工具和必要的软件一块装进去
pacstrap /mnt base base-devel vim grub efibootmgr
生成 genfstab
genfstab -U /mnt >> /mnt/etc/fstab
Chroot 进入新系统
arch-chroot /mnt
设置时区
设置为国内上海时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步硬件时钟
hwclock --systohc
设置地区
编辑 /etc/locale.gen 取消注释
vim /etc/locale.gen
取消下面两行的注释后保存
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
locale-gen
编辑 /etc/locale.conf , 添加一行, 个人喜欢英文, 如果乐意设置为 zh_CN.UTF-8 也可以
LANG=en_US.UTF-8
主机名
vim /etc/hostname
把主机名写进去, 我这里写入的是 arch
还要记得修改 /etc/hosts 文件
127.0.0.1 arch
设置密码
passwd root
连续输入两次 root 密码
启动加载器
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg
退出重启
退出 chroot 模式, 卸载 /mnt 后重启
exit
umount -R /mnt
reboot
联网
如果开机后没有网络可以启动 dhcpcd 服务
systemctl start dhcpcd
systemctl enable dhcpcd
安装 openssh
pacman -Sy openssh
systemctl restart sshd
systemctl enable sshd
已经启动 ssh 服务并加入开机自启, 默认是不允许 root 远程登录的, 可以修改配置或者再添加一个普通用户
添加常规用户
添加 wheel 组的权限
visudo
取消这一行的注释
%wheel ALL=(ALL) ALL
添加一个普通用户 junbaor 到 junbaor、wheel 组
groupadd junbaor
useradd -m -g junbaor -G wheel junbaor
passwd junbaor
现在就可以使用 xshell 之类的工具连接 ArchLinux 使用普通用户登录了.
ip addr
可以查看虚拟机 IP
安装 Oh My Zsh
sudo pacman -Sy zsh git
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
好了, 你现在已经拥有了世界上最好的 Linux 发行版和世界上最好的 Shell 终端.
修复 Home、End 键
你会发现使用 zsh 后, 键盘的 Home\End 键失效了, 在 ~/.zshrc
文件下添加下面两行可以解决
bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line
使配置立刻生效
source ~/.zshrc
添加 ArchlinuxCN 源
在 /etc/pacman.conf
文件末尾添加以下两行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
再安装 archlinuxcn-keyring 包导入 GPG key
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
安装桌面字体
我们安装 kde 桌面, 比垃圾 gnome 好多了
sudo pacman -S plasma-desktop kde-l10n-zh_cn konsole sddm kscreen dolphin wqy-microhei
plasma-desktop 是 kde 的桌面程序, kde-l10n-zh_cn 是中文语言包, konsole 是一个终端, 不然进入桌面后可能没有输入命令的地方, sddm 是登陆管理器, 先这么理解就对了, 你也可以安装多个桌面使用 sddm 登陆时进行切换, 第一次进入系统是英文, 切到中文后会出现方块字, 所以最好安装一下 wqy-microhei, 它是一款文泉微米黑中文字体, 显示效果还可以, kscreen 是一个可选的安装, 不装的话系统设置里面不能调整分辨率. dolphin 是 kde 套件中的文件管理器
别的教程可能和这里不一样, 不用担心, Arch 本来就十分灵活, 千人千面, 等自己能熟练掌握后就能随意 DIY . 新人装桌面可能会遇到一个叫 xorg 的玩意儿, 先不用管, 咱们不用安装, plasma-desktop 里面已经自动依赖。
有的教程里面会让安装一个叫做 kde-applications
的东西, 这玩意儿包含了一大堆软件(比如计算器)并不一定能用到, 不怕臃肿的话也可以装, 进入桌面后想装的话也来得及. 上面我只安装了一个 konsole 终端和 kscreen 设置. 这两个也都包含在 kde-applications 内.
安装完成后, 启动 sddm 服务就可以看到登录界面, 登陆后就可以看到贼鸡儿酷炫的桌面了, 为了下次开机直接进入桌面可以把 sddm 服务设置成开机自启.
sudo systemctl start sddm
sudo systemctl enable sddm
效果图
辛苦一番, 看一下阶段性成果
终端里面的 Arch 图标是 screenfetch
命令显示的, 想玩的话记得安装一下
安装 Chrome
由于我们之前配置了 ArchLinuxCN 源, 所以可以很方便的安装
pacman -S google-chrome
点击左下角直接键入 chrome 即可搜索出应用, 或者使用全局查找, 启动后记得在任务栏固定一下方便下次使用
安装中文输入法
官方 wiki 有问题, 经实践这样是可以的.
sudo pacman -S fcitx-im fcitx-sunpinyin fcitx-cloudpinyin kcm-fcitx
新建 ~/.xprofile
文件追加下面三行:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
kcm-fcitx 是输入法的 GUI 配置界面 , 和 kde 桌面配合完美
ArchLinux 安装笔记的更多相关文章
- ArchLinux 安装笔记:续 --zz
续前话 在虚拟机里调试了几天,终于鼓起勇气往实体机安装了,到桌面环境为止的安装过程可以看我的前一篇文章<ArchLinux 安装笔记>.桌面环境我使用的是 GNOME,虽然用了很长一段时间 ...
- ArchLinux 安装笔记 --zz
为何安装 ArchLinux 为了更深层次的理解 Linux (其实只是闲的蛋疼 准备安装介质 U盘首选,没有之一.自己的本子是 MBR 的,UEFI 神马的我才不知道呢哼! 制作 U 盘启动: Li ...
- 个人Win10 +archlinux安装笔记
win10+archlinux 1.查看磁盘并分区并挂载1.1 分区/dev/sda1 WIN10 保留分区/dev/sda2 WIN10 ESP分区(EFI)/dev/sda3 WIN10 MSR分 ...
- Archlinux安装笔记
由于自己的电脑上暂时还没有足够的硬盘空间,所以先暂用虚拟机来装一下Archlinux,在安装好VMware Workstation之后,从Archlinux官网的下载页面下载到了最新的镜像文件.之后新 ...
- archlinux+UEFI模式在linux主机下基于KVM-QEMU命令行虚拟机安装笔记
ArchLinux十分精简,并且具有强大的滚动更新.最近在基于ubuntu的宿主机下通过KVM-QEMU虚拟机安装了archlinux,将过程记录下来以供参考. 1.下载启动盘 1.1.下载archl ...
- MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记
MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记 说明 以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...
- sublime 安装笔记
sublime 安装笔记 下载地址 安装package control 根据版本复制相应的代码到console,运行 按要求重启几次后再按crtl+shift+p打开命令窗口 输入pcip即可开始安装 ...
- docker在ubuntu14.04下的安装笔记
本文主要是参考官网教程进行ubuntu14.04的安装. 下面是我的安装笔记. 笔记原件完整下载: 链接: https://pan.baidu.com/s/1dEPQ8mP 密码: gq2p
随机推荐
- 交表(Send a Table)
#include<stdio.h> #include<string.h> #define N 50010 int phi[N],n,sum[N]; void phi_table ...
- android 带checkbox的List
可实现点击内容即可选中 http://blog.csdn.net/harvic880925/article/details/40475367
- 跟我一起玩Win32开发(21):复制&粘贴&剪贴板操作
我要提醒一下大家,看了我的博文学到的知识,千万不要用于实际开发,不然你会被你的上司骂:“妈的,这些东西哪来的,从来没有人这样做过.”不信你试试,脑细胞被冻结的经理或者技术总监们肯定会这样说的. 如果是 ...
- 2018 ACM-ICPC亚洲区域赛(青岛)
Problem C---zoj 4060 Flippy Sequence 解题思路:要求进行两次操作,每次操作选择一个区间,问将s串变成t串中所选的两个区间构成的4元组有多少个.做法:找出s串与t串不 ...
- 题解报告:hdu 4607 Park Visit(最长链)
Problem Description Claire and her little friend, ykwd, are travelling in Shevchenko's Park! The par ...
- RxJava+Retrofit实现网络请求
RxJava+Retrofit实现网络请求: 首先要添加依赖 compile 'io.reactivex:rxjava:x.y.z' compile 'io.reactivex:rxandroid:1 ...
- AJPFX简述Object类
Object类是所有类的超类,所有类都拥有Object的方法.其中的toString.equals是对业务模型而言非常常用的方法.a) toString方法当调用System.out.prin ...
- 列表、margin和padding的探讨、标签的分类
一.列表 列表分为无序列表.有序列表和自定义列表 1.无序列表 <ul></ul> 1).内部必须有子标签,<li></li> 2).ul天生自带内 ...
- CSS3常用属性浏览器兼容前缀
1.检测网站https://gsnedders.html5.org/outliner/ 2.查询是否支持前缀http://caniuse.com 3.border-radius\box-shadow\ ...
- java实现课堂随机点名小程序
通过jdbc连接数据库实现读取学生花名册进行随机点名! ~jdbc连接mysql数据库 || 注释部分代码可通过读取.txt文档实现显示学生信息 ~通过点击开始按钮实现界面中间标签不断更新学生信息 ...