labunix's blog

labunixのラボUnix

FreeBSD 10.1 RC4をインストールしてみた。

■FreeBSD 10をインストールしてみた。
 GNUコマンドの拡張が便利な事が多いけど、
 10年近くのブランクを経て、BSDもよく触る事になりそうなので。。。

■Debian GNU/Linuxでダウンロード

$ FTPSITE="ftp://ftp3.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/10.1/"; \
  wget $FTPSITE/FreeBSD-10.1-RC4-amd64-dvd1.iso

■以下を参考にインストール。
 「BSDもこんなに簡単になったんだ。」と、無駄にインストーラを見て感動。
 (※個人の見解です。。。)

 FreeBSDのインストールとGUI環境構築前に行う作業
 http://silversack.my.coocan.jp/bsd/xfce410x-installfreebsd.htm

■FreeBSD10のrootユーザのデフォルトシェル

# echo $SHELL
/bin/csh

■「toor」ユーザがはじめから用意されている。
 パスワードを設定すれば使えるが、今回はスルーする。

# grep toor /etc/passwd 
toor:*:0:0:Bourne-again Superuser:/root:

■英語キーボードで記号を打つ制限はコンソール時だけ。
 sshでリモート作業する分には不要。
 毎回コンソールを使う環境だと面倒なので、101キーボードをjp106に変更。
 再起動後も有効にするには、「/etc/rc.conf」に追記

# kbdcontrol -l /usr/share/syscons/keymaps/jp.106.kbd
# echo 'keymap="jp.106"' | tee -a /etc/rc.conf >/dev/null
# tail -1 /etc/rc.conf
keymap="jp.106"

■「su」出来るユーザに変更。
 インストール時に追加グループで「wheel」を追加していれば不要。

# grep wheel /etc/group
wheel:*:0:root
# sed -i '' -e s/"wheel.*"/"&,labunix"/g /etc/group 
# grep ^wheel /etc/group 
wheel:*:0:root,labunix

■「su」して、シェルを「sh」に。

$ su
# /bin/sh

■プロキシを設定してアップデート

# export HTTP_PROXY="http://192.168.41.1:3128"
# freebsd-update fetch
# freebsd-update install

■pkgユーティリティのインストール

# pkg bootstrap

■「bash」のインストール

# pkg install ports-mgmt/portmaster
# pkg install ports-mgmt/psearch
# pkg search ^bash
bash-4.3.30
bash-completion-2.1_3,1
bash-static-4.3.30
bashburn-3.1.0
bashc-3.2.33.0_1

# echo "y" | pkg install bash

■ネットワーク設定の追加

# grep ifconfig /etc/rc.conf
ifconfig_em0="inet 192.168.41.128 netmask 255.255.255.0"

# echo 'ifconfig_em1="inet 192.168.31.128 netmask 255.255.255.0"' | tee -a /etc/rc.conf > /dev/null
# tail -1 /etc/rc.conf
ifconfig_em1="inet 192.168.31.128 netmask 255.255.255.0"

■普段のエディタ操作まで「vi」だと面倒なので「vim」にする。

# pkg search ^vim
vim-7.4.430_2
vim-lite-7.4.430
vimb-2.6_1
vimpager-1.8.9

# echo "y" | pkg install vim

■ユーザのデフォルトのエディタだけをvimにする。

$ echo "EDITOR=vim" | tee -a .profile

■ユーザのデフォルトシェルをbashにする。

# whereis bash
bash: /usr/local/bin/bash /usr/local/man/man1/bash.1.gz /usr/ports/shells/bash
# grep bash /etc/shells 
/usr/local/bin/bash
/usr/local/bin/rbash

# grep /bin/sh /etc/passwd
labunix:*:1001:1001:labunix:/home/labunix:/bin/sh
# sed -i "" -e s%"/bin/sh"%"/usr/local/bin/bash"% /etc/passwd
# grep /bin/bash /etc/passwd
labunix:*:1001:1001:labunix:/home/labunix:/usr/local/bin/bash
# exit
$ exit
$ login
$ echo $SHELL
/usr/local/bin/bash

■プロキシを設定

# echo 'export HTTP_PROXY="http://192.168.1.1:3128"' | \
  awk '{print $0"___"$0"___"$0"___"$0}' | \
  sed -e 's/HTTP_PROXY/http_proxy/' \
      -e 's/HTTP_PROXY/ftp_proxy/'  \
      -e 's/HTTP_PROXY/FTP_PROXY/'  \
      -e 's/___/\
/g' | tee -a /etc/profile >/dev/null

# tail -4 /etc/profile
export http_proxy="http://192.168.1.1:3128"
export ftp_proxy="http://192.168.1.1:3128"
export FTP_PROXY="http://192.168.1.1:3128"
export HTTP_PROXY="http://192.168.1.1:3128"
# exit
$ exit
$ login
$ echo $ftp_proxy
http://192.168.1.1:3128

■sudoを設定

$ su
# echo "y" | pkg install sudo
# echo '%wheel ALL=(ALL) ALL' | \
  tee -a /usr/local/etc/sudoers.d/00_local >/dev/null && \
  chmod 440 /usr/local/etc/sudoers.d/00_local
# exit

■sudoだとexportしたプロキシの設定を引き継げない。

$ sudo env | grep -i proxy

■なのでプロキシを必要とする作業はsuするかユーザ自身の権限で行う。
 確認ついでにw3mをインストール。

$ su root -c 'echo "y" | pkg install w3m'
$ w3m -dump http://google.co.jp | tail -2
                       (C) 2013 - プライバシーと利用規約
$ w3m -no-proxy -dump http://google.co.jp
w3m: Can't load http://google.co.jp.

■電源を切ってみる。
 Linuxの感覚で「shutdown -h now」すると、電源はいつまでも切れないので注意。

$ sudo shutdown -p now && exit