分享到plurk 分享到twitter 分享到facebook

版本 a9975121c9de8567cab57cb8ce51029f31770ec1

archlinux

Changes from a9975121c9de8567cab57cb8ce51029f31770ec1 to d2246870cb171dd0c6726753968ef131b2ac8bdc

---
title: Arch Linux 介紹 與 安裝
...

介紹
=============
Arch Linux是一個open source的作業系統


以下待補

安裝
==

準備硬碟
-------
搜尋硬碟
~~~~~~~~~~
::

    lsblk
sda,sdb,……是硬碟

sda1,sda2,……是分割區

硬碟分割
~~~~~~~~~~
cfdisk (圖形化介面)

::

    cfdisk /dev/硬碟名稱

-  GPT分割表要用cgdisk

格式化分割區
~~~~~~~~~~

::

    mkfs.ext4 /dev/分割區

掛載硬碟
~~~~~~~~~~

::

    mount /dev/分割區 /mnt


補充說明
~~~~~~~~~~
http://wiki.csie.ncku.edu.tw/archlinux/disk

連上網路
---------------------
有線網路
~~~~~~~~~~~~~~~~~~~~~~
::

    dhcpcd

撥接網路
~~~~~~~~~~~~~~~~~~~~~~
::

    pppoe-setup
無線網路
~~~~~~~~~~~~~~~~~~~~~~~
比有線網路繁瑣

尋找界面和網路
***********************
1. 先找網路卡
   ::

       iw dev
   Interface 後面的名字就是

2. 啟用介面
   ::

       ip link set dev dev_name up
 
3. 找網路
   ::

       iw dev dev_name scan | less
   找SSID欄位


連線
***********************
隨加密機制不同有不同的連線方式

- 沒有密碼或是用WEP
  ::

    iw dev dev_name connect your_ssid [key 0:your_key]

- WPA, WPA2

  1. 設定``/etc/wpa_supplicant/wpa_supplicant.conf``

     詳情請參閱man ``wpa_supplicant.conf``

     或是用

     ::

         wpa_passphrase your_ssid your_key >> /etc/wpa_supplicant/wpa_supplicant.conf
     來產生檔案

  2. 連線

     ::

         wpa_supplicant -B -i dev_name -c /etc/wpa_supplicant/wpa_supplicant.conf
     如果沒有意外,你已經"連上modem"

  3. 連上外部網路

     用DHCP或是PPPoE或是其他方法

安裝作業系統
====================
mirrorlist
-------------
在開始安裝系統之前,我們需要去編輯mirrorlist,mirror是指要從哪裡下載,通常選擇比較近的mirror,會有比較快的下載速度。

在Arch的liveCD當中有好幾套編輯工具,選擇順手的用就好:vi , nano , …
::

    nano /etc/pacman.d/mirrorlist

把淡江大學(tku)及交通大學(nctu)的 Server搬到第一個mirror之前
安裝基礎系統
由於這系統是要從網路上下載下來,所以要先確認是否能連線(內建工具:``dhcpcd``)
::

    pacstrap /mnt base

設定系統組態(configuration)
============================

建立fstab
--------------------
============================

安裝好基礎的系統之後,我們必須告訴他現在硬碟有哪些分割區,以及開機之後要把這些分割區mount在哪些目錄底下。

注意到我們現在是在liveCD,而我們要安裝的系統目錄現在在 ``/mnt``底下,家目錄則在``/mnt/home``

等到我們安裝完之後,從硬碟開機(而非liveCD),系統目錄則為 ``/`` , 家目錄則是 ``/home``

::

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

再做這件事情之前與之後,分別把這個檔案cat出來看看,便能知道" >> "做了什麼

它把分割表的資訊,接在 ``/mnt/etc/fstab`` 的後面繼續寫

chroot
---------------
設定系統組態(configuration)
============================

現在我們要change root到新安裝的系統目錄下,繼續完成系統的設定
::

   arch-chroot /mnt

- 設定hostname
域名
---------------

不知道域名是什麼,就寫localhost

::

   nano /etc/hostname

- 設定時區
   echo 域名 > /etc/hostname

時區
---------------

::

    ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime

- 設定語系
語系
---------------

- 產生語系

`見locale的功能/意義<http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/locale.html>`_
  `見locale的功能/意義<http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/locale.html>`_

把 ``/etc/locale.gen`` 當中要產生的語系取消註解,並使用
::
  把 ``/etc/locale.gen`` 當中要產生的語系取消註解,並使用
  ::

    locale-gen
      locale-gen

產生它
- 設定系統語系

- 調整整個系統用的語言

在做這步之前,可以先用
::
  編輯 ``/etc/locale.conf`` 可以全域的把這些項目都變成同樣的語系/編碼

    locale
  ::

檢視一下哪一些項目用了哪種語言
      echo 'LANG="en_US.UTF-8"' > /etc/locale.conf 

而現在我們寫入 ``/etc/locale.conf`` 可以全域的把這些項目都變成同樣的語系/編碼

# nano /etc/locale.conf
LANG="en_US.UTF-8"

產生kernel image
===========================
詳見`kernel image的功能<http://blog.linux.org.tw/~jserv/archives/001954.html>`_

::

  mkinitcio -p linux

Bootloader
============================

安裝 grub
---------------
- BIOS

-- 安裝 grub

修改開機的預設系統 或 grub的顏色/ 主題等等:/etc/default/grub
::

