archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

Windows+ArchLinux双系统,使用GPT+UEFI引导,lvm多级存储管理Linux分区。
本文按照一般步骤较为详尽列出了安装配置过程。
ArchLinux的wiki十分详尽,多参考wiki,许多问题迎刃而解。

准备

工具和设置

  • 互联网。
  • U盘。
  • Arch Linux ISO文件
  • 启动盘制作工具。
  • 在bios设置中关闭启设置中的安全启动。
  • 划分磁盘空间。

制作启动盘

  1. dd if=/path/arch.iso of=/dev/sdb bs=10M

if=后面是archISO文件的路径,of=后是U盘的设备路径/dev/sdx(x是一个小写字母,可插上优盘后在终端用df -h命令查看),bs=后是每秒写入数据大小。


插上U盘启动盘,入USB启动模式。计算机载入U盘上的系统后,回车选择第一项(默认)进入。

参看archwiki-install

连接网络

  • 无线:
  1. wifi-menu

选择相应SSID连接无线网络

  • 有线:默认自动连接。

硬盘分区

规划分区

首先查看整个磁盘的情况(分区大小位置等),确定分区计划。
查看分区命令示例:

  1. cfdisk /dev/sda #查看第一块硬盘的分区情况
  2. cfdisk #同 cfdisk /dev/sda
  3. cfdisk /dev/sdb #查看第二块硬盘分区情况,第三块则是sdc以此类推(U盘也会占用一个磁盘号)。

cfdisk利用箭头进行上下左右移动,回车键选中/确定,q退出

下面以硬盘分区为/dev/sda为例。

  1. cfdisk

再选中准备步骤中预先划分的空间,即使"Free space",新建(New)分区,输入大小并回车,建立了一个分区,假令为/dev/sda2,方便下面进行示例。

esp分区假令为/dev/sda1,方便下面进行示例。(已经存在的windows系统引导文件便在此esp中)
如果磁盘上不存在esp则需要新建一个esp,假令为/dev/sda1,然后对其使用fat32文件系统:mkfs.fat -F32 /dev/sda1

LVM方案

参看archwiki-lvm

  • 物理卷(PV)
    在 /dev/sda2建立一个物理卷用于安装linux
  1. lvmdiskscan #查看物理卷
  2. #将/dev/sda2创建为一个物理卷
  3. pcreate /dev/sda2
  4. pvdisplay #查看已经建立的物理卷
  • 卷组(VG)
    新建名为Linux的卷组,将需要使用到的物理卷加入卷组中。
  1. #创建卷组 将已经创建物理卷的/dev/sda2创建一个名为Linux的卷组
  2. vgcreate Linux /dev/sda2
  3. #扩展卷组(如需要)将Linux卷组扩增到磁盘c(第3块磁盘)
  4. vgextend Linux /dev/sdc
  5. #也可以免去扩增步骤而直接将几个磁盘物理卷直接合在一起创建卷组 示例如下:
  6. vgcreate Linux /dev/sda2 /dev/sdc
  7. vgdisplay #查看卷组情况
  • 逻辑卷(LV)
    根据需要的大小,在“Linux”卷组下创建三个“子卷”(逻辑卷),分别名为root(用于根分区)、swap(交换分区)和home(家目录)。
  1. lvcreate -L 20G Linux -n root
  2. lvcreate -L 4G Linux -n swap
  3. lvcreate -L 100G Linux -n home
  4. lvdisplay #查看逻辑卷情况

创建文件系统

将root卷和home卷建立为ext4文件系统,将swap卷建立为交换分区:

  1. mkfs.ext4 /dev/mapper/Linux-root
  2. mkfs.ext4 /dev/mapper/Linux-home
  3. mkswap /dev/mapper/Linux-swap

分区挂载

  1. mount /dev/mapper/Linux-root /mnt #挂载root
  2. mkdir /mnt/home #建立home挂载点
  3. mount /dev/mapper/Linux-home /mnt/home #挂载home
  4. mkdir /mnt/boot #建立boot挂载点
  5. mount /dev/sda1 /mnt/boot #挂载boot
  6. swapon /dev/mapper/Linux-swap #激活交换分区

激活lvm2钩子

编辑/etc/mkinitcpio.conf文件,在blockfilesystem这两项中间插入lvm2

HOOKS="base udev … block lvm2 filesystems"

基础安装和配置

安装基础系统和配置重要文件。

配置镜像源

在安装前最好选择较快的镜像,以加快下载速度。
编辑 /etc/pacman.d/mirrorlist,选择您的首选 mirror(按所处国家地区关键字索搜选择),将其复制到文件最开头。
中国地区镜像源如(阿里云、网易和中科大):

  1. Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
  2. Server = https://mirrors.163.com/archlinux/$repo/os/$arch
  3. Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch

保存并退出。

基础系统安装

执行:

  1. pacstrap -i /mnt base base-devel

