• ArchLinux新版本(pacstrap安装)及国内较优源推荐


    下载安装镜像和配置虚拟机都略过。
    进入安装模式以后第一件事是要进行分区,分区很重要,怎么分区是由后面的grub的模式来决定的。grub有3种模式,分别对应grub-bios-gpt,grub-bios-mbr,grub-uefi。当时我因为一时糊涂,结果选择了grub-uefi这个分支世界线,结果就bad end了一天啊。所以建议走grub-bios-gpt和grub-bios-mbr这两条线,最后我选择了grub-biso-gpt这条世界线,终于一次good end了。
     
    选择grub-bios-gpt的话,就需要用gdisk或者cgdisk来分区,千万不要用fdisk,会挂的。gdisk是直接命令行界面,cgdisk有写图形界面的样子。这次我选择了gdisk,使用 命令 gdisk /dev/sda。
    根据界面提示分区如下。
    大小          编码     文件系统           挂载
    2M            ef02     无文件系统
    512M          8300     linux filesystem   /boot
    61.5G         8300     linux filesystem   /
    2G            8200     linux swap         swap
     
    2M的这个区是一定需要的因为grub-bios-gpt指明需要这个区,并且这个区推荐在最前,比/boot还要靠前,他的编码是ef02,这个一定要选对,文件系统为无。
    512M 这个区其实不一定要这么大,不过我是为了以后如果可以更换为grub-uefi而预留的,刚好也可以作为一个/boot区域。
    61.5G,我是直接作为一个主目录
    2G,我是作为交换区域来用的。
     
    下面是格式化
    mkfs.ext4 /dev/sda2
    mkfs.ext4 /dev/sda3
    mkswap /dev/sda4 && swapon /dev/sda4  这个交换区
    mount /dev/sda3 /mnt  先挂载根分区到/mnt 然后挂载/home分区和其余单独分区(/boot, /var 等)
    mkdir /mnt/boot/ 
    mount /dev/sda2 /mnt/boot
    要检查当前磁盘的标识符和布局:
    # lsblk /dev/sda  非常好用!
     
    然后就是根据实际情况配置网络
     nano /etc/pacman.d/mirrorlist
    以下是几个好用的国内archlinux源
    Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
    Server = http://mirrors.163.com/archlinux/$repo/os/$arch
    Server = http://mirrors.sohu.com/archlinux/$repo/os/$arch
    配置好网络然后就可以安装了
    pacstrap /mnt base base-devel  arch linux 基础包

    pacstrap /mnt grub-bios  grub-bios 和syslinux只需要一个
     
    genfstab -p /mnt >> /mnt/etc/fstab  生成分区表

    arch-chroot /mnt   切换根目录
     
    vi /etc/hostname  设置主机名
    xyz     
     
    vi /etc/hosts    设置host
    127.0.0.1   localhost.localdomain   localhost xyz
    ::1         localhost.localdomain   localhost xyz
    search  xyz
     

    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  设置地区
     
    vi /etc/locale.gen
    找到开头为en_US和zh的行,把前面的注释符去掉

    vi /etc/locale.conf  
    LC_COLLATE="C" 
     
     
    vi /usr/share/i18n/locale/zh_CN 
    找到LC_TIME段落,并添加
    week   7;19971130;5 
    first_weekday 2
    first_workday 2
     
     
    locale-gen  生成地区信息
     
     
    mkinitcpio -p linux
     
    pacman -S grub-bios

    modprobe dm-mod

    grub-install --target=i386-pc --recheck --debug /dev/sda
    mkdir -p /boot/grub/locale

    cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
     
    grub-mkconfig -o /boot/grub/grub.cfg  生成grub配置信息
     
    passwd root  生成root密码
     
    exit

    umount /mnt/boot

    umount /mnt
     
    reboot
     
    OK这样就安装好了,可以进入archlinux了,当然后面还有很多需要自己配置的东西
    ArchLinux的包管理系统: pacman 记得打开网络哦

     dhcpcd

    想让它启动时自动打开网络:

    systemctl enable dhcpcd@eth0.service

    常用命令有:
    pacman -Rsncd abc              删包和对应的依赖包,而且软件名称可以只输入主名称
    pacman -Sy abc                    和源同步后安装名为abc的包
    pacman -S abc                     从本地数据库中得到abc的信息,下载安装abc包
    pacman -Sf abc                    强制安装包abc
    pacman -Ss abc                   搜索有关abc信息的包
    pacman -Si abc                    从数据库中搜索包abc的信息
    pacman -Syu                        同步源,并更新系统
    pacman -Sy                          仅同步源
    pacman -R abc                     删除abc包
    pacman -Rc abc                   删除abc包和依赖abc的包
    pacman -Rsn abc                 移除包所有不需要的依赖包并删除其配置文件
    pacman -Sc                          清理/var/cache/pacman/pkg目录下的旧包
    pacman -Scc                        清除所有下载的包和数据库
    pacman -Sd abc                   忽略依赖性问题,安装包abc
    pacman -Su --ignore foo       升级时不升级包foo
    pacman -Sg abc                   查询abc这个包组包含的软件包
    pacman -Q                           列出系统中所有的包
    pacman -Q package             在本地包数据库搜索(查询)指定软件包
    pacman -Qi package            在本地包数据库搜索(查询)指定软件包并列出相关信息
    pacman -Q | wc -l                  统计当前系统中的包数量
    pacman -Qdt                         找出孤立包
    pacman -Rs $(pacman -Qtdq) 删除孤立软件包(递归的,小心用)
    pacman -U   abc.pkg.tar.gz      安装下载的abs包,或新编译的本地abc包
    pacman-optimize && sync        提高数据库访问速度
  • 相关阅读:
    宏__cplusplus
    linux C 可变参数类型va_list
    muduo笔记 网络库(六)Socket类及SocketsOps库函数封装
    LeetCode74 搜索二维矩阵
    babelpolyfill
    babel预设和插件
    wordwrap和wordbreak的区别
    react高级知识
    使用schematics简化脚手架开发
    js循环删除数组元素的方法
  • 原文地址:https://www.cnblogs.com/huapox/p/3509638.html
Copyright © 2020-2023  润新知