ArchLinux安装小记

本文发布时间: 2019-Mar-22
Arch Linux 安装小记这只是一篇随笔,用来记录从全新安装 Arch Linux 开始,到在使用过程中各种软件配置的过程。其实对于 Arch Linux 这样滚动更新的 Linux,很少需要重新安装系统。只不过在开始使用 Arch Linux 时遇到的一些问题,有时并没有真正了解其中的原因或者问题被掩盖了,所以通过写一些记录文档,并且把一些花时间配置的文件备份下来,无论以后再次使用还是整理思路都是好的。注意: 这不是一个安装 Arch Linux 的完整过程,ArchWiki 才是。但对于一些用户可以作为参考。1. 系统安装启动模式检查启动模式是否支持UEFI,这将决定在安装 Bootloader 阶段的步骤:ls /sys/firmware/efi/efivars网络连接有线用户在 DHCP 可以获取 IP 的情况下,一般可以连接网络,无线用户可以使用下面命令选择网络连接:wifi-menu -o wlp3s0 # 使用WiFi测试网络是否连通:e ping -c 3 www.archlinux.org时间使能 NTP 服务,更新系统时间,确保时间的准确性:timedatectl set-ntp truetimedatectl status磁盘查看磁盘信息,以选定使用的磁盘:lsblk创建/更改磁盘信息,这里对磁盘 /dev/sdb 重新分区,使用 gpt 格式:parted /dev/sdb(parted) mklable gpt(parted) mkpart ESP fat32 1MiB 513MiB(parted) set 1 boot on(parted) mkpart primary ext4 513MiB 100%格式化分区:mkfs.fat -F32 /dev/sdbmkfs.ext4 /dev/sdx挂载分区:mount /dev/sdb2 /mntmkdir /mnt/bootmount /dev/sdb1 /mnt/boot镜像选择安装使用的镜像服务器,一般使用 China 几个,解注释/移动到文件首:vim /etc/pacman.d/mirrorlist同步镜像服务器并安装:pacman -Syy #一般不需要,但可以测试选择镜像服务器速度用pacstrap -i /mnt base base-develfstab以UUID的方式生成fstab:genfstab -U /mnt >> /mnt/etc/fstab检查并修改fstabvim /mnt/etc/fstab因为使用SSD并支持TRIM,修改参数减少硬盘写入,并添加discard开启TRIM:UUID=xx / ext4 defaults,noatime,discard 0 1 # relatime -> noatime & add discardchrootchroot系统,以完成安装的最后工作:arch-chroot /mnt /bin/bash安装一些工具这里预先安装一些常用的工具,更多工具可以等到系统安装完毕再安装:pacman -S vim intel-ucode iw wpa_supplicant dialog zsh # intel-ucode是intel的微码工具本地化编辑下面文件,解注释使用到的类型:vim /etc/locale.gen保存后使之生效:locale-gen创建本地化选项:echo LANG=en_US.UTF-8 > /etc/locale.conf时间设置时区,并同步到系统时钟:tzselectln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtimehwclock --systohc --utcramdisk创建初始的ramdisk:mkinitcpio -p linuxBootloader因为使用 UEFI + GPT,直接使用 systemd 工具生成启动信息:bootctl install创建启动配置文件:vim /boot/loader/entires/arch.conf添加下列信息:title Arch Linuxlinux /vmlinuz-linuxinitrd /intel-ucode.img #安装intel-ucode后添加initrd /initramfs-linux.imgoptions root=/dev/sdb2 rw #/文件系统的分区修改文件默认启动信息:vim /boot/loader/loader.conf#add default arch & add timeout 0计算机名设置此系统的名称:echo leesheen-X240 > /etc/hostname并在 /etc/hosts 添加同样的主机名:vim /etc/hosts# 添加 leesheen-X240 到文件中两行内容的末尾root密码设置root用户密码:passwd完成退出chroot环境:exit卸载磁盘:umount /mnt -R重启:reboot2. 系统安装后系统重启后以root用户登录系统。Set Network//TODOLANWLAN用户通常我们应该使用普通(非root)用户使用Linux系统,需要root权限时使用sudo。创建一个leesheen的用户:useradd -m -G wheel -s /bin/zsh leesheenpasswd leesheen把leesheen用户添加到sudo用户组中:vim /etc/sudoers#add leesheen ALL=(ALL) ALLAURArch Linux 的用户软件源有庞大的资源,这也是Archer热爱它的一个原因,其中yaourt是一个很好的AUR助手工具,能帮助用户自动化中间的过程。编辑pacman的配置文件:vim /etc/pacman.conf添加archlinuxcn的源:[archlinuxcn]SigLevel = Optional TrustAllServer = http://mirrors.163.com/archlinux-cn/$archArch Wiki上提供的源有点慢,这里有国内的源的地址,可以测试速度后自行选择:Server = http://repo.archlinuxcn.org/$archServer = http://mirrors.ustc.edu.cn/archlinuxcn/$archServer = https://mirrors.ustc.edu.cn/archlinuxcn/$archServer = http://mirrors.cqu.edu.cn/archlinux-cn/$archServer = http://mirrors.163.com/archlinux-cn/$archServer = http://mirrors.hustunique.com/archlinuxcn/$archServer = http://mirrors.4.tuna.tsinghua.edu.cn/archlinuxcn/$archServer = http://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # both IPv4 & IPv6Server = http://mirrors.6.tuna.tsinghua.edu.cn/archlinuxcn/$arch # only IPv6修改完后更新源并且安装yaourt:pacman -Syu yaourt驱动用户主机为ThinkPad X240,Intel Haswell HD4400单集显:安装ThinkPad触摸板驱动:pacman -S xf86-input-libinput xf86-input-synaptics安装显示驱动:pacman -S mesa-libgl xf86-video-intel libva-intel-driver libvdpau-va-glmesa-demos声音内核已经集成ALSA驱动,这里安装工具:pacman -S alsa-utilsThinkPad X240默认识别两个声卡,把HDMI通道的声卡设置成为默认,这里如果想使用笔记本上的声卡,把PCH设置成默认,添加启动加载文件://TODO look pcmvim /etc/modprobe.d/alsa-base.conf添加如下代码设置:# Set pcm is default sound cardoptions snd_pcm index=0options snd_hda_intel index=1重新启动,PCH声卡就变成默认声卡了。切换用户以上操作基本上完成了 Arch Linux 核心部分的安装,下面针对不同的用户和不同的需要进行操作,也会以普通用户身份登录了。重启以普通用户身份登录reboot3. 用户软件安装GFWShadowsocksShadowsocks是一个轻量级socks5代理,以Python写成。安装SS:sudo pacman -S shadowsocks libsodium python2-numpy python2-salsa20 python2-m2crypto拷贝默认配置文件:sudo cp /etc/shadowsocks/example.json /etc/shadowsocks/config.json# 按自己shadowsocks配置修改后台启动服务并且开机自启:sudo systemctl enable shadowsocks@configsudo systemctl start shadowsocks@configProxychains很多时候应用不支持代理或者某些代理方式,Proxychains是一个将socks5等代理类全局化的工具。安装:sudo pacman -S proxychains-ng修改配置文件/etc/proxychains.conf# 修改最后一行socks5 127.0.0.1 1080然后就可以在Terminal中使用它让xxx应用走socks5代理:proxychains xxxgitgit不仅仅是一个版本管理工具,很多时候也是我们获取内容的工具。安装:sudo pacman -S git配置git:git config --global user.name 'Lee Sheen'git config --global user.email '[email protected]'很多时候访问Github很难,而我大部分git都是在Github上完成的,所以让所有的git都使用socks5代理来保证速度。当然也可以不添加,在访问困难的时候配合Proxychains使用,添加代理信息:git config --global https.proxy 'socks5://127.0.0.1:1080'git config --global http.proxy 'socks5://127.0.0.1:1080'配置文件为了同步多太电脑配置方便,我把一些配置文件同步到Github,先把配置文件clone下来:mkdir ~/Toolscd ~/Toolsgit clone https://www.github.com/leesheen/config-linux.git在~/Tools/config-linux/下就是后面需要的配置文件了。ZshZsh是一个功能强大的Shell,我们用其代替系统默认的bash。在前我们已经安装:# pacman -S zshZsh的高可定制性使我们获得一个优秀配置变得比较复杂,还好有个开源项目叫Oh-my-zsh,使用官网的脚本直接配置安装:sh -c '$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)'# 或者使用wgetsh -c '$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)'# 没有速度可配合Proxychains使用,或者执行备份脚本的内容:./Tools/config-linux/script/ohmyzsh_install.sh添加aliasvim .zshrc#添加需要的alias到最后alias pcs='proxychains -q'注意:如果想在root用户下也使用zsh的此配置,在root用户下执行上面的命令VimVim是一个强大的编辑器,对我来说最强大之处在于它的速度,任何大小的文件处理起来没有卡顿。无论是码代码还是Markdown,它的顺滑让我的工作更加专注,此前在安装初期我们已经安装:# pacman -S vimYCMYouCompleteMe拥有强大的补全和语义检查功能,安装:yaourt vim-youcompleteme-gitYCM检查语义需要clang的支持,安装:pacman -S clang链接全局配置文件到配置目录jCtagsCtags是Linux下的跟踪文件的利器,安装:pacman -S ctagsVundle它的强大之处也在于它的高可定制行,丰富的插件让我们的工作更加简单,但和其他插件丰富的工具(Chrome/Atom)不同的是,它没有一个官方的渠道管理这些插件,所以使用一个插件来管理这些插件,它叫Vundle,使用git安装:git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim把配置好的vimrc链接到家目录的vimrc:ln ~/Tools/config-linux/config/vimrc ~/.vimrc键入命令安装插件:vim +PluginInstall +qall 注意:如果使root用户或者sudo下使用vim也插件化,上述步骤在root用户下也操作一遍其中PowerLine插件需要额外的字体,安装:yaourt ttf-cosolas-powerlineKeyboardXbindkeys是一个可以允许用户自定义键值的程序,我们可以利用它来自定义一些按键,比如静音和增减音量的快捷键不能使用等,安装:sudo pacman -S xbindkeys这里使用配置文件中的配置:ln ~/Tools/config-linux/config/xbindkeysrc ~/.xbindkeysrc这个文件使用了以下工具Sound: alsa-utils 上述已经安装; BackLight: xinit-backlight 上述已经安装; MultiScreen: lxrandr 需要安装; Wi-Fi: 默认按键可以使用up/down Wi-Fi; Setting: TODO Search: TODO Finder: xfce4-appfinder 下述xfce4安装; FileManager: nautilus 下述xfce4安装;安装上述需要安装的工具:sudo pacman -S lxrandr添加xbindkeys启动到xinitrc,下面配置文件中已经包含。X/桌面环境/窗口管理器Xorg:Xorg 是 X11 窗口系统的一个开源实现,当使用桌面环境或者窗口管理器时需要X配合,安装Xorg和其工具包:sudo pacman -S xorg-server xorg-server-utils xorg-apps xorg-xinitln ~/Tools/config-linux/config/xinitrc ~/.xinitrc# 其中添加了fcitx和启动i3cp /etc/X11/xinitrc/xserverrc ~/.xserverrc安装Xfcexfce4是一个轻量级模块化的桌面环境。一般在需要桌面环境的时候作为备用。安装:安装xfce4和常用软件包:sudo pacman -S xfce4 xfce4-goodiesyaourt solarized-dark-themes安装NetworkManagerpacman -S networkmanager network-manager-applet xfce4-notifyd dnsmasq ppp rp-pppoe modemmanagersudo systemctl enable NetworkManagersudo systemctl start NetworkManager安装Bluetooth:pacman -S bluez bluez-utils bluemansudo systemctl enable bluetoothsudo systemctl start bluetooth如果需要开机启动蓝牙,添加下面文件:vim /etc/udev/rules.d/10-local.rules# Set bluetooth power upACTION=='add', KERNEL=='hci0', RUN+='/usr/bin/hciconfig hci0 up'配对蓝牙鼠标:如果使用双系统,而且使用蓝牙鼠标,那么让两个系统使用不用每次配对:sudo pacman -S chntpwmount /dev/sda4 /mnt/tmp/ # 挂载Windows安装目录cd /mnt/tmp/Windows/System32/config/ chntpw -e SYSTEM 在chntpw下执行:cd ControlSet001ServicesBTHPORTParametersKeys ls # 查看蓝牙的名称,选择进入cd 5c514f631027 复制上图的16进制代码并删除空格90C13638D41763DF52243F17D566146Fsu # 切换到root模式cd /var/lib/bluetooth/ls # 查看蓝牙名称,应与上述一致cd 5c:51:4f:63:10:27 lscd 00:1F:20:A9:DB:71vim info 把上述复制的16进制代码替换Key的值,保存重启即生效。安装VPN:yaourt strongswan yaourt networkmanager-strongswan安装i3窗口管理器:安装i3-wm:窗口管理器的效率在习惯养成后远远大于桌面环境,awesome/i3-wm等都是代表者,而i3-wm更是简单高效。sudo pacman -S i3-wm i3lock i3status安装工具://TODOyaourt dmenu2 yaourt j4-dmenu-desktop-git配置文件创建i3的配置文件:mkdir -p ~/.config/i3 ~/.config/i3statusln ~/Tools/config-linux/config/i3/config ~/.config/i3/configln ~/Tools/config-linux/config/i3/i3status ~/.config/i3status/config背景pacman -S feh imagemagickfeh --bg-scale /path/to/image使用X安装配置完成就可以进入X了,通常进入i3:startx浏览器个人喜欢Chrome浏览器,在Arch下Pacman库中为开源的Chromium,不包含Flash组件,但现在国内的很多网站下缺少不了Flash,我选择同时安装,在移动状态下使用电池时选择Chromium。安装Chrome/Chromium:sudo pacman -S chromiumyaourt google-chrome-stable字体安装常用的英文字体和中文字体,个人很喜欢adebe的source系列开源字体,安装:sudo pacman -S ttf-dejavu wqy-microheisudo pacman -S adobe-source-code-pro-fonts adobe-source-sans-pro-fonts adobe-source-serif-pro-fonts adobe-source-han-sans-cn-fontsyaourt ttf-monaco//TODO 配置Terminal默认中文字体输入法个人喜欢使用fcitx框架,在此框架下提供的中文输入法比较好用,这里只选择安装sogou输入法:sudo pacman -S fcitx fcitx-im fcitx-qt5 fcitx-configtoolyaourt fcitx-sogoupinyin在X下使用fcitx-configtool添加Sogou Pinyin,重新加载fcitx后,使用shift键就可以切换中/英文了。Terminal以为之前使用KDE Plasma,很喜欢Konsole,但其实xfce4-terminal一样能完成Konsole的工作,而且更轻量。xfce4-terminal在xfce安装过程中已经安装过xfce4-terminal。添加配置文件:# 创建配置文件目录mkdir -p ~/.config/xfce4/terminal# 链接配置文件ln ~/Tools/config-linux/terminalrc ~/.config/xfce4/terminal/terminalrcKonsole安装Konsole,选择VLC为后端:# sudo pacman -S konsoleMediaMPlayerMPlayer是一个开源的播放器,快速好用,安装:sudo pacman -S mplayer# 自带解码包依赖TODO: 配置文件字幕文件管理器通常使用xfce4下的thunar,一般情况下也很少用到,安装xfce4已经包含thunar。Dropboxyaourt thunar-dropboxyaourt dropbox-experimental压缩安装常用的压缩/解压缩的工具:sudo pacman -S unzip p7zip lzop cpio unrar磁盘之前使用Windows,所以硬盘中包含NTFS分区和额外的ext4分区,首先安装必要的磁盘工具支持fat/ntfs/exfat/hfs等分区格式:sudo pacman -S parted exfat-utils ntfs-3g dosfstools hfsprogs hdparm 上述的配置文件里面有默认的fstab,把硬盘1中Windows使用的NTFS分区(Data)和Linux EXT4(Data)挂载到/mnt下相应设备名称的目录下:sudo mkdir /mnt/sda6 /mnt/sda8 /mnt/sda9 /mnt/tmpsudo chmod g+w *sudo ln ~/Tools/config-linux/config/fstab /etc/fstab# 危险,应该添加额外的配置sudo hdparm -I /dev/sdb | grep TRIMsystemctl enable fstrim.service fstrim.timersystemctl start fstrim.service fstrim.timerMarkdown有很多比较好的MD工具,像Atom、Remarkable等,但Remarkable预览总有问题,Atom用起来有略微卡顿,所以还是使用vim编辑,Chrome插件实时预览的方式。AtomAtom是Github官方的编辑器,原生支持Markdown,安装Atom:yaourt atom-editorAtom和其他出色的编辑工具一样,拥有众多插件,这里安装Markdown相关的MD转PDF和vim模式的插件:apm vim-mode ex-mode markdown-pdf# Atom的插件在Github上,可以使用proxychains协助安装Vim + Chrome插件在Chrome的WebStore中搜索Markdown Preview Plus并安装打开chrome://extensions/,在其设置页中勾选 “Allow access to file URLs”在Chrome中打开本地Markdown文件,http/https也是可以支持的,你会看到已经转换成html的内容在Chrome地址栏输入文件路径打开Markdown文件,用vim编辑Markdown,保存后页面就会自动刷新,实现预览。在vimrc中加入以下内容:autocmd BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} map <Leader>p :!start 'C:Program FilesGoogleChromeApplicationchrome.exe' '%:p'<CR>需要预览时输入p打开浏览器预览。Imageimagemagick下载wgetSSHyaourt openssh-hpn-gitWPSyaourt wps-office ttf-wps-fonts索引pacman -S mlocateupdatedbKVMpacman -S qemu libvirt pm-util virt-managerpacman -S ebtables dnsmasq bridge-utils openbsd-netcat修改配置文件:vim /etc/libvirt/libvirtd.conf# 解注释下面的配置unix_sock_group = 'libvirt'unix_sock_ro_perms = '0777' # set to 0770 to deny non-group libvirt usersunix_sock_rw_perms = '0770'auth_unix_ro = 'none'auth_unix_rw = 'none'systemctl enable libvirtd.service virtlogd.servicesystemctl start libvirtd.service virtlogd.serviceNFSpacman -S nfs-utils配置文件vim /etc/exports添加/srv/nfs4/ 192.168.1.0/24(rw,fsid=root,no_subtree_check)/srv/nfs4/music 192.168.1.0/24(rw,no_subtree_check,nohide) # note the nohide option which is applied to mounted directories on the file system.vim /etc/conf.d/nfs-server.conf添加NFSD_OPTS='-N 2 -N 3'启动服务systemctl enable nfs-serversystemctl start nfs-serverSambapacman -S sambacp /etc/samba/smb.conf.default /etc/samba/smb.confGeditVirtualBoxpacman -S virtualbox virtualbox-guest-iso qt4 net-toolsyaourt virtualbox-ext-oraclegpasswd -a leesheen vboxusersTemppacman -S hddtemp


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表