Arch Linux 安裝總結


這篇隨筆的目的:

  這篇是我今天重新安裝后,覺得每次都看別人的來復制,太麻煩了,每次自己解決的一些問題,又不能及時記錄下來,導致每次都又需要一通亂找,肯定比第一次開始搜索的要快,但是還是浪費時間,所以我決定寫隨筆,把我自己的解決過的問題記錄下來。文章里面,很多都是借鑒別人的,然后解決了我自己的問題。我每次安裝Arch Linux,不同的電腦,同一部電腦,都會遇到不同的問題,即使是同樣的電腦。這有些是配置文件引起,有些是另外一些因素引起。記錄下我自己的解決方法,我的初衷還是為了我自己快速解決已經解決過的問題。所以,如果你在帖子里面看到有哪個問題和你的情況比較相似,請郵箱聯系我。我們共同探討。hwy89289709@gmail.com。

  在操作parted的時候,對於有重要數據的磁盤,一定要小心阿,我就是太不小心了,導致重要的數據丟失阿。欲哭無淚。我心都不只塞,涼了大半截。要吸取教訓阿。

  至於我誤刪的原因:是在操作一個硬盤的時候,不小心把上面的分區表,10M左右大小的一個不是我自己分出來的區給刪掉了(准確的說,我不知道那是不是分區表,我只是刪了那個區之后,我后面的數據,立刻在parted,fdisk上面都顯示不出了)。花了一個通宵,依然沒有找回來。算吧,生活還得繼續。我是不知道准確原因的,如果知道原因,請在流言下面告訴我

 

  我盡量配上原文,但是之間有很多,我那時沒有記錄下來。如果以后遇到,我會補充上去。我也盡量補充上我遇到的問題沒有解決的。


更新記錄:

  2019-11-10: 自從上次安裝好后, 一直用到現在都沒壞過。 但是換了個1TSSD, 所以重裝。解決了一個問題, 就是我之前一直是用BIOS啟動,而不是用EFI,這次竟然成功了。

  2017-04-16:第一天更新,寫下了安裝過程要的命令,從上到下的過程,就是安裝時候的大概順序,是幾乎沒有解釋的,很好的解析,需要到wiki上看。或者多人感興趣的,我再發過一個安裝教程吧。這個不算是教程。第二個部分是我今天安裝的時候,總在想那個解決我問題的軟件叫什么,所以我把我常用的軟件都記了下來。

 


 

當前目錄:

  隨筆的目的:描寫我當時為什么寫這東西。

  更新的記錄:描寫我在當天都加了什么。

  安裝過程:記錄安裝過程的大概命令

  常用軟件:記錄解決我問題的一些軟件

   使用期間的問題:安裝好后遇到的各種問題,以及我解決的方法。配上參考網頁

 


 

 安裝過程:

  參考網頁:

  https://bbs.archlinuxcn.org/viewtopic.php?id=1037

  我記錄下我自己一般會使用的命令:從各路網頁中參考過來

  同步時間: 

# timedatectl set-ntp true

 

  選擇中國的源,然后再更新會快很多:

# sed -i '/China/!{n;/Server/s/^/#/};t;n' /etc/pacman.d/mirrorlist
# pacman -Syy

  分區命令:

我分成EFI,/和/home,/要分大一點,因為我自己要使用來看代碼,LXR的索引會很大,會超過50G

# parted /dev/sdx (parted) mklebel gpt mkpart primary start end mkfs.vfat -F32 /dev/sdx mkfs.ext4 /dev/sdx mkswap /dev/sdx swapon /dev/sdx mount /dev/sdx <mount_point>

  我的實例是這樣的。假設我的盤是/dev/sda

#parted /dev/sda
(parted) mklebel gpt  
(parted) mkpart primary 1M 260M      # esp
(parted) mkpart primary 260M 16G    # swap
(parted) mkpart primary 16G 216G    #  / (parted) mkpart primary 216G 100% # /home set 1 boot on # 這個一定要,否則efi裝了會啟動不了

 

  原版會比較詳盡解說:

  一個掛在的例子,我經常會弄混EFI掛在的位置:  

# mount /dev/sda2 /mnt    # 掛載根目錄
# mkdir /mnt/home    # 創建 /home 掛載點 # mount /dev/sda3 /mnt/home # 掛載 /home # mkdir -p /mnt/boot/EFI # 創建 UEFI 掛載點 # mount /dev/sda1 /mnt/boot/EFI # 掛載 UEFI 分區

  安裝基礎系統:

# pacstrap -i /mnt base base-devel linux linux-firmware

  生成fstab:

