Hatena::Grouplinux2

Going My Linux Way このページをアンテナに追加 RSSフィード

2014年11月17日(月)

Ubuntu インストールにしたこと/することメモ

| 06:45 |  Ubuntu インストールにしたこと/することメモ - Going My Linux Way を含むブックマーク はてなブックマーク -  Ubuntu インストールにしたこと/することメモ - Going My Linux Way  Ubuntu インストールにしたこと/することメモ - Going My Linux Way のブックマークコメント

Ubuntuインストールにしたこと/することのメモ

時刻・日時の確認

インストーラインストール中にタイムゾーンを 「Tokyo」 にしておけば問題ないはずだが、カレンダや date コマンドで時刻・日付があっているか確認する。

ネットワークインタフェースIPアドレスの設定

私のローカルネット環境では DHCP を運用していないので、手動でIPアドレスを設定する。後々、仮想ブリッジの設定とともに /etc/network/interfaces に設定するつもりだが、ここではとりあえずパッケージの更新作業のために設定しておく。

「システム設定」->「ネットワーク」で IPアドレスを設定する。

この時、MTU は 1454 に設定する。(私の環境では、NTT東日本Bフレッツ光を使用しているので)

言語サポート

「システム設定」->「言語サポート」を起動して言語サポートを確認する。

この時「不完全な言語サポート」というダイアログが表示されれば、それに従い(追加のインストールを行い)問題を解消する。

追加のドライバ

「システム設定」->「ソフトウェアアップデート」->「追加のドライバ」タブで作業する。

私の環境では追加のドライバはないはずなので確認のみ。

sudoers の設定

sysadmin (インストーラで作成したアカウント)と lnznt (普段使う予定のアカウント)で sudo した時にパスワード入力を省略するできるように設定する。

端末から以下のコマンドを入力すると、エディタで sudoers の設定ファイルが開かれる。

$ sudo visudo

以下の行を追加して Ctrl-O(保存)、Ctrl-X(終了)で変更を保存して終了する。

sysadmin ALL=(ALL:ALL) NOPASSWD: ALL
lnznt    ALL=(ALL:ALL) NOPASSWD: ALL

上の設定は、どのホストでどのユーザ:グループに変身してどのコマンドを sudo で実行してもパスワードなしで行える設定である。セキュリティ的にはかなり雑なので気になる場合は調整する。

lnznt はまだ作成してないアカウントだが設定だけしていても問題はない。

上の設定ファイルの保存後、sysadmin で sudo してもパスワードなしで行えるようになっている。

パッケージの更新

パッケージを更新する。

$ sudo apt-get update
$ sudo apt-get -y dist-upgrade
$ sudo apt-get -y upgrade          # 念のため実行
$ sudo apt-get -y autoremove

この更新の後、言語サポートの更新が必要かもしれない。

その場合、Unity では「情報があります」ダイアログが表示される。

念のため、「システム設定」->「言語サポート」を開いてもよい。

パーティションのラベル付け

パーティションにラベルがついてなくても特に問題ないが、私はつけるようにしている。

インストーラでフォーマットしたパーティションにはラベルがついていないので付ける。(付いている場合は付け直す必要なし)

xfs の場合はアンマウントした状態、swap の場合は swapoff した状態でラベルを付ける。

ext4 の場合(例:/dev/sda5 にラベル ROOT1 をつける)

$ sudo e2label /dev/sda5 ROOT1                # ラベル付け 
$ sudo dumpe2fs /dev/sda5 | head              # 確認

xfs の場合(例:/dev/sda6 にラベル ROOT2 をつける)

$ sudo xfs_admin -L ROOT2 /dev/sda6           # ラベル付け
$ sudo xfs_admin -l /dev/sda6                 # 確認

swap の場合(例:/dev/sda3 にラベル SWAP1 をつける)

$ sudo swapoff /dev/sda3           # スワップ無効
$ sudo mkswap -L SWAP1 /dev/sda3              # 確認
$ sudo swapon /dev/sda3                       # スワップ有効
$ sudo swapon -s                              # スワップ状態の確認

HOME1 のマウント設定

私は普段使う lnznt アカウントのホームディレクトリを2台目のHDDに作成して、Ubuntu インストールの世代を超えて使い回ししている。

このホームディレクトリは /home1 にマウントしている。

また、該当パーティションには HOME1 というラベルをつけている。

$ sudo mkdir /home1
$ sudo vi /etc/fstab             # 以下で示す内容を追加する

/etc/fstab に追加する行

LABEL=HOME1 /home1 ext4 defaults 0 2

上の行を /etc/fstab に追加したら以下を実行してマウントを確認。

$ sudo mount -a
$ df -H

/tmp を tmpfs にする

上の作業のついでに行ってよいが、/etc/fstab に以下を追加する。

