zoukankan      html  css  js  c++  java
  • 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
    

      


  • 相关阅读:
    java陷阱一箩筐面试
    应用MVC设计模式解决J2ME应用程序导航问题 mingjava
    我怎么了
    运营商掘宝手机游戏 无限“钱途”引人竞折腰
    网络工程师考试大纲
    java 正则
    java集合使用——LinkedList
    java集合使用——HashMap
    java集合使用——HashSet
    JAVA集合使用——基本概念
  • 原文地址:https://www.cnblogs.com/hwy89289709/p/6723737.html
Copyright © 2011-2022 走看看