# genfstab -U <根目錄掛載點> >> <根目錄掛載點>/etc/fstab

一定要記得檢查
# cat <根目錄掛載點>/etc/fstab

  配置基本系統:

# arch-chroot <根目錄掛載點> /bin/bash

  配置local:

# nano /etc/locale.gen    # 反注釋需要的 locale
# locale-gen # 生成 locale # echo LANG=<locale> > /etc/locale.conf # 設置默認 locale

 /etc/locale.gen:

en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312
zh_HK.UTF-8 UTF-8
zh_SG.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

 

cat /etc/locale.conf

LANG=en_US.UTF-8

 

  配置時區:

這句話是配置中國區的
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  硬件時間配置:

(推薦)UTC 時間(只是別人推薦,我還沒懂這個時間作什么的):
# hwclock --systohc --utc

  配置主機名:

# echo <主機名> > /etc/hostname
# nano /etc/hosts    # 將主機名填入

  配置完成后的樣子:

# cat /etc/hostname
<主機名>
# cat /etc/hosts #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost <主機名> ::1 localhost.localdomain localhost <主機名>

  以前網絡都是自己就好了,但是這次重裝, 發現不行,開啟了這個才行

# systemctl start dhcpcd    # 連接
# # systemctl enable dhcpcd 以自動連接

  設置root密碼:

# passwd

  安裝引導器:

# 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

  退出重啟:

# exit    # 退回安裝環境
# umount -R < / 掛載點> # 卸載新分區 # reboot # 重啟 # # 記得移除安裝介質

  新建自己的用戶:

# useradd -m -g users -s /bin/bash <用戶名>
# # 該命令創建一個名為 <用戶名> 的用戶,指定登陸 shell 為 bash,所屬主用戶組 users,用戶文件夾位於 /home/<用戶名>。 # passwd <用戶名> # 設置密碼

  安裝顯卡驅動:需要更多信息的,是需要瀏覽WIKI,或者我引用的網址

pacman -S xf86-video-intel 
pacman -S nvidia

  聲卡驅動一般是有的,但是我的台式機就沒有所以也需要安裝

pacman -S alsa-utils

  安裝Xorg(至於xorg是什么,需要自己了解下,其實我也不太懂)只知道,xfce4這些桌面,是需要依賴這個,它是利用顯卡驅動來顯示

# pacman -S xorg-server xorg-server-utils    # 安裝 Xorg Server
# pacman -S xf86-input-synaptics    # 可選,觸摸板支持

  安裝中文字體(后面有補充更多的具體):

# pacman -S ttf-dejavu wqy-microhei

  安裝窗口系統:首推xfce4,我個人喜歡的原因,不花哨,夠快。多窗口,多開不卡 

pacman -S xfce4 xfce4-goodies

  安裝中文輸入等應用軟件,就根據后面的情況,自己使用pacman來進行安裝了

 


 

安裝后的各種問題:

常用軟件:

  參考網頁:http://blog.chinaunix.net/uid-26495963-id-3309581.html

        http://blog.sina.com.cn/s/blog_b3ef80f90101f5gz.html

  解壓縮:unzip, unrar, file-roller, p7zip, unace, lrzip, 

  輸入法:fcitx-im, fcitx-configtool, fcitx-libpinyin

  字體:wqy-microhei、ttf-arphic-ukai、ttf-arphic-uming

  桌面環境:xfce4 xfce4-goodies

  代碼管理:git

  瀏覽器: chromium  pepper-flash

  PDF瀏覽器:okular

  多媒體: mplayer


 

使用期間的問題:

沒有聲音:

  添加組:usermod -aG audio <user>

  主要是默認的聲卡配置部隊,需要把下面配置加上:

  把下列配置添加到系統級別的 /etc/asound.conf 或用戶級別的 ~/.asoundrc 文件。如果文件不存在,可以手動創建。其中的各個ID,請根據實際情況調整:

defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1

  參考網頁:https://segmentfault.com/a/1190000002918394

 

為什么xfce4下面不能夠使用關機和重啟?

  是因為沒有root權限, 需要在sudoers下面增加以下:

  username localhost = NOPASSWD: /usr/lib/xfsm-shutdown-helper

  username localhost = NOPASSWD: /usr/bash

  將這些命令的權限給到

 

lxdm為什么不能夠啟動xfce4:

  需要在自己的用戶文件夾下面增加.xprofil,在文件里面增加exec startxfce4

 

使用ssh:

  pacman -S openssh

  systemctl start sshd

 

如何做到自動掛在mtp設備?

  pacman -S gvfs-mtp

 

