国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,并且安裝过程全命令行,会有各类问题,各类知识。。。php
--- 安装引导器
--- ---------------------------linux
GRUBgit
BIOS:chrome
# pacman -S grub os-prober # grub-install --recheck /dev/<目标磁盘> # grub-mkconfig -o /boot/grub/grub.cfg
UEFI:---若是BIOS是UEFI的,就要用下面的命令安装grub了shell
# pacman -S dosfstools grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=arch_grub --recheck # grub-mkconfig -o /boot/grub/grub.cfg
其余引导器windows
+++ 分区浏览器
+++ +++++++++++++++++
在本节,用户须在 MBR 和 GPT 之间作出选择。一般建议在 UEFI 系统中使用 GPT,在 BIOS 系统中使用 MBR。注意部分 UEFI 系统不支持 MBR 引导,部分 BIOS 系统不支持 GPT 引导。安全
---
--- 分区方案
--- ---------------------------
基本要求:bash
至少一个分区(类型代码:8300)网络
特殊要求:
BIOS + GPT + Grub:BIOS 引导分区(类型代码:ef02;大小 ≥ 1 MiB)
UEFI:UEFI 系统分区(类型代码:ef00;大小 ≥ 256 MiB)
系统休眠:交换分区(类型代码:8200;大小 ≥ 2×内存大小)
通常建议:
若安装目标内存 ≤ 2GB,添加一个交换分区
为 /home 分配一个分区
一个例子:
$ lsblk /dev/sda -o NAME,FSTYPE,SIZE,MOUNTPOINT # 名称,文件系统,大小,挂载点 NAME FSTYPE SIZE MOUNTPOINT sda 120G ├─sda1 vfat 512M /boot/EFI ├─sda2 ext4 36G / ├─sda3 ext4 79.5G home └─sda4 swap 4G [SWAP]
---
--- 分区
--- ---------------------------
肯定目标磁盘及目标分区:
# lsblk
分区用软件:
通用:parted、cfdisk、sfdisk
仅 GPT:cgdisk、sgdisk
具体用法:
1.利用 fdisk 建立 MBR 分区:
$ fdisk /dev/sda
2.利用 cgdisk 建立 GPT 分区:
$ cgdisk /dev/sda
3.利用 parted建立 GPT 分区:
parted是一个能够分区并进行分区调整的工具,他能够建立,破坏,移动,复制,调整ext2 linux-swap fat fat32 reiserfs类型的分区,能够建立,调整,移动Macintosh的HFS分区,检测jfs,ntfs,ufs,xfs分区。
使用方法:parted [options] [device [command [options...]...]]
options
-h 显示帮助信息
-l 显示全部块设备上的分区
device
对哪一个块设备进行操做,若是没有指定则使用第一个块设备
command [options...]
check partition
对分区作一个简单的检测
cp [source-device] source dest
复制source-device设备上的source分区到当前设备的dest分区
mklabel label-type
建立新分区表类型,label-type能够是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" 通常的pc机都是msdos格式,若是分区大于2T则须要选用gpt格式的分区表。
mkfs partition fs-type
在partition分区上建立一个fs-type文件系统,fs-type能够是:"fat16", "fat32", "ext2", "linux-swap","reiserfs" 注意不支持ext3格式的文件系统,只能先分区而后用专有命令进行格式化。
mkpart part-type [fs-type] start end
建立一个part-type类型的分区,part-type能够是:"primary", "logical", or "extended" 若是指定fs-type则在建立分区的同时进行格式化。start和end指的是分区的起始位置,单位默认是M。
linux大于2T的磁盘使用GPT分区方式 - 吾心 - 51CTO技术博客
http://leeforget.blog.51cto.com/6950397/1375908
使用parted划分GPT分区 - 好脑壳和烂笔头 - 开源中国社区
https://my.oschina.net/guol/blog/61424
分区工具比较多,推荐 parted
或者 cfdisk
,后者有个相似图形化同样的界面很方便。我用的是 parted
,表问我为何,逼格高=。=
parted /dev/sda
(parted) mklabel msdos
(parted) mkpart primary ext4 1M 500M
(parted)
set 1 boot on
(parted) mkpart primary ext4 500M 50G
(parted) mkpart primary linux-swap 50G 54G
(parted) mkpart primary ext4 54G 100%
|
解释一下,先说一下 parted
的基本用法
(parted) mkpart part-type fs-type start end
|
进入 parted
交互界面后使用 mkpart
建立,后面跟上 4 个参数,分别是 分区类型、文件系统类型、起始点、结束点,分区类型就主分区仍是逻辑分区,起始结束点使用 MB、GB 方便计算你懂的。
使用 parted
对 /dev/sda
设备进行分区,分区表 为 MS-DOS
即 MBR
分区结构。共分了4个区,我的习惯~
挂载点 大小 说明
------------------------------------------------------------------
/boot 1-500M 用于挂载 /boot 分区,设置为 Bootable。
/ 500M-50G 用于挂载 / 分区
swap 50G-54G 用于交换分区(Swap)
/home 54G-100% 剩余空间用于挂载 /home分区
|
分完区后进行格式化
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda4
mkswap /dev/sda3
|
挂载分区
mount /dev/sda2 /mnt
mkdir /mnt/{boot,home}
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home
swapon /dev/sda3
|
分区方案:
类型 大小 类型代码
/dev/sda1 EFI 系统分区 512M ef00
/dev/sda2 Linux ext4 任意 8300
/dev/sda3 Linux 交换分区 适量 8200
4.利用 cfdisk建立 GPT 分区:
cfdisk有一个终端图形界面,本质和parted同样,详细用法以下:
CentOS分区cfdisk
http://blog.csdn.net/zhoutong12589/article/details/8210405
安装并配置 bootloader
个人主板是BIOS主板,这里采用的 bootloader 是Grub;安装 grub 包,并执行 grub-install 已安装到 MBR:
# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sdb
注意:须根据实际分区自行调整 /dev/sdb, 切勿在块设备后附加数字,好比 /dev/sdb1 就不对。
因为个人硬盘上还有另一个操做系统windows 7,为了检测到该系统并写到grub启动项中,还须要作下面的操做。
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg
卸载分区并重启系统
离开 chroot 环境并重启操做系统
# exit
# reboot
安装图形界面
桌面环境我用的是XFCE4,在安装以前须要装几个其它的东西。
安装xorg-server
# pacman -S xorg-server xorg-server-utils xorg-xinit
安装显卡驱动
个人笔记本是Intel的集成显卡和英伟达的独立显卡,这地方没弄清楚怎么回事,就安装了两个驱动;这里有一些相关描述:https://wiki.archlinux.org/index.php/NVIDIA_(简体中文)
# pacman -S xf86-video-intel
# pacman -S xf86-video-nouveau
安装LXDM
LXDM是个桌面管理器,用来登陆系统及启动XFCE桌面。
# pacman -S lxdm
# systemctl enable lxdm.service
安装XFCE4
# pacman -S xfce4
通过以上步骤,能够经过下面的命令来启动XFCE4了:
startxfce4
设置 root 用户密码
passwd root
添加用户
虽然你也能够直接用 root 用户,可是毕竟不安全,貌似有些软件还不能直接用 root ?
useradd -m -g users -G wheel -s /bin/bash ikke
passwd ikke
安装 sudo
要使用 sudo 命令提权的话须要安装 sudo 而且作相应配置
pacman -S sudo
打开 /etc/sudoers 文件,找到 root ALL=(ALL) ALL 并依葫芦画瓢添加 ikke ALL=(ALL) ALL 便可。
安装 bootloader
通常都是用 grub。
pacman -S grub
grub-install /dev/sda
因为个人硬盘上还有另一个操做系统windows 7,为了检测到该系统并写到grub启动项中,还须要作下面的操做。
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg
无线网设置
无线的话注意了,须要安装几个包否则没法使用。
pacman -S wpa_supplicant dialog
下面开始安装图形界面
首先是装Xorg
pacman -S xorg-server xorg-xinit
pacman -S xf86-input-synaptics
下面安装显卡驱动
intel
pacman -S xf86-video-intel
英伟达
pacman -S xf86-video-nv
ATi
pacman -S xf86-video-ati
我这里是双显卡,我只安装了intel的驱动
这个时候startx是不能进入x界面的,不过不用担忧,请继续看后续教程。
gnome桌面只要安装gnome包便可,还有一个gnome-extra包能够提供额外的经常使用软件和几个游戏,你能够安装时选择你要的软件,没有必要全选,固然也能够不装这个包,我这里只选了gnome-tweak-tool这个工具
pacman -S gnome gnome-extra
而后安装gdm登陆管理器
pacman -S gnome gdm
将gdm设置为开机自启动,这样开机时会自动载入桌面
systemctl enable gdm
安装plasma5
基础包
pacman -S plasma
完整包
pacman -S plasma-meta
最简安装(仅有桌面软件)
pacman -S plasma-desktop
而后是登陆管理器SDDM
pacman -S sddm
将SDDM设置为开机自启动
systemctl enable sddm
安装LXDM
LXDM是个桌面管理器,用来登陆系统及启动XFCE桌面。
# pacman -S lxdm
# systemctl enable lxdm.service
安装XFCE4
# pacman -S xfce4
通过以上步骤,能够经过下面的命令来启动XFCE4了:
startxfce4
安装LXDM管理器和LXDE桌面:
# pacman -S lxdm lxde
设置lxdm开机启动:
# systemctl enable lxdm
若是你不想开机自动进入桌面,可使用startx启动桌面,若是要使用startx,就不用安装登陆管理器。
pacman -S xorg-xinit
对你的startx配置文件进行设置
nano /etc/X11/xinit/xinitrc
文件最后有这样一段,删掉或者注释掉这些内容
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
若是你使用的是gnome桌面,在最后添加
exec gnome-session
若是是kde5,则添加
exec startkde
而后保存文件,这时候,你已经可使用startx来进入桌面了。
若是想要每一个用户进入不一样的桌面,你能够以用户身份登陆,为用户复制一份单独的配置文件
cp /etc/X11/xinit/xinitrc ~/.xinitrc
而后编辑~/.xinitrc
便可
useradd -m -G wheel -s /bin/bash 用户名
passwd 用户名
为安全期间,咱们能够用sudo来使用root权限
pacman -S sudo
将用户加入sudo组
在/etc/sudoers
加入这个:
用户名 ALL=(ALL) ALL
也能够去掉#%wheel ALL=(ALL) ALL
这一行前面的#
你须要中文字体才能使用gnome-terminal
pacman -S wqy-microhei
如今你已经可使用你的系统了,输入reboot
重启后系统便可自动进入gdm界面,而后进入桌面
安装经常使用字体:
# pacman -S ttf-dejavu wqy-zenhei wqy-microhei
Yaourt是archlinux方便使用的关键部件之一,但没有被整合到系统安装中的工具。建议在装完系统重启以后,更新完pacman和基本系统以后,就安装这个工具。
最简单安装Yaourt的方式是添加Yaourt源至您的 /etc/pacman.conf,在文件最后加入:
[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
而后
pacman -Syu yaourt
这里安装ibus做为中文输入法
sudo pacman -S ibus
sudo pacman -S ibus-pinyin
在~/.bashrc里面加入
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
而后在设置里启用输入法
你也能够安装fcitx:
sudo pacman -S fcitx-im fcitx-configtool
一样的,在~/.bashrc写入
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=“@im=fcitx”
而后执行
gsettings set \
org.gnome.settings-daemon.plugins.xsettings overrides \
"{'Gtk/IMModule':<'fcitx'>}"
安装搜狗输入法
yaourt -S fcitx-sogoupinyin
而后进入fcitx设置进行配置便可
前面已经安装了yaourt,这里只要
yaourt -S google-chrome
须要图形化的解压软件能够这样:
sudo pacman -S p7zip file-roller unrar
要支持制做fat文件系统,安装dosfstools,默认内核只能读取ntfs,要支持ntfs读写,安装ntfs-3g。
sudo pacman -S ntfs-3g dosfstools
须要安装create-ap才能使用gnome3设置里的建立热点选项
sudo pacman -S create_ap
###
若是你安装了gnome-extra,那么这个工具已经被安装了,不然的话
sudo pacman -S gnome-tweak-tool
这里我使用的numix-circle图标包,这个图标包在aur里,直接用yaourt便可
yaourt -S numix-circle-icon-theme-git
而后在gnome-tweak-tool里启用主题
gtk主题我选择了arc主题
yaourt -S gtk-theme-arc-git
而后在gnome-tweak-tool里启用
首先在gnome-tweak-tool里的拓展
里启用User themes
而后安装主题,这里我是用的贴吧的@Air_Wawei的Air主题,并本身作了些修改。
首先下载主题 而后解压,将Air文件夹放到/usr/share/themes/
文件夹里,在gnome-tweak-tool里启用主题
输入如下指令
curl -L -O http://archibold.io/sh/archibold
chmod +x archibold
./archibold login-backgroung 你的背景的地址
重启后gdm就会变成你要的背景
shell拓展请进入https://extensions.gnome.org/自行按照说明安装
screenfetch能够在终端里输出你的系统logo和状态。
能够用pacman安装:
pacman -S screenfetch
要让screenfetch在打开终端是自动输出,在~/.bashrc里加入
screenfetch
要得到像苹果osx同样的dock能够用docky或者dash-to-dock
docky的话sudo pacman -S docky
便可,docky不支持wayland。
dash-to-dock是gnome拓展,请在https://extensions.gnome.org/自行按照说明安装
我这里装了docky,这是个人docky配置
一些优化
SATA 有两种工做模式:原生的 AHCI 模式提供更好的性能(如热插拔和 NCQ 支持)、模拟的 IDE 模式提供更好的兼容性。通常主板出厂默认将 SATA 模式设置为 IDE 模式,但现在先进的 Linux 和 Windows 都早已原生支持 AHCI,因此咱们最好打开 AHCI 模式以优化性能。
Arch Linux 在安装好之后,内核镜像默认没有载入 AHCI 驱动模块。修改 /etc/mkinitcpio.conf
,添加ahci
到 MODULES
变量:
MODULES="ahci"
而后重建内核镜像,从新启动后 AHCI 驱动就会加载:
$ mkinitcpio -p linux
在主板 UEFI 或 BIOS 中,将 SATA 模式从 IDE
(或 PATA Emulation
等等),设置为 AHCI
(或 Native
等等)。须要注意的是,若是你还在用 Windows XP,它须要安装 AHCI 驱动才行。Windows Vista 及之后的版本则不须要担忧这个问题(但若是你是在 Windows 安装完成后才启用 AHCI 模式,由于安装期间 Windows 会自动禁用未使用的存储驱动程序,你须要参考 KB922976(Windows Vista/7)或KB2751461(Windows 8)来启用 AHCI 驱动程序)。
设置好之后,你能够从 dmesg
命令的输出里,找到 AHCI 和 NCQ 成功启用的证据:
$ dmesg
...
SCSI subsystem initialized
libata version 3.00 loaded.
ahci 0000:00:1f.2: version 3.0
ahci 0000:00:1f.2: irq 24 for MSI/MSI-X
ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x10 impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems apst
scsi host0: ahci
scsi host1: ahci
scsi host2: ahci
scsi host3: ahci
scsi host4: ahci
scsi host5: ahci
...
ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
...
Arch Linux 的 systemd-analyze
是个很不错的工具,利用它你能够很直观地观察到系统启动的时间都花到哪儿去了:
$ systemd-analyze
Startup finished in 6.857s (firmware) + 3.157s (loader) + 1.870s (kernel) + 8.157s (userspace) = 20.044s
我注意到打开 AHCI 后,内核和用户空间的载入速度明显提升了,总启动时间从约 30 秒缩短到 20 秒,效果很是明显。
用下面这个命令,能够了解到是什么东西启动最慢:
$ systemd-analyze blame
此外,还能够把启动过程绘制成 SVG 图表供你审阅(用 GNOME 的图片预览或 Chrome 浏览器均可以打开),这个图表中你还能够观察到是否有启动慢的组件影响到了依赖它的组件的启动:
$ systemd-analyze plot > plot.svg
Arch Linux 安装指南[2016.01] / 安装问题 / Arch Linux 中文论坛
https://bbs.archlinuxcn.org/viewtopic.php?id=1037
ArchLinux 安装笔记 | 雾里看花
https://blog.ikke.moe/posts/archlinux-installation-notes/
General recommendations (简体中文) - ArchWiki
https://wiki.archlinux.org/index.php/General_recommendations_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
Main page (简体中文) - ArchWiki
https://wiki.archlinux.org/index.php/Main_page_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
Zsh (简体中文) - ArchWiki
https://wiki.archlinux.org/index.php/Zsh_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
---zsh 就是传说中超级强大,要用来替代Bash shell的存在