また、現在 /tmp へのマウントを指定している行は削除(コメントアウトでも可)する。

tmpfs /tmp tmpfs defaults,size=2G 0 0       # size= の値は任意 

で、確認。

$ sudo mount -a
$ df -H

この時、現在マウントされている /tmp はほっといてよい。二重にマウントされているが再起動した時にこの状態は解消されて、想定した通りになるはずである。

また、現時点で起動されていたプロセスが /tmp にアクセスしている場合、元の /tmp にマウントされているパーティションにアクセスしたままになっているので、その場合はそもそもアンマウントできない(はず)。

ちなみに、/etc/fstab

現時点の /etc/fstab の内容。これは参考まで。

LABEL=ROOT1 /       ext4    errors=remount-ro   0 1

LABEL=SWAP1 none    swap    sw                  0 0
LABEL=SWAP2 none    swap    sw                  0 0
tmpfs       /tmp    tmpfs   defaults,size=2G    0 0

LABEL=HOME1 /home1  ext4    defaults            0 2

ちなみに、/etc/fstab の内容を動的に反映させるには、mount -a (普通のマウントに関する更新)、swapon -a (スワップに関する更新)を使う。

普段使うアカウントを作る

私は、普段 lnznt アカウントを使うので、それを作ります。

(インストーラでは sysadmin アカウントを作っています)

私は、以下のようなスクリプトを使って作成します。

user_add_lnznt.sh

#!/bin/bash
PATH=/usr/bin:/bin:/sbin:/usr/sbin
unset sudo
unset debug

#set -x
#debug=echo

[ "$LOGNAME" = "root" ] || sudo=sudo

name=lnznt
fullname="$name"
uid=3001
gid=$uid
shell=/bin/bash
groups=adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare    # for Ubuntu
#groups=adm,cdrom,dip,wheel # for CentOS

[ "$1" = "" ] && home_dir=-m || home_dir="-d $1"

$debug $sudo groupadd -g $gid $name &&\
$debug $sudo useradd -u $uid -g $name -G $groups -s $shell -c "$fullname" $home_dir $name &&\
$debug $sudo passwd $name

上のスクリプト引数にホームディレクトリを指定します。指定しない場合はホームディレクトリを新規作成します。

ホームディレクトリは /home1/lnznt にしたいので、それを指定して実行します。

スクリプトを実行するとアカウントパスワードの入力を促されるので(確認を含めて2回)入力します。

$ sudo bash user_add_lnznt.sh /home1/lnznt

/etc/hosts の修正

/etc/hosts を修正します。

ホスト名が 127.0.1.1 についているので、NIC に設定したIPアドレス(私の場合は、192.168.1.101)に修正します。

127.0.0.1       localhost
192.168.1.101   linux01.localdomain     linux01   # <-- この行を修正した

Grub 設定の更新

する必要はありませんが、 Ubuntu 14.10 インストール計画 - Going My Linux Way - りなっくすいろいろ で行った Grub の更新を行いました。(Live CD を起動するメニューを付けておきたかったので)

sysctl

する必要はありませんが、Ubuntu 14.04 で RWIN 調整 - Going My Linux Way - りなっくすいろいろ で行ったネットワーク関連のパラメータの変更を行いました。

この辺で一旦リブート

lnznt アカウントを作成したので、一旦現在のアカウント(私の環境はsysadminです)からログアウトして、lnznt でログインします。

ログインしたらとりあえず以下を確認します。

$ id          # uid などが想定した通りか?
$ pwd         # ホームディレクトリは想定した通りか?

「システム設定」->「ユーザアカウント」でlnzntの自動ログインを有効にします。(私はそういう設定にしています)

ここで、システムをリブートします。

リブートする時/した時に、Grub のメニューは想定通りか?,自動ログインはしたか?df -H を見てパーティションやマウントの状態は想定通りか?などを確認します。

パッケージのインストール

普段使うパッケージを追加でインストールします。

私は以下のようなスクリプトを使用します。

install-packages.sh

#!/bin/bash
PATH=/usr/bin:/bin:/sbin:/usr/sbin
unset debug
unset sudo

#set -x
#debug=echo

[ "$LOGNAME" = "root" ] || sudo=sudo

$debug $sudo apt-get update

cat $@ | while read pkg x
do
    [ "$pkg" = "" ]             && continue
    echo $pkg | grep -q "^#"    && continue

    $debug $sudo apt-get -y install $pkg
done

$debug $sudo apt-get -y upgrade
$debug $sudo apt-get -y autoremove

スクリプト引数にパッケージが記述されたファイル名を必要とします。

パッケージが記述されたファイル(ここではpackage-listとします)にはパッケージ名を1行に1つ書きます。

