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

版本 418e4658633ea21046c414d9c84c3ab0d7adcc64

archlinux

Changes from 418e4658633ea21046c414d9c84c3ab0d7adcc64 to b4b50d88d06cc2dbfbd3143a8b8cd65fe0989d6b

---
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

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

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

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

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

::

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

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

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

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

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

   arch-chroot /mnt

域名
---------------

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

::

   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`` 當中要產生的語系取消註解,並使用
  ::

      locale-gen

- 設定系統語系


  編輯 ``/etc/locale.conf`` 可以全域的把這些項目都變成同樣的語系/編碼

  ::

      echo 'LANG="en_US.UTF-8"' > /etc/locale.conf 


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

::

  mkinitcio -p linux

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

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

::

    pacman -S grub


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

    pacman -S os-prober

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

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

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

::

        grub-install /dev/sda

- UEFI

::

        grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

額外設定
------------------
- 修改開機的預設系統 或 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有一半都是更新狂
- 相容性問題,發布的人幫你解決
- 社群

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

   ::

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


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


2. 安裝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,iproute2
  * ifconfig,ip

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

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

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

    systemctl start SERVICE_NAME

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

需開機自啟項目
---------------------------
::

    systemctl enable gdm
    systemctl enable NetworkManager

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

    systemctl list-unit-files


Shell
============================

Gnome
----------------

安裝
~~~~~~~~~~~~~~~~

- 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 <https://wiki.gnome.org/Apps/Terminal>`_
- [gnome-terminal ](https://wiki.gnome.org/Apps/Terminal)
  * 終端機

- `nautilus <https://wiki.gnome.org/Apps/Nautilus>`_
- [nautilus ](https://wiki.gnome.org/Apps/Nautilus)
  * 檔案管理員
  * 如果安裝了相關套件,可能需要關閉隱藏的nautilus,輸入
    ::

        nautilus -q 

- `file-roller <http://fileroller.sourceforge.net>`_
- [file-roller ](http://fileroller.sourceforge.net)
  * 壓縮檔管理
  * 可直接從壓縮檔的右鍵選單中解壓縮

- `evince <https://wiki.gnome.org/Apps/Evince>`_
- [evince ](https://wiki.gnome.org/Apps/Evince)
  * 開啟PDF

- `gedit <https://wiki.gnome.org/Apps/Gedit>`_
- [gedit ](https://wiki.gnome.org/Apps/Gedit)
  * 文字編輯器
  * 需要額外插件請裝 gedit-plugins

- `abiword <http://www.abisource.com/>`_
- [abiword ](http://www.abisource.com/)
  * 文書處理
  * 開啟速度很快

- `gnumeric <http://www.gnumeric.org/>`_
- [gnumeric ](http://www.gnumeric.org/)
  * 試算表
  * 開啟速度很快

- `eog <https://wiki.gnome.org/Apps/EyeOfGnome>`_
- [eog ](https://wiki.gnome.org/Apps/EyeOfGnome)
  * 看圖軟體

- `totem <https://wiki.gnome.org/action/show/Apps/Videos?action=show&redirect=Apps%2FTotem>`_
- [totem ](https://wiki.gnome.org/action/show/Apps/Videos?action=show&redirect=Apps%2FTotem)
  * 播放影片、聲音

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

KDE
----------------

安裝
~~~~~~~~~~~~~~~

- xorg-server

- kdm

  * 安裝kdm,pacman會去找dependencies,自動把需要用到的套件全部裝上 

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

    systemctl start kdm



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

- `wqy-zenhei <http://wenq.org/wqy2/index.cgi>`_
- [wqy-zenhei ](http://wenq.org/wqy2/index.cgi)

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

- flashplugin

界面美化
==========================
powerline
-------------------
- zsh
    如果只有要更改zsh的prompt,這裡有一個簡單的方法:`powerline for zsh <http://klaig.blogspot.tw/2012/09/powerline-for-zsh.html>`_
    如果只有要更改zsh的prompt,這裡有一個簡單的方法:[powerline for zsh ](http://klaig.blogspot.tw/2012/09/powerline-for-zsh.html)

    下載這個`字型<https://gist.github.com/epegzz/1634235/download>`_ 並解壓縮至~/.fonts
    下載這個[字型](https://gist.github.com/epegzz/1634235/download) 並解壓縮至~/.fonts
::

  fc-cache -vf
  git clone git://github.com/gbin/oh-my-zsh.git ~/.oh-my-zsh
  cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc


接著,編輯.zshrc,加入

ZSH=$HOME/.oh-my-zsh

ZSH_THEME="powerline"


最後

::

  source $ZSH/oh-my-zsh.sh

user theme
-------------------
- icon

::

    yaourt -S faba-icon-theme-git moka-icon-theme-git