fstab

  1. genfstab -U /mnt >> /mnt/etc/fstab
  2. #检查生成的 /mnt/etc/fstab 文件是否正确
  3. cat /mnt/etc/fstab

进入系统

  1. arch-chroot /mnt /bin/bash

initramfs

创建一个初始 RAM disk:

  1. mkinitcpio -p linux

引导程序

  1. pacman -S efibootmgr grub os-prober #安装相关程序
  2. grub-install --efi-directory=/boot --bootloader-id=grub #写入
  3. grub-mkconfig -o /boot/grub/grub.cfg #生成配置

grub是引导程序, efibootmgr 创建 GRUB 安装脚本使用的 .efi 启动项,os-prober可以发现安装的其他系统,使其加入grub引导列表。
:os-prober可能需要在系统安装完毕后,重启进入系统再次执行以下内容方能检测到其他系统。

  1. grub-mkconfig -o /boot/grub/grub.cfg

网络设置

  • 有线
    如只使用无线网则不要开启开机自动连接
  1. systemctl start dhcpcd # 连接
  2. systemctl enable dhcpcd #开机自动连接
  • 无线
  1. pacman -S iw wpa_supplicant dialog #安装相关工具
  2. wifi-menu # 连接

:在使用无线连接有问题是尝试关闭有线网络再进行连接。

  1. systemctl stop dhcpcd #关闭有线连接服务
  2. systemclt disable dhcpcd #取消开机自动有线连接
  • ADSL 宽带
  1. pacman -S rp-pppoe #安装相应工具
  2. pppoe-setup # 配置
  3. systemctl start adsl # 连接
  4. systemctl enable adsl #开机自动连接

此时基本系统已经安装和配置完成,可以连按 Ctrl+D 退出安装,输入reboot可以重启了。
登陆系统时输入root然后两次回车即可(密码默认为空),可接着进行以下安装和配置。

补充:上文提到,多系统可能需要在重启进入系统再次执行以下内容方能检测到其他系统。

  1. grub-mkconfig -o /boot/grub/grub.cfg

搭建使用环境

可参看archwiki-general recomendations

用户管理

用户和密码

  1. passwd #设置或更改用户密码 接着输入两次密码(密码不会显示出来)
  2. useradd -m -g users -s /bin/bash user1 #user1是新建用户的用户名
  3. passwd user1 #设置或更改用户密码 接着输入两次密码(密码不会显示出来)

sudo

允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
编辑/etc/sudoers,找到

root ALL=(ALL) ALL

在其下添加(示例):

  1. user1 ALL=(ALL) ALL

user1是用户的名称(根据实际填写)。
保存退出。
以后使用user1用户时可以在命令前加上sudo(sudo后有空格)获取一定的root权限,比如安装软件时需要。

时间

  1. timedatectl #硬件时间和系统时间查看
  2. timedatectl set-time "2017-02-01 17:01:01" #设置时间示例
  3. tzseclect #选择时区 根据显示输入数字选择

主机名

  1. echo myPC >> /etc/hostname

myPC是要设置的主机名。

图形界面

先根据实际显卡情况安装显卡驱动。
查看显卡:

  1. lspci | grep -i vga

如果不清楚设备是否有NVIDIA或ATI显卡,还可以具体查一下:

  1. lspci | grep NVIDIA #查看NVIDIA 显卡
  2. lspci | grip ADM #查看AMD 也可以再把AMD换成ATI试试。

显卡驱动

安装相应显卡驱动:

  1. pacman -S xf86-video-vesa #通用
  2. pacman -S xf86-video-intel #intel
  3. pacman -S nvidia #nvidia gt6/7系列安装nvidia-304xx
  4. pacman -S xf86-video-ati #amd/ati

使用集成显卡和英伟达(NVIDIA)组成的双显卡计算机,可能需要对双显卡的工作模式进行相关设置,如关闭一个显卡或者对显卡启用方案进行定制。
详见后文“其他问题-带Nvidia显卡的双显卡管理”。

X-window

  1. pacman -S xorg-server xorg-server-utils xorg-xinit

字体

主要是解决中文字体显示情况,根据喜好选择安装,如:

  1. pacman -S wqy-micorhei #文泉驿微米黑
  2. pacman -S oto-fonts-cjk #谷歌中日韩字体
  3. pacman -S adobe-source-han-sans-cn-fonts #adobe中文字体
  4. pacman -S ttf-arphic-uming #文鼎明体

桌面环境/窗口管理器

安装

  • 桌面环境(DE)
    如:
  1. pacman -S plasma #plasama5(kde5)
  2. pacman -S gnome #gnome3
  3. pacman -S xfce4 #xfce4
  4. pacman -S lxde #

更多

  • 窗口管理器(WM)
    如:
  1. pacman -S i3 #i3wm 平铺式(可浮动,平铺为主)
  2. pacman -S awesome #平铺式(可浮动,平铺为主)
  3. pacman -S openbox #浮动式
  4. pacman -S enlightenment #浮动式