パッケージ名の頭に「#」をつけた場合、スクリプトではコメントアウトとみなします。また、空行を無視します。1行のなかにパッケージ名以外を書いてもも無視します。

package-list (の例...というか、今回入れたパッケージです)

vim-gtk
synaptic
gparted
ubuntu-virt
#lvm2
clamtk-nautilus clamtk clamav
gnupg-agent
#cryptsetup
#cryptsetup-bin
#cryptmount
keychain
#john

xfsprogs
xfsdump
quota

#selinux-utils
#policycoreutils
#attr

nautilus-open-terminal
gnome-sushi
seahorse-nautilus
nautilus-wipe
nautilus-compare
nautilus-gtkhash gtkhash
nautilus-filename-repairer
###nautilus-image-manipulator
nautilus-image-converter
nautilus-actions
eiciel

gnome-tweak-tool
unity-tweak-tool

tree
nkf
colordiff
colortail
byobu

p7zip-full

biff
sysvbanner
sl

sysstat
isag
memstat
procinfo
acct

gimp
gimp-data-extras
inkscape
geeqie
gnome-xcf-thumbnailer
ubuntu-restricted-extras

ssh
#apache2
nginx

#xfce4

bridge-utils
wireshark
nmap

manpages-ja
manpages-ja-dev
manpages-posix
manpages-posix-dev

global
cproto
indent
colormake
bison
flex
doxygen-gui
graphviz
markdown
#autoconf
#libtool
ccache
#distcc
ant
#cmake

rcs
git
#mercurial
#bzr

#sqlite3
#mongodb

#ruby
#rake
#pry
#racc

erlang
ghc
hugs
#swi-prolog
#gprolog
#clojure1.4
#coq coqide
#scala
#gforth
#golang
#groovy
#gauche
#ocaml
#gnu-smalltalk
#scratch
#nodejs
#coffeescript

defualt-jdk
clang
llvm
g++

#g++-arm-linux-gnueabihf
#qemu-user
#qemu-user-static

スクリプトは以下のように実行します。

$ sudo bash install-package.sh package-list

パッケージ追加後の設定

仮想ブリッジ

KVM などのネットワークインタフェースとして使いたいので仮想ブリッジの設定をします。この作業は bridge-utils パッケージが追加された後に行えます。

作業は以下の記事を参考にします。

virbr0

KVMインストールすると作成される virbr0 を削除します。(使わないので)

作業は以下の記事を参考にします。

XCFサムネイルを表示させる

Nautilus で xcf サムネイルを表示させたいので設定します。

この作業は、gnome-xcf-thumbnailer が追加された後に行えます。

作業は以下の記事を参考にします。

libdvdcss

ubuntu-restricted-extras パッケージをインストールした後、libdvdcss を追加でインストールすると商用DVDの再生ができるようになります。

libdvdcss のインストール方法は以下。

$ cd /usr/share/doc/libdvdread4/
$ sudo sh install-css.sh
/var/www/html

ホームディレクトリにあるコンテンツを Webサーバでサーブしたいので、/var/www/html 以下にリンクを張ります。

この作業は、apache2 が追加された後に行えます。

以下は作業例です。ローカルのコンテンツは ~/var/lib/www/ にあるとします。またURIパスは mysite (http://localhost/mysite/ でアクセスできるよう)にします。

(私はApache の ~ユーザでアクセス機能は使いません)

$ cd /var/www/html
$ sudo ln -s ~/var/lib/www/html mysite

その他のソフトウェアインストール

以下は Ubuntu にパッケージがないか、あるいは公式サイトで配布しているバージョンを使いたいソフトのインストールの紹介です。

Firefoxdeb ファイルをダウンロードする場合、ヘルパとしてUbuntuソフトウェアセンターを指定できます。指定した場合そこから直接インストールできます。

Ubuntu Tweek

便利なので入れてます。

以下のサイトに deb があります。

Iron

Chrome の亜種です。私はこちらを使ってます。

以下のサイトに deb があります。

Pharo

Smalltalk処理系です。ドットインストールのレッスンで紹介されてました。

以下のサイトにダウンロードインストールの方法が記載されています。

Virtual Box

Ubuntu のパッケージにありますが、公式サイト配布のものを使ってます。

以下のサイトに deb があります。

Vagrant

Ubuntu のパッケージにありますが、公式サイト配布のものを使ってます。

以下のサイトに deb があります。

Eclipse / Android Studio

EclipseUbuntu のパッケージにありますが、公式サイト配布のものを使ってます。

以下のサイトに zip があります。ダウンロードして展開して使用します。

Ruby

Ubuntu のパッケージにありますが、公式サイト配布のものを使ってます。

以下のサイトからソースを入手してビルドします。


----

以上です。ご参考まで。

トラックバック - http://linux2.g.hatena.ne.jp/lnznt/20141117