zoukankan      html  css  js  c++  java
  • Archlinux安装笔记

    身为一个小小弱菜,却有个不安分的心,不停的尝试发行版,Arch应该是在7月多去掉了AIF安装框架,安装过程相对就比较麻烦了,不过还好它wiki是相当的全面,网上还有很多资料可以参考
    下载镜像烧进U盘就不多说了,主菜单选择 "Boot Arch Linux" 并按回车,系统将加载并给出登录提示,自动以 'root' 登录。系统默认使用美式键盘映射。

    网络连接
    archlinux安装是特别依赖网络的,没有网络安装的话就X疼了。 安装程序会自动执行dhcpcd建立连接,可以试试ping一下百度什么的,不行的话用以下方法手动配置
    如果是有线连接:
    激活接口:

    # ip link set eth0 up

    添加ip地址:

    # ip addr add <ip 地址>/<子网掩码> dev <接口名>

    用类似下面的命令添加网关,ip 地址替换为实际的网关地址:

    # ip route add default via <ip 地址>

    编辑/etc/resolv.conf 如下, 替换你的DNS服务器IP地址和本地域名:

    # nano /etc/resolv.conf
     nameserver 61.23.173.5
     nameserver 61.95.849.8
     search example.com

    如果是无线网络:
    下面的示例中使用 wlan0 作为接口,linksys 作为 ESSID。请根据实际情况修改。
    确定网络接口:

    # lspci | grep -i net

    用 iwconfig 确定 udev 已经载入驱动,而且驱动程序创建了可用的无线内核接口:
    输出和下面不相似表示驱动没有载入,需要自己加入

    #iwconfig
    lo no wireless extensions.
    eth0 no wireless extensions.
    wlan0    unassociated  ESSID:""
             Mode:Managed  Channel=0  Access Point: Not-Associated
             Bit Rate:0 kb/s   Tx-Power=20 dBm   Sensitivity=8/0
             Retry limit:7   RTS thr:off   Fragment thr:off
             Power Management:off
             Link Quality:0  Signal level:0  Noise level:0
             Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
             Tx excessive retries:0  Invalid misc:0   Missed beacon:0

    wlan0 为可用接口。
    启用接口:

    # ip link set wlan0 up

    在安装 Archlinux 时,无线网络驱动和工具已经包含在 base 组中。请确保为无线网卡安装正确的驱动。通常在初始化的光盘系统和新装的系统中,Udev 会加载合适的驱动,并创建无线网络接口。如果在安装 Archlinux 系统的时候没有配置无线网卡,请确保下列所需的软件包已经通过 pacman 安装完毕(驱动,必须的固件, wireless_tools,iw,wpa_supplicant
    然后使用netcfg提供的 wifi-menu 连接到网络:

    # wifi-menu wlan0

    如果是需要拨号上网的 可选择pppoe

    分区
    现在的arch有三种分区工具,如果你是GPT分区表的话可以选择cgdisk,mbr选择cfdisk,gparted则是两者都支持。

    弱菜君用的mbr分区表

    # cfdisk /dev/sda

    然后根据需求分区
    分区之后,还需要用 mkfs 将分区格式化为选定的文件系统,我使用的是ext4文件系统

    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda2

    刷新一下分区表(如果变动比较大要在格式化之前刷新一下分区表)

    # partprobe /dev/sda

    挂载分区
    要检查当前磁盘的标识符和布局:

     # lsblk /dev/sda

    先挂载根分区到/mnt.

    # mount /dev/sda1 /mnt
    # ls /mnt

    格式化完应该就一个lost+found

    然后挂载/home分区和其余单独分区(/boot, /var 等)。
    然后在 /mnt 中创建 home 目录并挂载分区:

    # mkswap /dev/sdaX && swapon /dev/sdaX ##分区格式化为swap,并且创造swap分区
    # mount /dev/sdaX /mnt ##挂载/分区到/mnt上
    # mkdir /mnt/home && mount /dev/sdaY /mnt/home ##创建home文件,并且将Y分区挂载到上面

    编辑源列表
    把163的源放在最前面

    # nano /etc/pacman.d/mirrorlist
    Server = http://mirrors.163.com/archlinux/$repo/os/$arch

    然后升级文件列表

    pacman -Syy
    #nano /etc/pacman.conf

    [options]
    前面的选项改成这样

    RootDir = /mnt
    DBPath = /mnt/var/lib/pacman/
    CacheDir = /mnt/var/cache/pacman/pkg/
    LogFile = /mnt/var/log/pacman.log
    GPGDir = /mnt/etc/pacman.d/gnupg/
    SigLevel = Never

    后面
    core、extra、community
    的SigLevel = PackageRequired之前加#注释掉

    使用 pacstrap 脚本安装基本系统:

    # pacstrap /mnt base base-devel

    无线的同时安装以下软件包,否则chroot后上不了网

    #pacstrp /mnt wireless_tools wpa_supplicant wpa_actiond dialog

    生成fstab

    #genfstab -p /mnt >> /mnt/etc/fstab

    Chroot到新系统

    #arch-chroot /mnt

    配置系统

    #vi /etc/locale.gen

    选择你需要的本地化类型,移除前面的#即可

    en_US.UTF-8 UTF-8
    en_GB.UTF-8 UTF-8
    zh_CN.GB18030 GB18030
    zh_CN.GBK GBK
    zh_CN.UTF-8 UTF-8
    zh_CN GB2312

    然后运行

    # locale-gen

    locale.conf 文件默认不存在,一般设置LANG就行了,它是其它设置的默认值。

    LANG=zh_CN.UTF-8
    LC_TIME=en_GB.UTF-8

    时区
    编辑文件 /etc/timezone
    Asia/Shanghai
    同时,将/etc/localtime 软链接到 /usr/share/zoneinfo/Zone/SubZone.其中 Zone 和 Subzone 替换为所在时区

    # ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    硬件时间
    在 /etc/adjtime 中设置,默认、推荐的设置为UTC
    可用以下命令自动生成
    # hwclock --systohc --localtime
    NTPd是使用网络时间协议将 GNU/Linux 系统的软件时钟与 Internet 时间服务器同步的最常见的方法
    安装ntp

    pacman -S ntp

    想要仅仅同步时钟一次,不想启动守护进程的话,运行:

    # ntpd -qg
    # hwclock -s

    内核模块
    一般情况下 udev 会自动加载需要的模块,大部分用户都不需要手动修改。这里只需要加入真正需要的模块。
    /etc/modules-load.d/中保存内核启动时加入模块的配置文件。每个配置文件已/etc/modules-load.d/.conf的格式命名。配置文件中包含需要装入的内核列表,每个一行。空行和以 # 或 ; 开头的行直接被忽略。比如

    /etc/modules-load.d/virtio-net.conf
    # Load virtio-net.ko at boot
    virtio-net

    注意:新版本arch使用systemd系统和服务管理器。systemd 是 Linux 下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。systemd的特性有:支持并行化任务;同时采用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点;各服务间基于依赖关系进行精密控制。systemd 完全可以替代 Arch 默认的 sysvinit 启动系统。

    系统默认安装systemd。建议所有系统都使用 systemd 的配置文件。
    启用 net-auto-wireless 服务

    # systemctl enable net-auto-wireless.service

    Make sure that the correct wireless interface (usually wlan0) is set in /etc/conf.d/netcfg:

    # nano /etc/conf.d/netcfg
    WIRELESS_INTERFACE="wlan0"

    设置主机名

    /etc/hostname
    myhostname

    设置 Root 密码并创建一般用户

    # passwd
    # useradd -m -g users -s /bin/bash archie
    # passwd archie

    安装配置启动加载器
    BIOS 系统由三个供选择 - Syslinux, GRUB, 和 LILO. 按个人喜好选择一个引导
    syslinux

    # pacman -S syslinux
    # syslinux-install_update -iam

    编辑 /boot/syslinux/syslinux.cfg,将 / 指向正确的根分区,这是必须的,否则 Arch 启动不起来。将"sda3"修改为实际的根分区。同样,修改LABEL archfallback.

    # nano /boot/syslinux/syslinux.cfg
    ...
    LABEL arch
     ...
     APPEND root=/dev/sda3 ro
    如果你有windows系统,将 windows启动项目前的#删除。

    grub 我是用的grub
    安装到 BIOS 主板系统:

    # pacman -S grub-bios
    # grub-install --target=i386-pc --recheck /dev/sda
    # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

    虽然手动配置grub.cfg完全可以工作,建议自动生成这个文件。
    要搜索硬盘上安装的其它操作系统,请先用 # pacman -S os-prober 安装 os-prober。

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

    安装桌面
    pacman -S lxde或者pacman -S gnome-core
    这个自己选择,kde、gnome、lxde或者可以选用openbox、awesome等WM

    安装完成后, 复制/etc/xdg/openbox里的3个文件到 ~/.config/openbox :
    menu.xml rc.xml autostart
    也可以运行以下命令

    mkdir -p ~/.config/openbox
    cp /etc/xdg/openbox/menu.xml /etc/xdg/openbox/rc.xml /etc/xdg/openbox/autostart ~/.config/openbox
    

    设置开机自动启动的程序
    用你喜欢的编辑器打开/etc/xdg/lxsession/LXDE/autostart,然后在其中添加你要开机自动启动的程序,就像这样:

    @xscreensaver -no-splash
    @lxpanel --profile LXDE
    @pcmanfm -d
    @fcitx
    @xcompmgr -Ss -n -Cc -fF -I-10 -O-10 -D1 -t-3 -l-4 -r4 &

    启动桌面环境

    使用登录管理器
    通过启动登录管理器(或称显示管理器),即可进行图形界面登录。目前,Arch 提供了 GDM、KDM、SLiM、XDM 和 LXDM 的 systemd 服务文件。以 KDM 为例,配置开机启动:

    # systemctl enable lxdm.service

    执行上述命令后,登录管理器应当能正常工作了。

    启动速度优化
    systemd 自己实现了一个 readahead,可以用来提高开机效率。不过,效果会因内核版本和硬件情况而不同(极端的还会变慢)。开启 readahead:

    # systemctl enable systemd-readahead-collect.service systemd-readahead-replay.service

    要知道,readahead 的超级牛力只有在重启几次后才会显现。

    安装显卡驱动
    如果是nvidia的显卡,首先安装yaourt

    最简单安装Yaourt的方式是添加Yaourt源至 /etc/pacman.conf:

    [archlinuxfr]
    Server = http://repo.archlinux.fr/$arch
    或者
     [archlinuxfr]
     Server = http://repo-fr.archlinuxcn.org/$arch
    同步并安装:
    # pacman -Syu yaourt

    安装nvidia-all脚本

    yaourt -S nvidia-all

    假如使用的是最新的显卡,也许需要使用AUR上的驱动nvidia-beta和nvidia-utils-beta,因为稳定版的驱动不支持一些新引入的特性。
    安装的时候,如果 pacman 询问您移除 libgl 并且因为依赖无法移除,可以使用 # pacman -Rdd libgl 移除 libgl.
    自动配置nvidia,创建一个基本的配置文件/etc/X11/xorg.conf

    #nvidia-xconfig

    编辑/etc/X11/xorg.conf :
    关闭启动时的Logo
    添加"NoLogo"选项到Device节里:

    Option "NoLogo" "1"

    启用硬件加速
    注意: 从97.46.xx版本开始RenderAccel就已经被默认启用。
    添加"RenderAccel"选项在Device节下面:

    Option "RenderAccel" "1"

    32位应用程序无法启动

    在64位系统下,安装lib32-nvidia-utils对应相同版本的64位驱动可以修复这个问题。

    笔记本触摸板驱动

    笔记本(或触摸屏)用户需要 synaptics 软件包以支持触摸板/触摸屏:
    # pacman -S xf86-input-synaptics

    中文化与安装字体
    除了设置好locale,还需要安装中文字体。
    常用的免费(GPL或兼容版权)中文字体有:

    wqy-bitmapfont
    wqy-zenhei
    ttf-arphic-ukai
    ttf-arphic-uming
    ttf-fireflysung
    wqy-microhei(AUR中)
    wqy-microhei-lite(AUR中)

    系统字体将默认安装到/usr/share/fonts。
    也可以手动安装字体,将字体复制到 /usr/share/fonts,进入/usr/share/fonts,执行 fc-cache -fv

    更新系统
    更新前,请阅读 新闻 (或者 通告邮件列表)。开发者通常会针对已知问题提供需要配置和修改的重要信息。在升级前访问这些页面是个好习惯。
    同步、刷新、升级整个系统:

    # pacman -Syu

    卸载分区并重启系统
    如果还在 chroot 环境,先用 exit 命令退出系统:

    # exit

    卸载/mnt中挂载的系统:

    # umount /mnt/{boot,home,}

    重启:

    # reboot

    硬盘里有ntfs分区的需要挂载,编辑/etc/fstab

    首先在/mnt创建挂载到的文件夹

    $sudo mkdir /mnt/winc /mnt/wind /mnt/wine

    安装ntfs-3g

    $sudo pacman -S ntfs-3g

    编辑 fstab

    $sudo leafpad /etc/fstab

    添加如下类似文件,自己修改

    /dev/sda1 /media/winc ntfs defaults,iocharset=utf8 0 0
    /dev/sda5 /media/wind ntfs defaults,iocharset=utf8 0 0
    /dev/sda6 /media/wine ntfs defaults,iocharset=utf8 0 0

    下面是lxde的简易配置
    没有快捷键真不爽,所以首先设置它
    网上都是说rc.xml用于设置快捷键,但是很奇怪,我发现登录后,快捷键没生效,不过如果运行了fusion-icon,点击一下reload window manager,快捷键就能生效
    继续研究发现,~/.config/openbox下还有一个lxde-rc.xml文件,这里也可以设置快捷键,和上面相反,这里的设置在登录后直接就能用,但reload wm后就不能用了。
    所以办法是,对两个文件都设置,格式如下:

    1.  <keybind key="F9">
    2.       <action name="Execute">
    3.         <execute>gnome-terminal -x mocp</execute>
    4.       </action>
    5.     </keybind>

    其中第一行是要设置的快捷键,第三行是相应的命令,把它放在 和之间。
    LXDE下我找不到调节音量的东东,所以把音量调节绑定到快捷键了:

    1. <!-- 音量調節 -->
    2. <keybind key="C-KP_3">
    3. <action name="Execute">
    4. <command>amixer -q set Master 3%-</command>
    5. </action>
    6. </keybind>
    7. <keybind key="C-KP_9">
    8. <action name="Execute">
    9. <command>amixer -q set Master unmute 3%+</command>
    10. </action>
    11. </keybind>

    接下来设置一下字体DPI,默认的太小了,改为96:

    $ echo Xft.dpi:96 >> ~/.Xresources

    如果使用startx启动Openbox的话,要在.xinitrc的开始处添加一行:

    xrdb -merge ~/.Xresources

    其它设置可以用obconf,LXDE会继承gnome的一些东西,比如登录时自动运行的程序,在/.config/autostart目录下。
    主题之类的可以在“程序菜单-首选项-外观”那里设置

    #编辑~/.xprofile,使fcitx自启动

    #!/bin/sh
    LANG=zh_CN.UTF-8
    export XMODIFIERS="@im=fcitx"
    fcitx &

    接下来就是使用sudo,自动挂载U盘,配置vim zsh 看个人需要了。
    到这里弱菜君的安装笔记就算是结束了,Arch采用systemed,表示很不习惯,也不是很经常用,也没有用过逆天的aur,现在不怎么进Arch了,主要用Debian,寒假准备最后换成Gentoo后稳定下来。

  • 相关阅读:
    WSAAsyncSelect模型的小i例子
    网络编程之Winsock2
    网络编程系列之Winsock
    网络编程系列之前言
    winpcap 编程及环境配置
    inno setup 一款强大的安装包制作工具
    创建windows服务程序
    python模块之logging
    ABOUT ME
    [省选联考 2020 A 卷] 树
  • 原文地址:https://www.cnblogs.com/timeship/p/2937635.html
Copyright © 2011-2022 走看看