能自動掛在了,但是不能夠在vfat格式上做修改文件:

  參考網頁:https://bbs.archlinux.org/viewtopic.php?id=180713

  pacman -S  ntfs-3g 

 

兩個顯卡,兩個顯示器,如何進行雙屏顯示?

  參考網頁:https://www.reddit.com/r/archlinux/comments/2kkrsr/dual_monitor_intelnvidia/

  xrandr --setprovideroutputsource 1 0

  xrandr --auto

  xrandr --output --left-of VGA-0 VGA-1-1 

  仍然存在的問題:打字阿,候選字只會在一個屏幕中出現,我使用的是xfce4,不知道其它桌面環境是不是這樣。

 

使用pacman -Syu 的時候, 出現  error: GPGME error: No data 這樣的錯誤提示, 相關的網頁上找了以下,

 有兩個參考網址: 網址1 網址2

別人說在pacman.conf中添加

SigLevel = Optional TrustAll

但是我查看了我自己的文件,已經有了, 看到那行下面有注釋說了下兩面兩個命令,

pacman-key --init
pacman-key --populate archlinux

使用了之后, 就能夠繼續更新了.

 

如何關閉觸摸版: 

首先安裝必要的包: 

sudo pacman -S xf86-input-synaptics

使用以下兩條命令來進行開關

sudo synclient touchpadoff=1 #關閉觸摸板
sudo synclient touchpadoff=0 #開啟觸摸板

 

想在桌面上加個notes的應用:

於是找到了這個網頁, http://goodies.xfce.org/projects/panel-plugins/xfce4-notes-plugin

安裝下面的軟件, 或者是直接安裝xfce4-goodies會包含在里面

$ sudo pacman -S xfce4-notes-plugin

 

2017-05-02: 遇到PCI bus error on startup while booting into login screen

參考的網頁有: 

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1588428

https://askubuntu.com/questions/748078/nvidia-geforce-930m-driver-and-pci-bus-error

https://wiki.archlinux.org/index.php/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

解決這種錯誤的辦法, 就是按下面的教程

sudo cp /etc/default/grub /etc/default/grub.bak
sudo emacs /etc/default/grub
# 將這一個參數: GRUB_CMDLINE_LINUX_DEFAULT="quiet" 改變成下面的樣子
GRUB_CMDLINE_LINUX_DEFAULT="quiet pci=nomsi"
# 非EFI
grub-mkconfig -o /boot/grub/grub.cfg
# EFI使用
grub-mkconfig -o /boot/efi/EFI/GRUB/grub.cfg

sudo reboot

 

在xfce4下面忽然fcitx不能夠使用了:

我使用的登錄管理器是:lxdm,需要在~/.xprofile中使用

exec startxfce4

來進行啟動,同樣fcitx也需要在~/.xprofile中使用export來進行輸出變量

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

這樣的話,必須要確保輸出變量要在啟動桌面后面,這樣才能夠使用。

 

安裝python-matplotlib的時候,發生了errors occurred no packages were upgraded:

錯誤的提示是類似這樣:

error: could not prepare transaction
error: failed to commit transaction (conflicting files)
libname: /insert/file/name/here exists in filesystem
Errors occurred, no packages were upgraded.

根據pacman的wiki:https://wiki.archlinux.org/index.php/pacman

我直接使用 pacman 的 --force 的選項來直接復蓋掉所有沖突的文件。

 

arch linu ssh的配置:配置文件是在/etc/ssh/sshd_config

我自己電腦上的一個問題就是,沒有辦法在多個ssh -X mininet@IP地址的窗口內運行多個xterm,一運行就會出錯

xterm: Xt error: Can't open display: localhost:13.0

於是我在sshd_config文件里面,將

X11Forwarding no
改成
X11Forwarding yes

 


 

LXR的錯誤:

錯誤:

mysql.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)

我的解決辦法:

sudo mv /usr/lib64/perl5/site_perl/auto/DBI/DBI.so /usr/lib64/perl5/site_perl/auto/DBI/DBI.so.bak

然后再進入cpan

force install DBI

 

然后還出現了

mysql.c: loadable library and perl binaries are mismatched (got handshake key 0xdb80080, needed 0xde00080)

類似上面的解決辦法:

force install DBD::mysql

然后可以使用了

 

有時候更新會出現:Pacman refuses to upgrade due to missing key

https://bbs.archlinux.org/viewtopic.php?id=191279

# rm -R /etc/pacman.d/gnupg/
# rm -R /root/.gnupg/  # only if the directory exists
# gpg --refresh-keys
# pacman-key --init && pacman-key --populate
# pacman-key --refresh-keys

  

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM