01 Nov 2014, 02:12

ArchLinux でノート PC のバッテリを長持ちさせる方法

最近引越しをした. 引っ越す前の町には電源カフェがたくさんあったのだが, 引越し先では, 電源が利用できるカフェが少ない.

なので, ノート PC (ArchLinux) のバッテリを長持ちさせる方法を模索してみた.

バッテリ確認

残りバッテリーを調べる

apci コマンドで, バッテリ状態を見ることができる.

$ apci -b

cbatticon

システムトレイ用のバッテリアイコン.

エコの設定

明るさ調整

明るさを低くすることで, バッテリを長持ちできる.

xcalib

xcalib で, コマンドラインから明るさを調整できる.

# 設定クリア
$ xcalib -c 

# 明るさを 70
$ xcalib -co 70 -a

laptop-mode-tools

laptop-mode-tools は, ラップトップ PC の電源を, 使用状態に応じて適切に調整してくれるツール.

初期設定はここ. /etc/laptop-mode/laptop-mode.conf

起動方法

# サービス登録
$ sudo systemctl enable laptop-mode
# 再起動
$ sudo systemctl restart laptop-mode

# 手動起動
$ sudo laptop-mode auto
# ステータス確認
$ sudo laptop-mode status

追加インストール

  • apcid で laptop-mode-tools から 電源管理.
  • hdparm で Hard Disk の回転数をセーブ.

バッテリーが少なくなったらサスペンド

以下を記述することで, バッテリが少なくなったときに, 自動的にサスペンド状態にする.

/etc/udev/rules.d/99-lowbat.rules

# Suspend the system when battery level drops to 2% or lower
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="2", RUN+="/usr/bin/systemctl suspend"
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="1", RUN+="/usr/bin/systemctl suspend"
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="0", RUN+="/usr/bin/systemctl suspend"

08 Jun 2014, 06:34

自分のデスクトップ環境の歴史を記録する!ansibleで設定ファイルをクラウド管理する方法

はじめに

いままで、このブログには自分がPCで実施した設定を技術メモとして書いてきた。

自宅でためした内容を会社でも実施することがかなりある。 どうせならば、ブログとして残すとともに、実行可能なスクリプトとして残したい。

ということで、構成管理ツールである、Ansibleを試すことにした。

今回は、ローカルマシン(ArchLinux)の設定を目的にして試してみます。

ちなみに、関連記事は以下。

Environment

<div class="outline-text-3" id="text-1-1">
  <ul class="org-ul">
    <li>
      Arch Linux
    </li>
    <li>
      Python 3.5
    </li>
  </ul>
</div>

Ansibleのインストール

Ansibleとは、いわゆる構成管理ツール。サーバの設定を自動化することができる。

sudo pacman -S ansible
<p>
  ちなみに、以下の方法ではbuildでエラーした。なんでかな?
</p>

<div class="org-src-container">
  <pre class="src src-language"># pip

sudo pacman -S python-pip sudo pip install ansible

easy_install

sudo pacman -S python-setuptools sudo easy_install ansible

Ansibleをつかってみる

ping

<div class="outline-text-3" id="text-3-1">
  <p>
    pingコマンドというのがあり、これでインストール後の疎通確認ができる。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">mkdir ansible

cd ansible echo ‘localhost’ > host ansible localhost -m ping -i hosts

  <p>
    hostsというのはインベントリファイルという。 インベントリファイルに登録されたホストにのみansibleは実行可能。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://github.com/yteraoka/ansible-tutorial/wiki/Inventory-File">Inventory File · yteraoka/ansible-tutorial Wiki</a>
    </li>
  </ul>
</div>

localで利用する

<div class="outline-text-3" id="text-3-2">
  <p>
    公式Docによると2つの方法がある。
  </p>

  <div class="org-src-container">
    <pre class="src src-language"># コマンドラインから --connection=localを設定

ansible-playbook playbook.yml –connection=local

playbookに以下を記述

  • hosts: 127.0.0.1 connection: local

gitを入れてみる

<div class="outline-text-3" id="text-3-3">
  <p>
    以下の記事を参考に、gitをインストールしてみる。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://qiita.com/itiut@github/items/e8b95ac9b9ea2a6ea701">AnsibleをUbuntuのローカルで使う &#8211; Qiita</a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language">---
  • hosts: localhost user: tsu-nera tasks:

    • name: “git” pacman: name=git sudo: yes

コマンドラインから実行。-K オブションでパスワードを聞かれる。

ansible-playbook site.yml -i hosts -K

-i hostsは環境変数を設定することで省略可能。

export ANSIBLE_HOSTS=~/.ansible/hosts

/etc/sudoersで以下の一行を追加することで、-Kも書略できる。

# visudo
username ALL=(ALL) NOPASSWD:ALL

NTPの設定をしてみる

NTPの設定を自動化してみる。

