Debian 化した玄箱が起動しなくなってしまった.結局原因はわからなかったが,再セットアップの記録を残す.背面のリセットスイッチを押したまま起動して EM モードにしても外部から接続できなかったため,HDD を取り出して PC に接続して,第 1 パーティションを書き換えた.その後,起動した玄箱を操作した.
イメージファイルの展開
# mke2fs -j /dev/hdc1
# mount -t ext3 /dev/hdc1 /home1
# cd /home1
# tar xvzf /tmp/debian-etch-2.6.25.1-kuroBOX-20090317.tgz
第 1 パーティションを破壊したあと,『玄箱/Debian/インストール』から得たイメージファイルを,マウントした第 1 パーティションにて展開した.
蛇足だが,HDD を廃棄・譲渡する前など,復元が難しくなるよう消去するには以下のようにする.
# dd if=/dev/zero of=/dev/hdc1
# shred --iterations=1 --zero /dev/hdc1
ネットワークの設定
vi etc/network/interfaces
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
このように,必要な行を書き換えた.その他,etc/hosts
,etc/hostname
,etc/hosts.allow
,etc/hosts.deny
,etc/resolve.conf
を編集したあと,再度玄箱を組み立てて起動した.
ユーザアカウントの設定
% telnet 192.168.0.100
...
kuro login: tmp-kun
...
Linux kuro 2.6.25.1-kurobox #10 Sun May 4 21:50:38 JST 2008 ppc
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
1 failure since last login.
Last was Sun Mar 21 09:46:21 2010 on pts/0.
telnet でログイン.
tmp-kun@kuro:~$ su - root
kuro:~# passwd
まずは root のパスワードを変更した.
kuro:~# groupadd --gid 1001 radio
kuro:~# useradd --home-dir /home/radio --gid 1001 --create-home --uid 1001 --shell /bin/bash radio
kuro:~# passwd radio
自分のユーザを追加.
% telnet 192.168.0.100
ログインできることを確認.
kuro:~# userdel tmp-kun
kuro:~# rm -r /home/tmp-kun
テンポラリユーザ tmp-kun
を削除.
# useradd --home-dir /nonexistent --gid 1000 --uid 1000 --shell /bin/false note
# useradd --home-dir /mnt/tm --gid 1001 --uid 1002 --shell /bin/false tm
ついでに私はここで,必要なユーザを追加した.
パッケージのアップグレード
kuro:~# vi /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
deb http://ftp.jp.debian.org/debian-volatile/ etch/volatile main contrib non-free
既存の行はすべて無効にして,上記 2 行を追加 (参考:『Debian JP Project - ミラーサイトについて』).
kuro:~# apt-get update
W: GPG error: http://ftp.jp.debian.org etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9AA38DCD55BE302B
kuro:~# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B
kuro:~# gpg --armor --export 9AA38DCD55BE302B | apt-key add -
この対処法は,検索の結果『GPG errorからの回復メモ - プロキオンのはてな』から得た.
kuro:~# apt-get update
kuro:~# apt-get upgrade
必要パッケージのインストール
kuro:~# apt-get install ssh sudo jed jless ntp samba rsync ssmtp
途中,samba
のインストールのために Workgroup/Domain Name の入力を求められた.
ssh
% ssh 192.168.0.100
radio@kuro's password:
radio@kuro:~$
SSH でログインできることを確認.
kuro:~# apt-get remove telnetd
telnetd
を削除.
sudo
kuro:~# visudo
kuro:~# cat /etc/sudoers
radio ALL=(ALL) ALL
上記行を追加.
ntp
kuro:~# vi /etc/ntp.conf
kuro:~# /etc/init.d/ntp restart
ssmtp
kuro:~# vi /etc/ssmtp/ssmtp.conf
root=xxxxxxxx+kuro@gmail.com
mailhub=xxxxxxxx.smtp.xxxxxxx.or.jp:xxx
rewriteDomain=kuro.local
hostname=kuro.local
FromLineOverride=NO
AuthUser=xxxxxxxx
AuthPass=........
AuthMethod=LOGIN
# echo test | sendmail root
私は試していないが,mailhub を gmail にする設定もできるようだ (『Send Mail with Gmail and sSMTP』).
kuro:~# apt-get remove exim
exim
を削除.
jless
kuro:~# vi /etc/profile
export PAGER=jless
alias less=jless
bash
での設定をするため,上記を追加.
samba
kuro:~# vi /etc/samba/smb.conf
[global]
dos charset = CP932
workgroup = WORKGROUP
server string = %h server
security = SHARE
obey pam restrictions = Yes
passdb backend = tdbsam
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
load printers = No
printcap name = /dev/null
dns proxy = No
ldap ssl = no
panic action = /usr/share/samba/panic-action %d
invalid users = root
create mask = 0644
[arch]
path = /mnt/arch
guest only = Yes
guest ok = Yes
[temp]
path = /mnt/temp
force user = nobody
force group = nogroup
read only = No
guest only = Yes
guest ok = Yes
[gt]
path = /mnt/gt
valid users = radio
force user = radio
force group = radio
read only = No
create mask = 0600
directory mask = 0700
browseable = No
[tm]
path = /mnt/tm
valid users = tm
force user = radio
force group = radio
read only = No
create mask = 0600
directory mask = 0700
browseable = No
[tp]
path = /mnt/tp
force user = nobody
force group = nogroup
read only = No
guest only = Yes
guest ok = Yes
browseable = No
kuro:~# /etc/init.d/samba restart
kuro:~# smbpasswd radio
kuro:~# smbpasswd tm