华硕天选(windows10+archLinux双系统)
如果使用DHCP的方式直接上网,那么不用准备什么
准备一个2G以上的U盘,刻录一个安装启动盘,安装镜像下载地址:清华源
插入U盘并开机进入BIOS设置界面
在Security
的选项卡中找到Secure Boot
(名称可能略有差异)的选项,选择Disable
将其禁用
找到类似于boot
的选项卡,找到类似名为Boot Mode
的选项,确保调整为UEFI only,而非legacy/CSM
找到Boot Options
的设置选项,将USB优盘的启动顺序调至首位
按F10保存退出
reflector服务会自己更新mirrorlist.特定情况下会误删某些有用的源信息,对新手不太友好,尤其是在中国
systemctl stop refector.service
在一系列的信息刷屏后,可以看到已经以root登录安装系统了,此时执行以下命令:
ls /sys/firmware/efi/efivars
如果输出了一堆东西,即efi变量,则说明已在UEFI模式.否则请确认启动方式是否为UEFI
iwctl #进入交互式命令行
device list #列出设备名,比如网卡叫wlan0
station wlan0 scan #扫描网络
station wlan0 get-networks #列出网络 比如连接CMCC-5AQ7
station wlan0 connect CMCC-5AQ7 #连接网络 输入密码即可
exit #连接成功后退出
正常来说,插入已经联网的路由器分出的网线(DHCP),直接能联网.可以稍微等几秒再测试网络
ping www.baidu.com
稍等片刻,若能看到数据返回,即说明已联网,Ctrl+C
终止退出当前命令.如果还是无法连接,使用ip link set xxx up
命令激活对应的网卡,再重新测试网络.若看到类似Operation not possible due to RF-kill
的报错,继续尝试rfkill unblock wifi
来解锁无线网卡
timedatectl set-ntp true #将系统时间与网络时间同步
timedatectl status #检查服务状态
vim /etc/pacman.d/mirrorlist
放在最上面的是会使用的更新源
/efi
推荐800M(作者1G)/
推荐100G(作者150G)/home
剩余 越大越好(作者200G)这里的根目录大小为参考值,足够日常使用,不建议小于50G,根目录过小会造成无法更新系统软件包等问题.
首先将磁盘换成gpt
类型**(sdax中的x是例子,根据实际情况输入)**
lsblk #显示分区情况
parted /dev/sdax #执行Parted,进行磁盘类型变更
(parted)mktable #输入matable
New disk label type? gpt #输入gpt 将磁盘类型转换为gpt 如磁盘有数据会警告,输入yes即可
quit #最后quit退出parted命令行交互
接下来使用cfdisk
命令对磁盘分区
cfdisk /dev/sdx #执行分区操作,分配各个分区大小,类型
fdisk -l #复查磁盘情况
建议将EFI分区设置为第一个分区,不然有可能出现不兼容的情况
#若出现`proceed any way?` y回车即可
mkfs.ext4 /dev/sdax #格式化根目录和home目录的两个分区
mkfs.vfat /dev/sdax #格式化efi分区
在挂载时,挂载是有顺序的,需要从根目录开始挂载
mount /dev/sdax /mnt
mkdir /mnt/home
mount /dev/sdax /mnt/home
mkdir /mnt/efi
mount /dev/sdax /mnt/efi
pacstrap /mnt base base-devel linux linux-firmware #base-devel在AUR包的安装是必须的
pacstrap /mnt dhcpcd iwd vim sudo bash-completion #一个有线 一个无线 一个编辑器 一个提权工具 一个补全工具 iwd也需要dhcpcd
fstab用来定义磁盘分区
genfstab -U /mnt >> /mnt/etc/fstab
复查一下/mnt/etc/fstab
确保没错
cat /mnt/etc/fstab
把环境切换到新系统的/mnt
下
arch-chroot /mnt
首先在/etc/hostname
设置主机名
vim /etc/hosthome
加入你想为主机取的主机名,比如这里叫arch
接下来在/etc/hosts
设置与其匹配的条目
vim /etc/hosts
加入以下内容
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
某些情况下不设置主机名,在KDE下可能会存在网络情况变更时无法启动GUI应用问题,在终端中出现形如
No protocol specified qt.qpa.xcb:could not connect to display
的错误,一般来说不会出现
随后设置时区,在/etc/localtime
下用/usr
中合适的时区创建符号连接
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将系统时间同步到硬件时间
hwclock --systohc
Locale
决定了软件使用的语言,书写习惯和字符集
编辑/etc/locale.gen
,去掉en_US.UTF-8
行以及zh_CN.UTF-8
的注释符号(#
)
vim /etc/locale.gen
然后使用命令生成locale
locale-gen
向etc/locale.conf
输入内容
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
passwd root
pacman -S intel-ucode #Intel
pacman -S amd-ucode #AMD
pacman -S grub efibootmgr #grub是启动引导器,efibootmgr被grub脚本用来将启动项写入NVRAM
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB #取名为GRUB 并将grub_x64.efi安装到之前指定的位置
编辑etc/default/grub
文件,去掉GRUB_CMDLINE_LINUX_DEFAULT
一行中最后的quiet
参数,同时把log level
的数值从3改到5.这样是为了后续如果出现系统错误,方便排错.同时加入nowatchdog
参数,可以显著提高开关机速度.
vim etc/default/grub
最后生成GRUB所需的配置文件
grub-mkconfig -o /boot/grub/grub.cfg
有的主板安装完后没有启动条目,尝试以下命令,正常安装无需执行
mkdir -p /efi/EFI/BOOT
mv /efi/EFI/GRUB/grubx64.efi /efi/EFI/BOOT/BOOTX64.EFI
注意! 重启前先拔掉优盘
exit #退回安装环境
umount -R /mnt #卸卸新分区
reboot #重启
重启后开启dhcp
服务,即可连接网络
systemctl start dhcpcd #立即启动dhcpcd
ping www.baidu.com #测试网络
若为无线连接,则还需要启动iwd
才可以使用iwctl
连接网络
systemctl start iwd #立即启动iwd
iwctl #进入交互式命令行
device list #列出设备名,比如网卡叫wlan0
station wlan0 scan #扫描网络
station wlan0 get-networks #列出网络 比如连接CMCC-5AQ7
station wlan0 connect CMCC-5AQ7 #连接网络 输入密码即可
exit #连接成功后退出
到此为止,一个基础的,没有UI界面的Arch Linux已经安装完成,接下来安装图形界面
如果在上节内容做完后重启并放置一段时间,那需要先按照上节内容末尾处重新连接网络,然后更新系统
pacman -Syyu #升级系统中全部包
添加用户,比如新增加的用户叫test
useradd -m -G wheel -s /bin/bash test #wheel附加组可sudo进行提权 -m同时创建用户家目录
设置新用户test的密码
passwd test
编辑sudo文件
EDITOR=vim visudo
找到这样一行,把注释符号#
去掉,:wq
保存并退出即可
#%wheel ALL=(ALL) ALL
%wheel
代表wheel组,百分号是前缀
ALL
=代表所有主机上都生效(如果把同样的sudoers
文件下发到了多个主机上)
(ALL)
代表可以成为任意目标用户
ALL
代表可以执行任意命令
比如:
%mailadmin snow.rain=(root) /usr/sbin/postfix, /usr/bin/sbin/postsuper, /usr/bin/deveadm
nobody ALL=(root) NOPASSWD: /usr/sbin/rndc reload
组mainadmin可以作为root用户,执行一些邮件服务器命令.可以在"snow"和"rain"这两台主机上执行
用户nobody可以以root用户执行rndc reload
命令.可以不输入密码.(正常来说sudo都是要求输入调用方的密码)
pacman -S plasma-meta konsole dolphin #安装plasma-meta元软件以及终端和文件管理器
systemctl enable sddm
在桌面环境中,交换分区或文件用来实现休眠(hibernate)的功能,即将当前环境保存在磁盘的交换文件或分区部分.除此之外,某些特定的软件需要swap才可以正确运行.交换文件与分区性能相同,且交换文件更为灵活,可随时变更大小,增加与删除
dd if=/dev/zero of=/swapfile bs=1M count=16384 status=progress #创建16G的交换空间 大小需要自定
chmod 600 /swapfile #设置正确的权限
mkswap /swapfile #格式化swap文件
swapon /swapfile #启用swap文件
最后
vim /etc/fstab
追加如下内容
/swapfile none swap defaults 0 0
vim /etc/pacman.conf
去掉[multilib]一节中两行的注释以开启32位支持库
在文档结尾处加入下面的文字以开启ArchLinuxCN源
[archlinuxcn]
Sever = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
上面的服务器地址是中科大的,下面是清华的
Sever = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
最后:wq保存退出,刷新pacman数据库
pacman -Syyu
重启电脑即可看到欢迎界面
进入桌面后,搜索konsole,它是KDE桌面默认的命令行终端
首先进行网络设置
sudo systemctl disable iwd
sudo systemctl stop iwd
sudo systemctl enable --now NetworkManager
安装基础功能包
sudo pacman -S ntfs-3g #识别NTFS格式的硬盘
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei #安装几个开源中文字体
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra #安装谷歌开源字体和表情
sudo pacman -S firefox chromium #安装火狐,谷歌浏览器
sudo pacman -S ark #与dolphin同用右键解压
sudo pacman -S packagekit-qt5 packagekit appstream-qt appstream #确保Discover可用 需重启
sudo pacman -S gwenview #图片查看器
sudo pacman -S steam #稍后看完显卡驱动再使用
最后要安装archlinuxcn源的相关步骤
sudo pacman -S archlinuxcn-keyring #cn源中的签名(archlinuxcn-keyring在archlinuxCn)
sudo pacman -S yay #yay命令可以让用户安装AUR中的软件(yay在archLinuxCn)
打开System Settings>Regional Settings>Language>Add language中选择中文加入,在拖拽到第一位,然后apply
再将System Settings>Regional Settings>Fomats中的值设为中文-简体中文(zh_CN)
最后重新登陆即可
很多人会错误地更改System Settings>Regional Settings>Fomats中的值为中文蒙古(mn_CN),默认,或者其他值,这会导致系统中一半中文一半英文.这里的值要保持默认的
en_US
或zh_CN
,或者改为你在locale.gen中添加的任意一种语言
sudo pacman -S fcitx5-im #基础包组
sudo pacman -S fcitx5-chinese-addons #官方中文输入引擎
sudo pacman -S fcitx5-anthy #日文输入引擎
sudo pacman -S fcitx5-pinyin-moegirl #萌娘百科词库 二次元必备(ArchLinuxCn)
sudo pacman -S fcitx5-material-color #主题
设置环境变量 编辑文件sudo vim /etc/environment
加入以下内容.konsole以及dophin都需要这些环境变量,倒是Chrome和Firefox都不需要就可以输入中文
GTX_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
打开系统设置>区域设置>输入法,先点击运行Fcitx
即可,拼音为默认添加项
接下来点击 拼音 右侧的配置按钮,点选云拼音
和在程序中显示预编辑文本
最后应用
回到输入法设置,点击配置附加组件
,找到 经典用户界面 在主题里选择一个喜欢的然后应用
注销,重新登陆,就可以在各个软件输入中文了
默认情况下,ArchLinux在一些终端编辑场景使用vi
编辑器,但是我们使用vim
.如果不做额外配置,在git等场景下,在终端调用编辑器会出错.编辑~/.bashrc
文件,加入以下内容,将vim设置为默认EDITOR
vim ~/.bashrc
export EDITOR='vim'
sudo systemctl enable --now bluetooth
ls /some_path #查看某个文件夹下的文件与子文件夹 /代表根目录,Linux最顶端路径,绝对路径
pwd #查看终端所在路径
cd /home/test #切换目录命令,将当前终端切换到某一个路径下
cp ./a.cpp ./b.cpp #复制命令,将a.cpp复制到b.cpp ./代表当前文件夹所在路径,相对路径
cp -r ./a ./b #复制整体文件夹
rm b.cpp #删除命令
mv a.cpp b.cpp #移动(重命名)命令 将a.cpp更名为b.cpp
mkdir new_folder #新建文件夹new_floder
sudo some command #使普通用户以root权限执行某些命令
sudo pacman -S package_name #安装软件包
sudo pacman -S Syyu #升级系统 yy标记强制刷新 u标记升级动作
sudo pacman -R package_name #删除软件包
sudo pacman -Rs package_name #删除软件包,及其所有没有被其他已安装软件的依赖包
sudo pacman -Qdt #找出孤立包 Q为查询本地软件包数据库 d标记依赖包 t标记不需要的包
sudo pacman -Rs $(pacman -Qdtq) #删除孤立软件包
sudo pacman -Fy #更新命令查询文件列表数据库
sudo pacman -F xxx #当不知道哪个包时,用来查询某个xxx命令属于哪个包
一个好用的图形化包管理软件
yay -S octopi #包管理前端界面
vim 1.txt #创建并编辑名为1.txt的文件
执行上面的命令后,会进入一个空的界面,此时你处于vim的命令模式
,在命令模式
下,可以用一些快捷指令对文本进行操作
输入a
进入vim的编辑模式
,此时输入任意文本,即可进行编辑
输入完成后,按下esc键,可以从编辑模式
退出到命令模式
,此时输入:wq
即可保存退出vim
下面是一些命令模式下的常用命令
:wq #保存退出
:q! #不保存,强制退出
dd #删除一行
2dd #删除两行
gg #回到文本第一行
shift+g #转到文本最后一行
/xxx #在文中搜索内容'xxx'回车搜索,按n键转到下一个
?xxx #反向搜索
完整教程在终端中输入命令vimtutor
即可
以下命令以dhcpcd
为例
systemctl start dhcpcd #启动服务
systemctl stop dhcpcd #停止服务
systemctl restart dhcpcd #重启服务
systemctl reload dhcpcd #加载服务以及它的配置文件
systemctl status dhcpcd #查看服务状态
systemctl enable dhcpcd #设置开机启动服务
systemctl enable --now dhcpcd #设置服务为开机启动并立即启动这个单元
systemctl disable dhcpcd #取消开机自启动
systemctl daemon-reload dhcpcd #重新载入systemd 配置 扫描新增或变更的服务单元 加载变更的配置用reload
rsync foo.txt me@sever:/home/me/ #最基础的复制文件
rsync -a bar/ me@sever:/home/me/ #-a 标记实现目录复制等
sudo pacman -S unarchiver
unar xxx.zip
磁盘检测用smartmontools
sudo smartctl -A /dev/sda #硬盘
sudo smartctl -d sat -A /dev/sdc #usb设备
磁盘空间分析可以直接使用dh
命令,也可使用Filelight
图形化界面直观查看
df -h
cpu与显卡的信息可使用一下两款软件
yay -S cpu-x
yay -S gpu-viewer
使用dmidecode
可以完整查看系统绝大部分硬件信息,包括内存频率,主板BIOS等等
sudo dmidecode
aemon-reload dhcpcd #重新载入systemd 配置 扫描新增或变更的服务单元 加载变更的配置用reload
##### 5.文件传输与系统备份
```bash
rsync foo.txt me@sever:/home/me/ #最基础的复制文件
rsync -a bar/ me@sever:/home/me/ #-a 标记实现目录复制等
sudo pacman -S unarchiver
unar xxx.zip
磁盘检测用smartmontools
sudo smartctl -A /dev/sda #硬盘
sudo smartctl -d sat -A /dev/sdc #usb设备
磁盘空间分析可以直接使用dh
命令,也可使用Filelight
图形化界面直观查看
df -h
cpu与显卡的信息可使用一下两款软件
yay -S cpu-x
yay -S gpu-viewer
使用dmidecode
可以完整查看系统绝大部分硬件信息,包括内存频率,主板BIOS等等
sudo dmidecode
到这里就结束啦,希望大家可以喜欢