本文檔是有關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。