如果要自定奇奇怪怪的menuentry的話,可以寫進/etc/grub.d/40 or 41
    pacman -S grub

-- 安裝os-prober
- UEFI


找尋已安裝的作業系統
---------------
grub預設不會尋找其他的作業系統:見/boot/grub/grub.cfg當中的menuentry
::

    pacman -S os-prober

產生設定檔
------------------
::

        grub-mkconfig -o /boot/grub/grub.cfg
        grub-install /dev/sda

額外設定
------------------
- 修改開機的預設系統 或 grub的顏色/ 主題等等:/etc/default/grub

- 如果要自定奇奇怪怪的menuentry的話,可以寫進/etc/grub.d/40 or 41

套件
==========================
套件系統是一個Linux Distribution(發行版)的最重要的部份,它決定該發行版屬於哪個派系

Archlinux作為一個譜系的根源,與Debian、Redhat、Gentoo的差異即在於此

pacman
-------------------

用於下載官方套件

::

    pacman -S 套件名

同步列表
~~~~~~~~~~~~~~~~~~~
套件列表太舊可能導致套件下載失敗
::

    pacman -Sy

更新套件版本
~~~~~~~~~~~~~~~~~~~
總覺得一天不更新一次會渾身不對勁…
::

    pacman -Su

同步更新
~~~~~~~~~~~~~~~~~~
接起來即可
::

    pacman -Syu


YAOURT
-------------------

why yaourt
~~~~~~~~~~~~~~~~~~

- 用於下載安裝第三方套件(form sourceforge.git…)
- 最大的優點在於這個套件會有人幫你管理
- 會用arch有一半都是更新狂
- 相容性問題,發布的人幫你解決
- 社群

安裝
~~~~~~~~~~~~~~~~~~~~~~~~
先增加repo
1. 增加repo

::
   ::

    [archlinuxfr]
    SigLevel = Never
    Server = http://repo.archlinux.fr/$arch
       [archlinuxfr]
       SigLevel = Never
       Server = http://repo.archlinux.fr/$arch


將這些加至``/etc/pacman.conf``
   將這些加至``/etc/pacman.conf``


再安裝yaourt
2. 安裝yaourt

::
   ::

    pacman -Sy yaourt
       pacman -Sy yaourt

3. (其實他是2.5)要安裝第三方套件的時候常常會用到compile的工具

   ::

       pacman -S base-devel
 
使用
~~~~~~~~~~~~~~~~~~~~~~~~~

就像pacman的使用方式!
::

    yaourt -S 套件名

如果懶得按no no yes yes...
::

  yaourt -S --noconfirm 套件名

想更新第三方套件,加個-a
::

    yaourt -Sua


常用套件
--------------------
要是少了以下套件,你的Arch生活可能會很難過

- vim
  * 與vi是不同軟體,而使用後者是相當痛苦的

- pkgfile

  * 套件 & 軟體名字不match

- bash-completion
  * 自動補齊 for pacman…等

- sudo

- net-tools
  * ifconfig
- net-tools,iproute2
  * ifconfig,ip

- iw, wireless_tools
  * iw, iwconfig, iwlist, ...

Systemd
============================
中央管理系統,用來管理gdm, NetworkManager, ...

用法
---------------------------
啟動Service
::

    systemctl start SERVICE_NAME

重啟、關閉、自動啟用、停止自動啟用、狀態分別是``restart``, ``close``, ``enable``, ``disable``, ``status``

列出所有服務
-------------------------
如果你忘記服務名稱
::

    systemctl list-unit-files


GNOME
============================

**KDE太土了**

- xorg

  * Driver
      + 滑鼠: xf86-input-mouse
      + 鍵盤: xf86-input-keyboard
      + 觸控板: xf86-input-synaptics
      + 顯示卡: xf86-video-*
          - Intel: xf86-video-intel
          - Nvidia: xf86-video-nouveau
          - AMD: xf86-video-ati

  * 如果不先裝滑鼠鍵盤,就進桌面

- gnome-shell

  * window manager

  * x,放大,移動

- gdm

  * desktop

- gnome-control-center
  
  * 設定界面(帳號、網路、時間、鍵盤、滑鼠、音效、桌布…)

- gnome-tweak-tool

  * 隱藏設定(佈景主題、插件、字體、登入自動執行)

- xdg-user-dirs
  * 自動產生預設資料夾,如桌面、文件、下載…等

啟動
----------------------
使用 Systemd,即
::

    systemctl start gdm


應用軟體
----------------------
- gnome-terminal
  * 終端機

- nautilus
  * 檔案管理員
  * 如果安裝了相關套件,可能需要關閉隱藏的nautilus,輸入
    ::

        nautilus -q 

- file-roller
  * 壓縮檔管理
  * 可直接從壓縮檔的右鍵選單中解壓縮

- evince
  * 開啟PDF

- gedit
  * 文字編輯器
  * 需要額外插件請裝 gedit-plugins

- abiword
  * 文書處理
  * 開啟速度很快

- gnumeric
  * 試算表
  * 開啟速度很快

- eog
  * 看圖軟體

- totem
  * 播放影片、聲音

- gnome-packagekit
  * GUI的套件管理器

輸入法 與 中文
=========================
- ibus-chewing

- wqy-zenhei

網路相關套件
=========================

- flashplugin

界面美化
==========================
powerline
-------------------

user theme
-------------------