実施手順

<div class="outline-text-3" id="text-4-1">
  <div class="org-src-container">
    <pre class="src src-language"># ntpのインストール

pacman -S ntp

ntpサーバへの接続設定

cp ntp.conf /etc/ntp.conf

  <p>
    /etc/ntp.confの内容は以下。
  </p>

  <div class="org-src-container">
    <pre class="src src-language"># With the default settings below, ntpd will only synchronize your clock.

#

For details, see:

- the ntp.conf man page

- http://support.ntp.org/bin/view/Support/GettingStarted

- https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon

Associate to public NTP pool servers; see http://www.pool.ntp.org/

server -4 ntp.nict.jp server -4 ntp1.jst.mfeed.ad.jp server -4 ntp2.jst.mfeed.ad.jp server -4 ntp3.jst.mfeed.ad.jp

Only allow read-only access from localhost

restrict default nomodify nopeer noquery restrict 127.0.0.1 restrict ::1

driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp.log

  <p>
    こうなった。以下を参考にしたけれども、途中でわからなくなった。 すみませんが、リンク先参照ということで。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://gist.github.com/phillipuniverse/7721288">Set up NTP with Ansible, dedicating one as a timelord</a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language">---

ArchLinuxの設定を書いてみる

<div class="outline-text-3" id="text-4-2">
  <p>
    ArchLinuxで利用するツールをyamlファイルで管理。
  </p>

  <div class="org-src-container">
    <pre class="src src-yaml"><span style="color: #a9a9a9;">---</span>

まとめ

デスクトップをプレーンテキストでバージョン管理したい。

dotfilesで設定を管理することを、一歩おしすすめて、OS自体を管理したい。

調べながらなので、今回の設定は時間がかかり、またpacmanくらいしかつかいこなせていない。 けれども、これからこのdotansiblesも成長させていく。 ansibleはとてもシンプルな仕様なので、覚えるのも時間がかからないはずだ。

調べてみると、dotfilesを管理するようにansibleでdesktopを管理するも流行ってる?

dotfilesと同じように、少しずつ自分の成長過程をプレーンテキストで管理して記録していく。

BookMarks

公式Doc

<div class="outline-text-3" id="text-6-1">
  <ul class="org-ul">
    <li>
      <a href="http://docs.ansible.com/index.html">Ansible Documentation — Ansible Documentation</a>
    </li>
  </ul>

  <p>
    日本語訳
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://github.com/shkumagai/ansible-doc-ja">shkumagai/ansible-doc-ja</a>vv
    </li>
  </ul>
</div>

チュートリアル

<div class="outline-text-3" id="text-6-2">
  <ul class="org-ul">
    <li>
      <a href="http://yteraoka.github.io/ansible-tutorial/">Ansible チュートリアル | Ansible Tutorial in Japanese</a>
    </li>
    <li>
      <a href="http://apatheia.info/blog/2013/04/06/about-ansible/">構成管理ツール Ansible について &#8211; apatheia.info</a>
    </li>
    <li>
      <a href="http://qiita.com/seizans/items/54da2077ac8e2dcf5d6f">vagrant &#8211; Ansible コトハジメ &#8211; Qiita</a>
    </li>
    <li>
      <a href="http://demand-side-science.jp/blog/2014/ansible-in-wonderland-01/">不思議の国のAnsible – 第1話 – DSS Tech Blog</a>
    </li>
    <li>
      <a href="http://tdoc.info/blog/2013/04/20/ansible.html">ansibleを使ってみる — そこはかとなく書くよん。</a>
    </li>
    <li>
      <a href="http://docs.ansible.com/pacman_module.html">pacman &#8211; Manage packages with pacman — Ansible Documentation</a>
    </li>
    <li>
      <a href="http://d.hatena.ne.jp/akishin999/20130815/1376520672">Ansible の Playbook を使ってみる &#8211; akishin999の日記</a>
    </li>
    <li>
      <a href="http://www.infiniteloop.co.jp/blog/2013/08/ansible/">はじめてAnsibleを使う人が知っておきたい7つのモジュール</a>
    </li>
  </ul>

  <p>
    ローカルで利用する。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://cloverrose.hateblo.jp/entry/2013/09/07/112153">Ansibleをローカルで使ってみた &#8211; cloverrose&#8217;s blog</a>
    </li>
    <li>
      <a href="http://qiita.com/itiut@github/items/e8b95ac9b9ea2a6ea701">AnsibleをUbuntuのローカルで使う &#8211; Qiita</a>
    </li>
  </ul>

  <p>
    Ansibleの哲学・アーキ。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://tdoc.info/blog/2014/01/20/ansible_beyond_configuration.html">Ansibleのアーキテクチャー: 構成管理を超えて — そこはかとなく書くよん。</a>
    </li>
  </ul>

  <p>
    ansible bestpractice.
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://docs.ansible.com/playbooks_best_practices.html#always-name-tasks">Best Practices — Ansible Documentation</a>
    </li>
  </ul>
