本文档是有关Archlinux系统配置的学习笔记,参考和学习的是Archlinux官方网站上的相应文档:General Recommendations。php
这里的配置主要是针对按照官方网站上的文档刚刚完成安装的基本的Arch Linux系统,其中首要的两个环节就是系统管理(System Administration)和软件包管理(Package Management)。
linux
系统管理(System Administration):安全
这里主要是对系统管理有一个简单的介绍。学习
用户和组(Users and Groups):网站
在刚刚安装完Archlinux的基本系统以后,咱们所能使用的用户只有一个超级用户:root,可是长时间地使用root帐户或者是在经过SSH访问的时候将root用户暴露出去都是很是不安全的。这样一来,咱们就须要为本身创建一个没有那么多特权的、用于管理平常大多数事物的通常的用户,root用户则仅仅留做系统管理之用。固然,用户和组(Users and Groups)也是一个单独的须要讨论的章节,这个留做以后研究。ui
批注:在UNIX/Linux类操做系统中,有着一切皆文件(Everything is a file)的概念。每个文件都从属于某个用户和某个组,且存在着三种控制权限:读(read)、写(write)和执行(execute)。通常可使用ls或是stat来查看文件的访问权限和从属关系等信息。示例以下:spa
其中访问权限被分为三组,分别表示所属用户的访问权限、所属组的访问权限和其余人的访问权限,第一个字节则指代的是文件的类型。咱们能够在使用find时添加限定的用户或是组,以下:操作系统
1 find / -group [group] 2 find / -user [user]
咱们也可以经过chown(change owner)来改变文件所从属的用户和组,能经过chmod(change mode)来改变文件的访问权限,更为详细的使用方法能够参考手册。scala
File list:code
File | Purpose |
/etc/shadow | Secure user account information |
/etc/passwd | User account information |
/etc/gshadow | Contains the shadowed information for group accounts |
/etc/group | Defines the groups to which users belong |
/etc/sudoers | List of who can run what by sudo |
/home/* | Home directories |
总的来讲,用户和组(Users and Groups)是一种适用于访问控制的机制,管理员可以经过调整组的成员关系以及全部权来容许或是拒绝用户和服务(Services)访问相应的系统资源。
权限升级(Privilege Escalation):
su(substitute user)指令可以在不一样的用户之间进行切换(通常是为了切换到root用户),而sudo则是可以针对特定的命令,对当前的用户进行暂时的权限升级。
服务管理(Service Management):
Arch Linux使用systemd做为初始化进程,而systemd是Linux的系统和服务管理员,为了可以维护咱们的Arch Linux系统,了解一些systemd的基础知识是颇有必要的。用户能够经过systemctl命令来和systemd进行交互,更为详细的内容留做之后研究,连接为:systemd。
系统维护(System Maintenance):
Arch Linux是一种滚动更新的操做系统,软件包的周转也是十分得迅速,因此用户必须花费一些时间来进行系统的维护,为了可以使Arch Linux系统尽量的稳定,这里有一份文档留做之后研究:Enhance system stability。
软件包管理(Package Management):
这部分主要介绍的是软件包管理的基本内容,更多的信息也能够参考FAQ和Category。
Pacman:
Pacman是Arch Linux的软件包管理者,每个Arch Linux的用户都必需要很是熟悉这一软件。它也是能够单独分出一个章节:pacman,另有一些tips能够用于提高咱们和pacman以及软件包管理方面的交互。
资源库(Repositories):
Official Repositories详细阐述了每一个官方维护的资源库(Repository)的做用。对于安装了64位操做系统的用户,可能有的时候须要用到32位的应用程序,这个时候就须要激活multilib资源库。固然,也有一些非官方支持的用户本身编写的一些资源库:Unofficial user repositories。
Arch Build System(ABS):
Ports是最初被BSD发行版使用的系统,它是本地系统中包含不少编译脚本的目录树。简单地说,每个port内包含了以第三方应用程序命名的文件内的编译脚本。
ABS树提供给Arch Linux的就是相似的功能,而在Arch Linux内,编译脚本被称做PKGBUILD,PKGBUILD中包含有哈希验证、软件主页、版本号、协议和编译步骤等信息。随后,咱们能够经过makepkg来处理这些编译脚本,并将生成的洁净的软件包用pacman来安装。
事实上,每个软件包,包括在AUR中的软件包都是由makepkg编译而成的。
Arch User Repository(AUR):
既然ABS提供了编译官方资源库中软件包的能力,那么对应的,AUR提供的是编译用户自定义软件包的能力。咱们能够在这个网址找到全部AUR内的软件包,AUR Helper也能帮助咱们更好地管理AUR中的软件包。
Mirrors:
这部分主要是介绍一些有关镜像管理的内容,这里只是附上一些连接,留做之后研究:Mirrors,Mirror status。