更多

启动方式

启动桌面环境或者窗口管理器的方法。

  • 显示管理器
    图形界面的启动管理器,根据需求安装,例如:
  1. pacman -S sddm #plasma建议使用sddm
  2. pacman -S gdm #gnome建议使用gdm
  3. pacman -S lxdm #lxde建议使用lxdm
  4. pacman -S lightdm

更多

  • startx(使用xinit)
    编辑~/.xinitrc,写入:
  1. #!/bin/sh
  2. exec i3

对应相应的桌面环境或窗口管理器写入exec命令,如:
使用i3写入exec i3,使用awesome写入exec awesome,使用xfce4写入exec xfce4

注意,使用什么DE/WM则只写入相应exec命令,此条exec命令要置于此文件内容的末尾。具体参考相应wm/de的wiki条目。
更多参看archwiki-xinitrc

声音管理

桌面环境中带有,安装了桌面环境则不需安装。

  1. pacman -S alsa-utils

连接设备

桌面环境中一般带有,安装了桌面环境则不需要安装。

U盘和MTP

自动挂载U盘

  1. pacman -S gvfs
  2. pacman -S gvfs-mtp

触摸板

  1. pacman -S xf86-input-synaptics

软件包管理器

pacman

pacman是archlinux的软件包管理器。

  • 常用命令
  1. pacman -Syu #升级整个系统
  2. pacman -S name #安装软件 name是软件的名字
  3. pacman -Ss words #查询有某关键字的软件 words即是要查询的关键字
  4. pacman -R name #移除某软件但不移除其依赖 name是软件的名字
  5. 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

然后执行:

  1. pacman -S archlinuxcn-keyring

更多使用方法参考pacman -help帮助命令或pacman的wiki说明

yaourt

一个社区为增加pacman对AUR的无缝访问而做的软件包管理工具,更多相关工具参见archwiki-aurhelper
在/etc/pacman.conf添加了社区源后执行:

  1. pacman -Syu yaourt

更多工具参见archwiki-pacmanGUI

  • yaourt命令:
  1. yaourt words #搜索关键字 words是要搜索的关键字
  2. yaourt -Syua #更新整个系统
  3. yaourt -S name #安装软件 name是软件名

更多参考yaourt -h帮助命令或[archwiki-yaourt]

  1. 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

保存退出后执行:

  1. locale-gen

默认显示语言

设置后登录X将自动显示为相应语言。
使用echo LANG=<locale> > /etc/locale.conf设置默认 locale,示例:

  1. echo LANG=zh_CN.UTF-8 > /etc/locale.conf #设置简体中文
  2. 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本体带有:拼音(主流双拼支持)、二笔、五笔(支持五笔拼音混输)、晚风、冰蟾。
  1. pacman -S fcitx-im fcitx-configtool #fcitx输入法和图形界面的配置工具
  2. pacman -S fcitx-cloudping #拼音插件 若使用拼音自带输入法建议安装
  3. pacman -S fctix-rime #rime(又名小狼毫/中州韵/鼠须管)引擎
  4. 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进行输入,安装如:

  1. pacman -S ibus ibus-qt #ibus本体 ibus-qt保证在qt环境中使用正常
  2. pacman -S ibus-pinyin #拼音
  3. pacman -S ibus-rim #rime(又名小狼毫/中州韵/鼠须管)引擎

初次启用:

  1. 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

  1. #nvidia GeForce 6/7 系列的显卡安装nvidia-304xx而非nvidia
  2. pacman -S bumblebee mesa xf86-video-intel nvidia nvidia-settings bbswitch
  3. #将当前用户添加到bumblee组 此处的user是用户名
  4. gpasswd -a user bumblebee
  • 测试 Bumblebee 是否支持当前Optimus 系统
  1. optirun glxgears -info #执行后会出现测试图像
  2. optirun glxspheres64 #如果上一条不起作用执行着一条
  3. optirun glxspheres32 #如果是32位用户执行这一条
  • 使用nvidia显卡渲染程序
  1. #使用optimus启动程序
  2. optirun [options] application [application-name]
  3. #示例
  4. optirun oad #运行0ad(一款3d基于历史的即时策略游戏)
  5. #打开nvidia控制面板
  6. 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显卡状态:

  1. 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‘

然后执行

  1. source ~/.bashrc

以后只要执行hosts命令即可更新hosts内容。
!需要安装wget

shadowsocks

  • shadowsocks #shadowsocks简称ss
  • shadowsocks-qt5 #图形化ss前端
  • proxychains #可选 代理工具

更多见archwiki-shadowsokcs

打包、压缩和解压

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程序兼容层)

编辑/记录/写作

  • 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是一个良好的习惯。





文章来自:http://www.cnblogs.com/unkownarea/p/6258048.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3