</div>

その他

<div class="outline-text-3" id="text-6-3">
  <ul class="org-ul">
    <li>
      <a href="http://qiita.com/advent-calendar/2013/ansible">Ansible Advent Calendar 2013 &#8211; Qiita</a>
    </li>
  </ul>
</div>

08 Jun 2014, 05:45

ArchLinux インストール後の設定メモ

はじめに

前回ArchLinuxをインストールしたので、今回はインストール後の設定についてまとめます。

[toc]

wifiの設定

まずは、wifiを有効化。

iw dev
wpa_supplicant -B -i wlp2s0 -c <(wpa_passphrase "ssid" "psk")
dhcpcd wlp2s0
<p>
  起動時に自動でwifi接続するように設定。
</p>

<div class="org-src-container">
  <pre class="src src-language">pacman -S wpa_actiond

systemctl enable netctl-auto@wlp2s0.service reboot

<p>
  再起動してネットに接続できればOK.
</p>

ユーザ設定

ユーザの作成。

useradd -m -g users -G wheel -s /usr/bin/zsh tsu-nera
passwd tsu-nera
<p>
  sudoをパスワードなしで利用するために、visudoを設定。rootになって、
</p>

<div class="org-src-container">
  <pre class="src src-language"># これで emacsで visudoが起動できる。

VISUAL=emacs visudo

末尾に以下の行を追加。

tsu-nera ALL=(ALL) ALL

ツールの設定

pacman

<div class="outline-text-3" id="text-4-1">
  <p>
    ArchLinuxのパッケージ管理ツール、pacmanをまずはべんきょ。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Pacman_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">pacman (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <p>
    よく利用するツールをインストール。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S emacs git zsh tmux openssh

  <p>
    すべてをアップデート。
  </p>

  <p>
    n#+begin_src language pacman -Syu #+end_src
  </p>
</div>

yaourt

