archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)
工具和设置
制作启动盘
连接网络
硬盘分区
规划分区
LVM方案
创建文件系统
分区挂载
激活lvm2钩子
基础安装和配置
配置镜像源
基础系统安装
fstab
进入系统
initramfs
引导程序
网络设置
搭建使用环境
用户管理
用户和密码
sudo
时间
主机名
图形界面
显卡驱动
X-window
字体
桌面环境/窗口管理器
安装
启动方式
声音管理
连接设备
U盘和MTP
触摸板
软件包管理器
pacman
yaourt
本地化
Locale设置
默认显示语言
输入工具
ibus
其他问题解决
高分辨率(HIDPI)
蜂鸣声(beep/错误提示音)
带Nvidia显卡的双显卡管理
bumblebee方案
常用软件
网络
浏览器
下载
网络硬盘
科学上网
hosts
shadowsocks
打包、压缩和解压
多媒体
图像
音乐
视频
wine(windows程序兼容层)
编辑/记录/写作
通讯
其他
Windows+ArchLinux双系统,使用GPT+UEFI引导,lvm多级存储管理Linux分区。
本文按照一般步骤较为详尽列出了安装配置过程。
ArchLinux的wiki十分详尽,多参考wiki,许多问题迎刃而解。
准备
工具和设置
- 互联网。
- U盘。
- Arch Linux ISO文件。
- 启动盘制作工具。
- 在bios设置中关闭启设置中的安全启动。
- 划分磁盘空间。
制作启动盘
windows可使用usbwriter、poweriso、winsetupfromusb等工具。
Linux/OSX可使用dd命令。示例:
dd if=/path/arch.iso of=/dev/sdb bs=10M
if=后面是archISO文件的路径,of=后是U盘的设备路径/dev/sdx(x是一个小写字母,可插上优盘后在终端用df -h
命令查看),bs=后是每秒写入数据大小。
插上U盘启动盘,入USB启动模式。计算机载入U盘上的系统后,回车选择第一项(默认)进入。
连接网络
- 无线:
wifi-menu
选择相应SSID连接无线网络
- 有线:默认自动连接。
硬盘分区
规划分区
首先查看整个磁盘的情况(分区大小位置等),确定分区计划。
查看分区命令示例:
cfdisk /dev/sda #查看第一块硬盘的分区情况
cfdisk #同 cfdisk /dev/sda
cfdisk /dev/sdb #查看第二块硬盘分区情况,第三块则是sdc以此类推(U盘也会占用一个磁盘号)。
cfdisk利用箭头进行上下左右移动,回车键选中/确定,q退出。
下面以硬盘分区为/dev/sda为例。
cfdisk
再选中准备步骤中预先划分的空间,即使"Free space",新建(New)分区,输入大小并回车,建立了一个分区,假令为/dev/sda2,方便下面进行示例。
esp分区假令为/dev/sda1,方便下面进行示例。(已经存在的windows系统引导文件便在此esp中)
如果磁盘上不存在esp则需要新建一个esp,假令为/dev/sda1,然后对其使用fat32文件系统:mkfs.fat -F32 /dev/sda1
。
LVM方案
- 物理卷(PV)
在 /dev/sda2建立一个物理卷用于安装linux
lvmdiskscan #查看物理卷
#将/dev/sda2创建为一个物理卷
pcreate /dev/sda2
pvdisplay #查看已经建立的物理卷
- 卷组(VG)
新建名为Linux的卷组,将需要使用到的物理卷加入卷组中。
#创建卷组 将已经创建物理卷的/dev/sda2创建一个名为Linux的卷组
vgcreate Linux /dev/sda2
#扩展卷组(如需要)将Linux卷组扩增到磁盘c(第3块磁盘)
vgextend Linux /dev/sdc
#也可以免去扩增步骤而直接将几个磁盘物理卷直接合在一起创建卷组 示例如下:
vgcreate Linux /dev/sda2 /dev/sdc
vgdisplay #查看卷组情况
- 逻辑卷(LV)
根据需要的大小,在“Linux”卷组下创建三个“子卷”(逻辑卷),分别名为root(用于根分区)、swap(交换分区)和home(家目录)。
lvcreate -L 20G Linux -n root
lvcreate -L 4G Linux -n swap
lvcreate -L 100G Linux -n home
lvdisplay #查看逻辑卷情况
创建文件系统
将root卷和home卷建立为ext4文件系统,将swap卷建立为交换分区:
mkfs.ext4 /dev/mapper/Linux-root
mkfs.ext4 /dev/mapper/Linux-home
mkswap /dev/mapper/Linux-swap
分区挂载
mount /dev/mapper/Linux-root /mnt #挂载root
mkdir /mnt/home #建立home挂载点
mount /dev/mapper/Linux-home /mnt/home #挂载home
mkdir /mnt/boot #建立boot挂载点
mount /dev/sda1 /mnt/boot #挂载boot
swapon /dev/mapper/Linux-swap #激活交换分区
激活lvm2钩子
编辑/etc/mkinitcpio.conf文件,在block与filesystem这两项中间插入lvm2:
HOOKS="base udev … block lvm2 filesystems"
基础安装和配置
安装基础系统和配置重要文件。
配置镜像源
在安装前最好选择较快的镜像,以加快下载速度。
编辑 /etc/pacman.d/mirrorlist,选择您的首选 mirror(按所处国家地区关键字索搜选择),将其复制到文件最开头。
中国地区镜像源如(阿里云、网易和中科大):
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = https://mirrors.163.com/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
保存并退出。
基础系统安装
执行:
pacstrap -i /mnt base base-devel
fstab
genfstab -U /mnt >> /mnt/etc/fstab
#检查生成的 /mnt/etc/fstab 文件是否正确
cat /mnt/etc/fstab
进入系统
arch-chroot /mnt /bin/bash
initramfs
创建一个初始 RAM disk:
mkinitcpio -p linux
引导程序
pacman -S efibootmgr grub os-prober #安装相关程序
grub-install --efi-directory=/boot --bootloader-id=grub #写入
grub-mkconfig -o /boot/grub/grub.cfg #生成配置
grub是引导程序, efibootmgr 创建 GRUB 安装脚本使用的 .efi 启动项,os-prober可以发现安装的其他系统,使其加入grub引导列表。
注:os-prober可能需要在系统安装完毕后,重启进入系统再次执行以下内容方能检测到其他系统。
grub-mkconfig -o /boot/grub/grub.cfg
网络设置
- 有线
如只使用无线网则不要开启开机自动连接
systemctl start dhcpcd # 连接
systemctl enable dhcpcd #开机自动连接
- 无线
pacman -S iw wpa_supplicant dialog #安装相关工具
wifi-menu # 连接
注:在使用无线连接有问题是尝试关闭有线网络再进行连接。
systemctl stop dhcpcd #关闭有线连接服务
systemclt disable dhcpcd #取消开机自动有线连接
- ADSL 宽带
pacman -S rp-pppoe #安装相应工具
pppoe-setup # 配置
systemctl start adsl # 连接
systemctl enable adsl #开机自动连接
此时基本系统已经安装和配置完成,可以连按 Ctrl+D 退出安装,输入reboot可以重启了。
登陆系统时输入root然后两次回车即可(密码默认为空),可接着进行以下安装和配置。
补充:上文提到,多系统可能需要在重启进入系统再次执行以下内容方能检测到其他系统。
grub-mkconfig -o /boot/grub/grub.cfg
搭建使用环境
可参看archwiki-general recomendations
用户管理
用户和密码
passwd #设置或更改用户密码 接着输入两次密码(密码不会显示出来)
useradd -m -g users -s /bin/bash user1 #user1是新建用户的用户名
passwd user1 #设置或更改用户密码 接着输入两次密码(密码不会显示出来)
sudo
允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
编辑/etc/sudoers,找到
root ALL=(ALL) ALL
在其下添加(示例):
user1 ALL=(ALL) ALL
user1是用户的名称(根据实际填写)。
保存退出。
以后使用user1用户时可以在命令前加上sudo
(sudo后有空格)获取一定的root权限,比如安装软件时需要。
时间
timedatectl #硬件时间和系统时间查看
timedatectl set-time "2017-02-01 17:01:01" #设置时间示例
tzseclect #选择时区 根据显示输入数字选择
主机名
echo myPC >> /etc/hostname
myPC是要设置的主机名。
图形界面
先根据实际显卡情况安装显卡驱动。
查看显卡:
lspci | grep -i vga
如果不清楚设备是否有NVIDIA或ATI显卡,还可以具体查一下:
lspci | grep NVIDIA #查看NVIDIA 显卡
lspci | grip ADM #查看AMD 也可以再把AMD换成ATI试试。
显卡驱动
安装相应显卡驱动:
pacman -S xf86-video-vesa #通用
pacman -S xf86-video-intel #intel
pacman -S nvidia #nvidia gt6/7系列安装nvidia-304xx
pacman -S xf86-video-ati #amd/ati
使用集成显卡和英伟达(NVIDIA)组成的双显卡计算机,可能需要对双显卡的工作模式进行相关设置,如关闭一个显卡或者对显卡启用方案进行定制。
详见后文“其他问题-带Nvidia显卡的双显卡管理”。
X-window
pacman -S xorg-server xorg-server-utils xorg-xinit
字体
主要是解决中文字体显示情况,根据喜好选择安装,如:
pacman -S wqy-micorhei #文泉驿微米黑
pacman -S oto-fonts-cjk #谷歌中日韩字体
pacman -S adobe-source-han-sans-cn-fonts #adobe中文字体
pacman -S ttf-arphic-uming #文鼎明体
桌面环境/窗口管理器
安装
- 桌面环境(DE)
如:
pacman -S plasma #plasama5(kde5)
pacman -S gnome #gnome3
pacman -S xfce4 #xfce4
pacman -S lxde #
- 窗口管理器(WM)
如:
pacman -S i3 #i3wm 平铺式(可浮动,平铺为主)
pacman -S awesome #平铺式(可浮动,平铺为主)
pacman -S openbox #浮动式
pacman -S enlightenment #浮动式
启动方式
启动桌面环境或者窗口管理器的方法。
- 显示管理器
图形界面的启动管理器,根据需求安装,例如:
pacman -S sddm #plasma建议使用sddm
pacman -S gdm #gnome建议使用gdm
pacman -S lxdm #lxde建议使用lxdm
pacman -S lightdm
- startx(使用xinit)
编辑~/.xinitrc,写入:
#!/bin/sh
exec i3
对应相应的桌面环境或窗口管理器写入exec命令,如:
使用i3写入exec i3
,使用awesome写入exec awesome
,使用xfce4写入exec xfce4
。
注意,使用什么DE/WM则只写入相应exec命令,此条exec命令要置于此文件内容的末尾。具体参考相应wm/de的wiki条目。
更多参看archwiki-xinitrc
声音管理
桌面环境中带有,安装了桌面环境则不需安装。
pacman -S alsa-utils
连接设备
桌面环境中一般带有,安装了桌面环境则不需要安装。
U盘和MTP
自动挂载U盘
pacman -S gvfs
pacman -S gvfs-mtp
触摸板
pacman -S xf86-input-synaptics
软件包管理器
pacman
pacman是archlinux的软件包管理器。
- 常用命令
pacman -Syu #升级整个系统
pacman -S name #安装软件 name是软件的名字
pacman -Ss words #查询有某关键字的软件 words即是要查询的关键字
pacman -R name #移除某软件但不移除其依赖 name是软件的名字
pacman -Qi name #查看已经安装的某软件的信息 name是软件的名字
- pacman 设置
配置文件在/etc/pacman.conf- 彩色输出:取消#Color中的#号。
- 级前对比版本:取消#VerbosePkgLists#号。
- 社区镜像源:在末尾添加相应源。
archlinuxcn中文社区镜像源,添加:
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://repo.archlinuxcn.org/$arch
或者(中科大中文社区镜像):
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
或者(网易中文社区镜像):
[archlinuxcn]
Server = https://mirrors.163.com/archlinux-cn/$arch
然后执行:
pacman -S archlinuxcn-keyring
更多使用方法参考pacman -help
帮助命令或pacman的wiki说明。
yaourt
一个社区为增加pacman对AUR的无缝访问而做的软件包管理工具,更多相关工具参见archwiki-aurhelper
在/etc/pacman.conf添加了社区源后执行:
pacman -Syu yaourt
更多工具参见archwiki-pacmanGUI
- yaourt命令:
yaourt words #搜索关键字 words是要搜索的关键字
yaourt -Syua #更新整个系统
yaourt -S name #安装软件 name是软件名
更多参考yaourt -h
帮助命令或[archwiki-yaourt]
- pacman GUI
pacman图形化的前端工具。
例如tkpacman,安装:
yaourt -S tkpacman
本地化
Locale设置
编辑/etc/locale.gen(一个仅包含注释文档的文本文件),根据本地化需求移除对应行前面的注释符号(#),Locale 决定了软件使用的语言、书写习惯和字符集。
示例,选择了英文(美国),简体中文(包括utf8和gbk编码),繁体中文(台湾),去掉三者的#号:
en_US.UTF-8 UTF-8
zh_CN.GBK
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
保存退出后执行:
locale-gen
默认显示语言
设置后登录X将自动显示为相应语言。
使用echo LANG=<locale> > /etc/locale.conf
设置默认 locale,示例:
echo LANG=zh_CN.UTF-8 > /etc/locale.conf #设置简体中文
echo LANG=zh_TW.UTF-8 > /etc/locale.conf #设置繁体中文
不过这样会导致tty下中文乱码。
可以在~/.xinitrc文件中指定locale信息,写入内容如:
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
以上内容要写在exec语句前。
各登录管理器和桌面环境中也可以设置显示语言。
- startx时手动选择语言的一种方法
在~/.bashrc中添加:alias x=‘export LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 && startx‘
alias xtc=‘export LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 && startx‘
alias xsc=‘export LANG=zh_CN.UTF-8 LC_CTYPE=zh_CN.UTF-8 LC_MESSAGES=zh_CN.UTF-8 && startx‘
然后执行source ~/.bashrc
,以后在从tty登录x时可以直接输入x(并回车,下同)则进入英文环境,如果输入xsc则进入简体中文环境,如果输入xtc则进入繁体中文环境。
如果需要临时更改locale环境可以执行export LANG=xx
等内容,xx即是具体locale名称如zh_CN.UTF-8
更多参见archwiki-locale
输入工具
主要解决中文输入。
- fcitx
fcitx本体带有:拼音(主流双拼支持)、二笔、五笔(支持五笔拼音混输)、晚风、冰蟾。
pacman -S fcitx-im fcitx-configtool #fcitx输入法和图形界面的配置工具
pacman -S fcitx-cloudping #拼音插件 若使用拼音自带输入法建议安装
pacman -S fctix-rime #rime(又名小狼毫/中州韵/鼠须管)引擎
pacman -S fcitx-sougoupinyin #如果喜欢使用搜狗拼音
rime可使用仓颉、注音、中古、郑码、吴语、粤语等等(下同)
配置
KDM、GDM、LightDM 等显示管理器的用户,向 ~/.xprofile添加以下内容。
startx 与 slim 的用户,向 ~/.xinitrc,在 exec 语句前添加以下内容。(以下内容添加到.xinitrc文件中的exec 语句之前)
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
更多参见archwiki-fcitx
ibus
使用ibus进行输入,安装如:
pacman -S ibus ibus-qt #ibus本体 ibus-qt保证在qt环境中使用正常
pacman -S ibus-pinyin #拼音
pacman -S ibus-rim #rime(又名小狼毫/中州韵/鼠须管)引擎
初次启用:
ibus-setup
将以下内容粘贴至~/.xprofile中:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
更多参见archwiki-ibus
其他问题解决
高分辨率(HIDPI)
参考archwiki-hidpi
使用高分辨时显示文字过小,可以通过桌面环境多可以调节。
也可以自行通过配置文件设置dpi。
编辑~/.Xresources(如没有此文件则添加之),写入:
Xft.dpi: 120
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb
其中第一行的xft.dpi:后的数字是要设置的dpi,根据实际情况填写。(1080p在120-144比较合适)
然后在~/.xinitrc中写入:
xrdb ~/.Xresource
注意写在exec语句之前。
蜂鸣声(beep/错误提示音)
去除按键错误是出现的滴滴警告声。
在~/.xinitrc中写入:
xset -b
注意写在exec语句之前。
带Nvidia显卡的双显卡管理
参看相关资料:
英伟达NVIDIA
使用bumblebee切换双显卡(集成显卡和NVIDIA)-推荐。
使用NVIDIA optimus管理。
使用prime动态切换显卡。
这里使用bumblebee方案。
bumblebee方案
bumblebee实现的功能:
- 利用独立显卡渲染程序,并通过集成显卡将图像显示在屏幕上(利用了 VirtualGL 或 primus 实现),相当于连接到了一个供独立显卡使用的 X 服务器。
独立显卡空闲的时候会被禁用。(利用bbswitch)
安装配置bumblee
#nvidia GeForce 6/7 系列的显卡安装nvidia-304xx而非nvidia
pacman -S bumblebee mesa xf86-video-intel nvidia nvidia-settings bbswitch
#将当前用户添加到bumblee组 此处的user是用户名
gpasswd -a user bumblebee
- 测试 Bumblebee 是否支持当前Optimus 系统
optirun glxgears -info #执行后会出现测试图像
optirun glxspheres64 #如果上一条不起作用执行着一条
optirun glxspheres32 #如果是32位用户执行这一条
- 使用nvidia显卡渲染程序
#使用optimus启动程序
optirun [options] application [application-name]
#示例
optirun oad #运行0ad(一款3d基于历史的即时策略游戏)
#打开nvidia控制面板
optirun -b none nvidia-settings -c :8
- bbswitch配置
bbswitch会自动关闭 bumblebee 不再使用的 NVIDIA 显卡(当NVIDIA显卡未用于渲染任何程序时),无须任何配置。
关机时启用NVIDIA显卡以确保重启后显卡正常工作,编辑/etc/systemd/system/nvidia-enable.service,添加如下内容:
[Unit]
Description=Enable NVIDIA card
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/bin/sh -c ‘echo ON > /proc/acpi/bbswitch‘
[Install]
WantedBy=shutdown.target
然后以root权限运行systemctl enable nvidia-enable.service
以启用服务。
检查nvidia显卡状态:
lspci | grep N
如果看到有NVIDIA一行文字末尾括号中有rev ff字样,则表示NVIDIA显卡已经关闭。
常用软件
软件只列出包名,使用pacman或yaourt(如果pacman -Ss查询不到此软件时使用之)安装,包名可能有错误,最好使用yaourt查找软件关键字确定包名。
参见软件列表
网络
浏览器
- firefox #火狐
- chromium #chromium 开源版的谷歌chrome
- opera #opera
下载
- 命令行:wget aria2
- 图形化:
- transmission #bt
- amule #p2p和ed2k
- you-get #下载YouTube/Youku/Sohu/Tudou/QQ/Sina/PPTV/Xiami/Vimeo/ifeng/AcFun/bilibili/CNTV/…
- uget #多协议下载工具
- pointdownload #多协议下载工具
此外还有浏览器的下载管理器以及浏览器下载插件等等。
网络硬盘
科学上网
hosts
更改/etc/hosts文件。一个github上的hosts项目,快速更新hosts方法:
粘贴如下内容到~/.bashrc:
alias hosts=‘sudo wget https://raw.githubusercontent.com/racaljk/hosts/master/hosts -O /etc/hosts‘
然后执行
source ~/.bashrc
以后只要执行hosts
命令即可更新hosts内容。
!需要安装wget
shadowsocks
- shadowsocks #shadowsocks简称ss
- shadowsocks-qt5 #图形化ss前端
- proxychains #可选 代理工具
打包、压缩和解压
archlinux的基础系统里带有了xz、tar和gz等等打包压缩解压工具。
- xarchiver p7zip unrar unzip
xarchiver是一个图形化前端,p7zip unrar unzip是相关后端工具。
一些桌面环境的额外软件包带有了相关软件。
多媒体
图像
- gimp #位图处理
- Inkscape #矢量图形
- mypaint #绘画
- imagemagick #命令行工具
音乐
- netease-cloud-music #网易云音乐
- kwplayer #酷我音乐第三方
- spotify #spotify
- deadbeef https:www.mega.nz)
- osdlyrics #自动下载歌词工具
- audacity # 音频编辑软件
视频
- mpv #简洁
- vlc #强大
- smplayer #强大
- kodi #多功能 华丽
- moonplayer #在线视频播放
- openshot #视频编辑软件
wine(windows程序兼容层)
- wine #参看archwiki-wine
以下是winde的第三方工具 - playonlinux
- pywine
- q4wine
- crossover #付费 有一定试用期 crossover官网
编辑/记录/写作
- office类
- libreoffice-fresh(fresh是最新版,still是稳定长期支持版)
- wpsoffice
pdf
- evince #gnome自带
- okular #plasma(kde)自带
- epdfview
- foxitreader #福昕
- 浏览器是一个不错的pdf阅读器
编辑器
- remarkable #markdown编辑器
- sublimetext
- haroopad #markdown编辑器
- atom
- 云笔记
- wiznote #为知笔记
- leanote #蚂蚁笔记
- nixnote2 #evernote(印象笔记)第三方
- simplenote #简单markdown云笔记 wordpress的公司出品
- cmdmarkdown #作业部落网站出品markdown云笔记
通讯
- 电子邮件
- thunderbird #火狐公司出品 现已转为社区维护 可 email irc rss
- clawsmail
- gnome和plasma(kde)自带的mail客户端
- 即时通讯
- 各种irc (使用yaourt irc搜索)如桌面环境自带的irc weechat thunderbird所带的irc
- telegram
- skype
- electronic-wechat #微信electrnic第三方版
- wineqq #配合wine或其第三方工具(如corssover)
- pidgin #多协议通讯客户端
其他
一堆其他不错的软件工具等等等等
calibre 电子书制作管理格式转换(配合kindle十分好用)
gopanda2 围棋igs(pandanet-igs.com)客户端
qgo 围棋客户端和sgf棋谱编辑工具
gnugo 围棋程序(可利用qgo做前端与电脑对弈)
xflux和xflux-gui 自动调节显示器色温(后者是前者的gui前端)
lolcat 彩色输出
screenfetch 发行版logo及系统简要信息显示
htop 进程管理器
bc 简单的计算器
cal 月历
cmatrix 黑客帝国风格的字符下落界面
以上是个人一点使用经验的梳理,遇到问题首先翻看archwiki是一个良好的习惯。