<div class="outline-text-3" id="text-4-2">
  <p>
    pacmanのラッパー。 特徴は、Arch User Repositoryにあるツールをインストールすることができること。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Yaourt_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Yaourt (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>
</div>

gitの設定

<div class="outline-text-3" id="text-4-3">
  <div class="org-src-container">
    <pre class="src src-language">ssh-keygen -t rsa

  <ul class="org-ul">
    <li>
      <a href="http://futurismo.biz/archives/1280">githubに新しいリポジトリを作成してローカルのリポジトリをアップロードする | Futurismo</a>
    </li>
  </ul>
</div>

my dotfiles

<div class="outline-text-3" id="text-4-4">
  <p>
    github上で管理しているdotfilesをインストールする。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">git clone https://github.com/tsu-nera/toolkit.git

git submodule update –init

  <p>
    つづけて、emacsも立ち上げる。 el-getでパッケージ管理しているので自動でtoolはおとしてくる。
  </p>
</div>

日本語環境の設定

文字コードの設定

<div class="outline-text-3" id="text-5-1">
  <p>
    ja_JP.UTF-8をつかう。
  </p>

  <div class="org-src-container">
    <pre class="src src-language"># locale.genを編集

emacs /etc/locale.gen

以下をコメントアウト

en_US.UTF-8 UTF-8 ja_JP.UTF-8 UTF-8

locale.gen生成

locale.gen

  <p>
    コンソール環境では文字化けする。X Window System環境をを整えてから以下を設定。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">echo LANG=ja_JP.UTF-8 &gt; /etc/locale.conf

export LANG=ja_JP.UTF-8

IM/IME

<div class="outline-text-3" id="text-5-2">
  <p>
    親指シフトが利用できる、ibus-anthyを利用する。
  </p>

  <div class="org-src-container">
    <pre class="src src-language"># インストール

sudo pacman -S ibus-anthy

設定

ibus-setup

  <p>
    日本語入力はなかなか苦労した。 なぜなら、ibus-daemonを起動しても日本語入力できなかったから。
  </p>

  <p>
    結論としては、/etc/clipboardに設定をした。.zshenvや.xinitrc, .profileはすべて失敗した。
  </p>

  <div class="org-src-container">
    <pre class="src src-language"># ibus

export XIM=ibus export XIM_PROGRAM=/usr/bin/ibus-daemon export XIM_ARGS=“–xim” export GTK_IM_MODULE=“ibus” export XMODIFIERS=“@im=ibus” export QT_IM_MODULE=“ibus” ibus-daemon -d -x

Font

<div class="outline-text-3" id="text-5-3">
  <p>
    Ricty を使う。驚いたのは、archlinuxだと、以下のコマンド一つでインストールできてしまうこと。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">yaourt -S ttf-ricty

  <p>
    いままで散々苦労してきたが、あまりに導入が簡単過ぎて感動した。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://futurismo.biz/archives/1313">いつ変えるの?今でしょ!Windowsプログラマーのための『Ricty』</a>
    </li>
    <li>
      <a href="http://futurismo.biz/archives/2072">美は生産性に宿る!プログラマーのためのフォントRictyをLinux Mintに導入した</a>
    </li>
  </ul>
</div>

GUI環境の設定

X Window System

<div class="outline-text-3" id="text-6-1">
  <div class="org-src-container">
    <pre class="src src-language"># x window systemのインストール

pacman -S xorg-server xorg-server-utils xorg-xinit pacman -S mesa

ドライバを調べる。

$ lspci | grep VGA Intel Corporation Haswell-ULT Integrated Graphics Controller(rev 09)

  <p>
    ここから適切なドライバを探す。自分のPCは intelなので、 xf86-video-intelのようだ。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Xorg_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#.E3.83.89.E3.83.A9.E3.82.A4.E3.83.90.E3.83.BC.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">Xorg (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S xf86-video-intel

  <p>
    タッチパッドの制御のために以下もインストール。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S xf86-input-synaptics

  <p>
    ただし、TouchPadは普段は邪魔なので、無効化しておく。エイリアスを切って、off/onをする。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">alias touchpad_disable='xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0'

alias touchpad_enable=‘xinput –set-prop “SynPS/2 Synaptics TouchPad” “Device Enabled” 1’

slim

<div class="outline-text-3" id="text-6-2">
  <p>
    軽量なログインマネージャー。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S slim archlinux-themes-slim slim-themes

  <p>
    /etc/slim.confを設定する。テーマは/usr/share/slim/themsにある。
  </p>

  <div class="org-src-container">
    <pre class="src src-language"># defaultユーザの設定

default_user tsu-nera

テーマの設定

current_theme archlinux-darch-grey

  <p>
    最後に設定を反映する。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">systemctl enable slim.service

reboot

xmonad/urxvt

<div class="outline-text-3" id="text-6-3">
  <p>
    タイル型ウィンドウマネージャのxmonad, ターミナルにurxvtをつかう。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Xmonad_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Xmonad (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <p>
    これは以前から利用しているからだ。なので、詳細は省略。(過去記事参照)
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://futurismo.biz/archives/2165">タイル型ウィンドウマネージャという新たな世界観に衝撃を受けた!</a>
    </li>
    <li>
      <a href="http://futurismo.biz/archives/2163">省エネ時代の軽快ターミナル!rxvt-unicode(urxvt)でサクサクターミナル生活 </a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S xmonad xmonad-contrib dmenu xmobar, rxvt-unicode

サウンド設定

ALSA

<div class="outline-text-3" id="text-7-1">
  <p>
    サウンドカードのデバイスドライバ。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Advanced Linux Sound Architecture (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S alsa-utils

  <p>
    alsamixerをコマンドラインから起動する。 (自分の環境では) F6 の サウンドカード選択でHDA Intel PCHを選択。
  </p>

  <p>
    自分の場合は、これで音がでなかったので、以下の作業をした。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#HDMI_output_does_not_work">Advanced Linux Sound Architecture &#8211; ArchWiki</a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language"># 音がでるデバイスを調べる。

$ aplay -l *** ハードウェアデバイス PLAYBACK のリスト **** カード 0: HDMI [HDA Intel HDMI], デバイス 3: HDMI 0 [HDMI 0] サブデバイス: 11 サブデバイス #0: subdevice #0 カード 0: HDMI [HDA Intel HDMI], デバイス 7: HDMI 1 [HDMI 1] サブデバイス: 11 サブデバイス #0: subdevice #0 カード 0: HDMI [HDA Intel HDMI], デバイス 8: HDMI 2 [HDMI 2] サブデバイス: 11 サブデバイス #0: subdevice #0 カード 1: PCH [HDA Intel PCH], デバイス 0: ALC269VC Analog [ALC269VC Analog] サブデバイス: 11 サブデバイス #0: subdevice #0

音がでるかテスト

$ apply -D plughw:1,0 /usr/share/sounds/alsa/Front_Center.wav

youtube

<div class="outline-text-3" id="text-7-2">
  <p>
    youtubeを見るためには、Adobe Flash Playerが必要。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Browser_Plugins_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Browser Plugins (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-language">pacman -S flashplugin

その他

時刻設定

<div class="outline-text-3" id="text-8-1">
  <p>
    時刻が狂っているので時刻合わせをする。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://futurismo.biz/archives/1487">CentOSで日本標準時の時刻をntpで取得するためのメモ | Futurismo</a> <div class="org-src-container">
        <pre class="src src-language">systemctl enable ntpd

まとめ

前回の記事のArchLinuxの導入までで、30時間はかかった気がする。。疲れた。 ArchLinuxの導入の大変さを身をもって実感。 自分の手で設定をつくりあげる、これは大変だけれども非常に達成感があった。

ArchLinuxは壊れやすいときくので、なるべく詳細にインストールメモを残してみた。 なんとなく、再設定をしそうな気がするので。ArchWikiの異常な丁寧さと詳細さに感嘆した。 困っても、大抵のことはここに書いてあったので、迷うことはなかった。

なぜ、Linux MintからArchLinuxに移行しようとしたのだろう?

ローリングストーンモデルに惹かれた点が大きい。 Linux Mintはアップデートにフルインストールが必要だけれども、ArchLinuxはコマンド一つだ。

しかし、それは表の理由だ。真の理由は、ブランドバリューに引かれたから。 ArchLinuxには、かたよったステレオタイプがある。

『私、ArchLinuxをつかってます』というと、なんだかマニアっぽい。 『私、vuittonのバッグを持っているの』というのと同じ。

芸術家をアーチストという、そしてまた、ArchLinuxをつかうひとも、アーチストという。

そんな自己満足感と達成感に浸っている。

Bookmarks

01 Jun 2014, 05:01

Lets Noteを買ったのでとりあえずWindows8とArchLinuxのデュアルブートにしてみた

はじめに

新しいノートPCを買った。Panasonicの Let’s Note.

いままで散々弄りまわしてきたVAIOだけれど、 最近になって裏のネジがなくなってしまった。 そのため、ディスプレイが今にも外れそうな危ない状態だ。

VAIOには名残惜しいものの、このままだといつ壊れてもおかしくない。 そんなわけで、新しいPCを買うことになった。 本心は、再びVAIOを購入したいところだったが、VAIOがヨドバシに売っていなかった。

ヨドバシの店頭においてある一番高い、30万に届くような高スペックのLet’s Noteを購入。

最高スペックには最高のOSを!

ということで、Windows8とArchLinuxとのデュアルブートにすることにした。

以下は、インストールするまでの作業メモです。

[toc]

Windows側での事前準備

まず、購入時にはWindows8.1がすでにインストールされている。 デュアルブート化のための準備をWindows側でする。

ArchLinux ディストリビューションを取得

<div class="outline-text-3" id="text-2-1">
  <p>
    以下から、最新版をダウンロード。日本のミラーサイトからダウンロードする。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://www.archlinux.org/download/">Arch Linux &#8211; Downloads</a> <ul class="org-ul">
        <li>
          archlinux-2014.05.01-dual.iso
        </li>
      </ul>
    </li>
  </ul>
</div></p>

インストール用にUSBメモリ作成

<div class="outline-text-3" id="text-2-2">
  <p>
    USBWriter for Windowsで、ダウンロードしたISOファイルをUSBメモリに焼く。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://sourceforge.net/projects/usbwriter/">USBWriter | Free software downloads at SourceForge.net</a>
    </li>
  </ul>
</div></p>

高速スタートアップ解除

<div class="outline-text-3" id="text-2-3">
  <p>
    手順にしたがって、高速スタートアップを無効にする。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html">Fast Startup &#8211; Turn On or Off in Windows 8</a>
    </li>
  </ul>
</div></p>

パーティションを切る

<div class="outline-text-3" id="text-2-4">
  <p>
    コントロールパネル→管理ツール→コンピュータの管理→記憶域→ディスクの管理を機動起動。
  </p>

  <p>
    購入時、ドライブ構成はこんな感じ。
  </p>

  <ul class="org-ul">
    <li>
      合計 240GB <ul class="org-ul">
        <li>
          回復パーティション 800MB
        </li>
        <li>
          EFIシステムパーティション 260MB
        </li>
        <li>
          Cドライブ 221GB
        </li>
        <li>
          回復パーティション 15GB
        </li>
      </ul>
    </li>
  </ul>

  <p>
    CドライブからArchLinux用のパーティションを切り出す。 150GB/70GBの 2対1くらいの比率にしておくか。適当だけど。
  </p></p>
</div></p>

リカバリディスク作成

<div class="outline-text-3" id="text-2-5">
  <p>
    いざというときのために、リカバリディスクを作成。 これはノートPCの説明書にしたがった。
  </p></p>
</div></p>

FAQを読む/ArchWayを読む

<div class="outline-text-3" id="text-2-6">
  <p>
    FAQとArch Wayを読んで、インストールして後悔しないか再度確認。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/FAQ_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">FAQ (日本語) &#8211; ArchWiki</a>
    </li>
    <li>
      <a href="https://wiki.archlinux.org/index.php/The_Arch_Way_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">The Arch Way (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>
</div>

<div id="outline-container-sec-2-6-1" class="outline-4">
  <h4 id="sec-2-6-1">
    KISS
  </h4>

  <div class="outline-text-4" id="text-2-6-1">
    <p>
      Keep It Simple, Stupid.
    </p>

    <p>
      シンプルにしとけよ、このバカチンが
    </p></p>
  </div></p>
</div></p>

ArchLinuxのインストール

基本的には以下のページにしたがう。

USBメモリから起動

<div class="outline-text-3" id="text-3-1">
  <p>
    F2からBIOSの設定を変更して、USBメモリから起動する。
  </p>

  <p>
    いきなりエラーしてワクワクするO(〃⌒▼⌒〃)O
  </p>

  <div class="org-src-container">
    <pre class="src src-language">failed to start loader

  <ul class="org-ul">
    <li>
      <a href="https://teksyndicate.com/forum/linux/loaderefi-error-arch-linux/168495">Loader.efi error Arch Linux | Tek Syndicate</a>
    </li>
  </ul>

  <p>
    Secure Bootが怪しいということで、以下のガイダンスにしたがう。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Secure_Boot">Unified Extensible Firmware Interface &#8211; ArchWiki</a>
    </li>
  </ul>

  <p>
    rootでログイン成功。
  </p></p>
</div></p>

言語の選択

<div class="outline-text-3" id="text-3-2">
  <p>
    キーマップで日本語を設定。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">loadkeys jp106

  <p>
    文字コードも設定。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">nano /etc/locale.gen

ja_JP.UTF-8 UTF-8

locale-gen export LANG=ja_JP.UTF-8

無線の設定

<div class="outline-text-3" id="text-3-3">
  <p>
    pingしてダメなことを確認する。unknown hostと出てきた。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">ping -c 3 www.google.com

  <div class="org-src-container">
    <pre class="src src-sh">iw dev

phy#0 Interface wlp2s0

ip link set wlp2s0 up

  <p>
    エラーした。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">RTNELINK answerss: Operation not possible do to RF-kill

  <p>
    wifiの物理スイッチがOffになってただけだった。スイッチオンしたら成功。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">wifi-menu wlp2s0

  <p>
    wifi-menuではdhcp設定がうまくいかない。手動設定でうまくいった。pingも通る。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">wpa_supplicant -B -i wlp2s0 -c &lt;(wpa_passphrase <span style="color: #e6db74;">"ssid"</span> <span style="color: #e6db74;">"psk"</span>)

dhcpcd wlp2s0

パーティションを切る

<div class="outline-text-3" id="text-3-4">
  <p>
    以下を参考にパーティションを考える。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Partitioning_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#GPT_.E3.81.8B_MBR_.E3.81.AE.E9.81.B8.E6.8A.9E">Partitioning (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <p>
    こんな感じ。swap領域はwikiを信じて作成しない。 rootとhomeを分けておくと rm -rfしたときにデータ復旧できる。
  </p>

  <ul class="org-ul">
    <li>
      / 20GB
    </li>
    <li>
      /home 130GB
    </li>
  </ul>

  <p>
    /bootは、EFI system partitionがあるのでそれをつかう。 (この用語についてはあとでまたでてくる)
  </p></p>
</div>

<div id="outline-container-sec-3-4-1" class="outline-4">
  <h4 id="sec-3-4-1">
    gdisk
  </h4>

  <div class="outline-text-4" id="text-3-4-1">
    <p>
      パーティションツールは、SSDを長持ちさせるために、GPTに対応したgdiskを利用する。
    </p>

    <p>
      (以前つかったことがある GPartedを試みたものの、GPTの設定方法がわからなかった。 どうも一旦すべてのパーティションを削除しないとgptは設定できないようだった)
    </p>

    <div class="org-src-container">
      <pre class="src src-sh">gdisk /dev/sda

    <p>
      nコマンドでパーティション追加。
    </p>

    <ul class="org-ul">
      <li>
        Parttition number は defaultなので Enter
      </li>
      <li>
        First sector は defaultなので Enter
      </li>
      <li>
        Last sector は +20G/Enter
      </li>
      <li>
        GUIDは は defaultなので Enter
      </li>
    </ul>

    <p>
      最後にwでディスクに書き込む。
    </p></p>
  </div></p>
</div></p>

ファイルシステムの作成

<div class="outline-text-3" id="text-3-5">
  <p>
    ext4でパーティションをフォーマットする。
  </p>

  <p>
    まずは、lsblkで device nameを確認
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">lsblk

  <p>
    容量と見比べて、今回は以下が対象。
  </p>

  <ul class="org-ul">
    <li>
      sda7 20G Root用
    </li>
    <li>
      sda8 126G home用
    </li>
  </ul>

  <div class="org-src-container">
    <pre class="src src-sh">mkfs.ext4 /dev/sda7

mkfs.ext4 /dev/sda8

  <p>
    lsblk -fでFSTYPEがext4であることを確認。
  </p></p>
</div></p>

パーティションのマウント

<div class="outline-text-3" id="text-3-6">
  <p>
    パーティションをマウントする。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">mount /dev/sda7 /mnt

mkdir /mnt/home mount /dev/sda8 /mnt/home

  <p>
    EFI system partitionを /boot/efiにマウントする。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">mkdir -p /mnt/boot/efi

mount /dev/sda2 /mnt/boot/efi

ミラーの選択

<div class="outline-text-3" id="text-3-7">
  <p>
    とりあえず、jaistとtukubaを最優先に設定。
  </p></p>
</div></p>

ベースシステムのインストール

<div class="outline-text-3" id="text-3-8">
  <p>
    ついにインストール。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">pacstrap -i /mnt base base-devel

fstabの生成

<div class="outline-text-3" id="text-3-9">
  <div class="org-src-container">
    <pre class="src src-sh">genfstab -U -p /mnt &gt;&gt; /mnt/etc/fstab

Chroot とベースシステムの設定

arch-chroot /mnt /bin/bash

<p>
  ごちゃごちゃしているのでメモは省略。
</p></p>

ブートローダ設定

ブートローダは使ったことがあるGRUBにする。

べんきょ

<div class="outline-text-3" id="text-5-1">
  <p>
    まずは、用語がわからないので、wikiをざっとながめる。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Unified Extensible Firmware Interface (日本語) &#8211; ArchWiki</a>
    </li>
    <li>
      <a href="https://wiki.archlinux.org/index.php/GUID_Partition_Table_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">GUID Partition Table (日本語) &#8211; ArchWiki</a>
    </li>
    <li>
      <a href="https://wiki.archlinux.org/index.php/UEFI_Bootloaders_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Boot Loaders (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>

  <p>
    つぎに自分のシステムがUEFIとGPTに対応しているか調べる。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">parted /dev/sda print

  <p>
    冒頭にPartition Table:gpt, リストの2番目に EFI system partitionとかいてある。 どうやらGPTとESPがあるもよう。さすが、最新式。
  </p></p>
</div></p>

GRUBインストール

<div class="outline-text-3" id="text-5-2">
  <p>
    Arch WikiのUEFIシステムのインストール手順にしたがう。ツールを入れる。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">pacman -S grub efibootmgr dosfstools

  <p>
    以下のコマンドでインストール
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug

デュアルブート対応

<div class="outline-text-3" id="text-5-3">
  <p>
    これもwikiにしたがう。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">pacman -S os-prober

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

  <p>
    grub-mkconfigがエラーする。 os-proberを単体で実行しても同じエラーメッセージがでる。 os-proberを削除するとエラーがでない。どうもこれが悪いみたい。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://unix.stackexchange.com/questions/105389/arch-grub-asking-for-run-lvm-lvmetad-socket-on-a-non-lvm-disk">partition &#8211; Arch GRUB asking for /run/lvm/lvmetad.socket on a non lvm disk &#8211; Unix & Linux Stack Exchange</a>
    </li>
  </ul>

  <p>
    manualで grub menuを設定する。/etc/grub.d/40_customを編集。 以下を書くことで、grubのmenuにwindowsを表示できる。ArchLinuxはかってに表示される。
  </p>

  <div class="org-src-container">
    <pre class="src src-language">#!/bin/sh

exec tail -n +3 $0

This file provides an easy way to add custom menu entries. Simply type the

menu entries you want to add after this comment. Be careful not to change

the ‘exec tail’ line above.

if [ “${grub_platform}” == “efi” ]; then menuentry “Microsoft Windows 8.1 x86_64 UEFI-GPT” { echo “Loading Microsoft Windows 8.1…” insmod part_gpt insmod fat insmod search_fs_uuid insmod chain search –fs-uuid –set=root $hints_string $uuid chainloader /EFI/Microsoft/Boot/bootmgfw.efi } fi

menuentry “System shutdown” { echo “System shutting down…” halt }

menuentry “System restart” { echo “System rebooting…” reboot }

  <div class="org-src-container">
    <pre class="src src-sh"><span style="color: #a9a9a9;"># </span><span style="color: #a9a9a9;">uuid</span>

grub-probe –target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi 1231-C3B2 # hints_string grub-probe –target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi –hint-bios=hd0,gpt2 –hint-efi=hd0,gpt2 –hint-baremetal=ahci0,gpt2

  <p>
    /boot/grub/grub.cfgに反映させる。このコマンドでgrub.cfgに追記される。
  </p>

  <div class="org-src-container">
    <pre class="src src-sh">grub-mkconfig -o /boot//grub/grub.cfg

  <p>
    ここまで完了したら、reboot!
  </p>

  <p>
    再起動してgrubメニューにArchLinuxとWindowsが表示されていることを確認。今日はつかれたので、ここまで。
  </p></p>
</div></p>

参考にしたページのBookMarks

ArchLinuxとは

<div class="outline-text-3" id="text-6-1">
  <ul class="org-ul">
    <li>
      <a href="http://dic.nicovideo.jp/a/arch%20linux">Arch Linuxとは (アーチリナックスとは ) &#8211; ニコニコ大百科</a>
    </li>
    <li>
      <a href="http://divide-et-impera.org/archives/1388">Ubuntuに飽きた俺達の楽園はArch Linuxにあった | Divide et impera</a>
    </li>
    <li>
      <a href="http://zaka-think.com/linux/archlinux/archlinux%E3%82%92%E3%82%84%E3%82%81%E3%81%9F%E7%90%86%E7%94%B1/">Archlinuxをやめた理由 | ざかしんく</a>
    </li>
  </ul>
</div></p>

インストール

<div class="outline-text-3" id="text-6-2">
  <ul class="org-ul">
    <li>
      <a href="https://wiki.archlinux.org/index.php/Installation_Guide_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Installation Guide (日本語) &#8211; ArchWiki</a>
    </li>
    <li>
      <a href="https://wiki.archlinux.org/index.php/Beginners'_Guide_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Beginners&#8217; Guide (日本語) &#8211; ArchWiki</a>
    </li>
  </ul>
</div>

<div id="outline-container-sec-6-2-1" class="outline-4">
  <h4 id="sec-6-2-1">
    Arch Linux のリリースを USB ドライブに書き込む方法
  </h4>

  <div class="outline-text-4" id="text-6-2-1">
    <ul class="org-ul">
      <li>
        <a href="https://wiki.archlinux.org/index.php/USB_Installation_Media_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">USB Installation Media (日本語) &#8211; ArchWiki</a>
      </li>
      <li>
        <a href="https://wiki.archlinux.org/index.php/Installing_Arch_Linux_on_a_USB_key">Installing Arch Linux on a USB key &#8211; ArchWiki</a>
      </li>
    </ul>
  </div></p>
</div>

<div id="outline-container-sec-6-2-2" class="outline-4">
  <h4 id="sec-6-2-2">
    パーティションの切り方
  </h4>

  <div class="outline-text-4" id="text-6-2-2">
    <ul class="org-ul">
      <li>
        <a href="https://wiki.archlinux.org/index.php/Partitioning_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#GPT_.E3.81.8B_MBR_.E3.81.AE.E9.81.B8.E6.8A.9E">Partitioning (日本語) &#8211; ArchWiki</a>
      </li>
      <li>
        <a href="http://blog.volment.com/archives/=47">実は簡単Arch Linuxのインストール手順! | volment</a>
      </li>
      <li>
        <a href="http://qiita.com/syui/items/1ffec0f12c253cda122b">awesome &#8211; ArchLinuxのGUI環境設を整える vol.1 &#8211; Qiita</a>
      </li>
    </ul>
  </div></p>
</div>

<div id="outline-container-sec-6-2-3" class="outline-4">
  <h4 id="sec-6-2-3">
    デュアルブート関係
  </h4>

  <div class="outline-text-4" id="text-6-2-3">
    <ul class="org-ul">
      <li>
        <a href="https://wiki.archlinux.org/index.php/Windows_and_Arch_Dual_Boot_(%E6%97%A5%E6%9C%AC%E8%AA%9E)">Windows and Arch Dual Boot (日本語) &#8211; ArchWiki</a>
      </li>
      <li>
        <a href="https://wiki.archlinux.org/index.php/GRUB_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#UEFI-GPT_.E3.83.A2.E3.83.BC.E3.83.89.E3.81.A7.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.81.95.E3.82.8C.E3.81.9F_Windows_.E3.81.AE.E3.83.A1.E3.83.8B.E3.83.A5.E3.83.BC.E3.82.A8.E3.83.B3.E3.83.88.E3.83.AA">GRUB (日本語) &#8211; ArchWiki</a>
      </li>
      <li>
        <a href="http://d.hatena.ne.jp/godai_0519/20140128/1390919028">ThinkPad X240をArch Linuxとのデュアルブートにするメモ &#8211; 堕(惰)プログラマ開発記録</a>
      </li>
      <li>
        <a href="https://spica.pw/blog/archives/=157">x240にArchとWindows8.1を共存させる | In the Spica</a>
      </li>
    </ul>
  </div></p>
</div></p>

その他

<div class="outline-text-3" id="text-6-3">
  <ul class="org-ul">
    <li>
      <a href="https://qiita.com/tags/archlinux">archLinuxに関する32件の投稿 &#8211; Qiita</a>
    </li>
    <li>
      <a href="http://qiita.com/xorphitus/items/3711895eb5d9f946c782">Arch Linux快適デスクトップ環境の構築 &#8211; Qiita</a>
    </li>
    <li>
      <a href="http://futurismo.biz/archives/2064">Windowsと Mint Linuxのデュアルブート環境をVAIOに構築した手順メモ | Futurismo</a>
    </li>
  </ul>
</div></p>