DebianをUSBメモリにインストール

カテゴリ: Linux

手順のみ。最小構成のDebianなら、USBメモリは1GBあれば十分。

まず、USBメモリにパーティションを作成し、ext4でフォーマットする。
それを適当な場所にマウントしておく。

UNetbootin をインストール。
Ubuntu 等なら apt-get で次の通りインストールできる。

$ sudo apt-get install unetbootin

UNetbootin を起動する。

$ unetbootin

「ディストリビューション」はDebian Stable_NetInstall_x64 (64-bit OS の場合)、
「タイプ」はUSBドライブ、ドライブはUSBメモリの位置をそれぞれ選択。
USBメモリのフォーマットやマウントができていないと、
UNetbootin による書き込みができない。
以上の設定で UNetbootin により書き込む。

PCを起動し、いま書き込んだUSBメモリからOSを起動させる。
Debian の見慣れたインストーラが出てくるので、いつも通りにインストールする。
このインストールは、USBメモリ上で行われる。
GRUB も忘れずにインストールする。

以上を経て、USBメモリにめでたくDebianがインストールできる。

2014/3/18 (火)

Logwatch in Debian Squeeze

カテゴリ: Linux

作業ログのつもりで置いている blog だけれど、結局全然書いてない。。

Debian Squeeze (6.0.6) の動いているマシンに logwatch を入れてログ監視をしているのだが、
pam_unix の解析でおかしな挙動をしていたのでデバッグをした。そのログ。

続きを読む »

2012/12/01 (土)

ddでバックアップ

カテゴリ: Linux

備忘録.

HDDなどのブロックデバイスをまるごとコピーしてバックアップする.
たとえば /dev/sda のバックアップ /var/images/hdd.img にとる場合,
そのドライブをアンマウントした状態で,root権限で次の作業を行う.

# dd if=/dev/sda of=/var/images/hdd.img bs=1024k

ifはコピー元,ofはコピー先,bsはブロックサイズ.
ifとofを取り違えると悲惨なことになるので要注意.
パーティション単位でコピーする場合は
/dev/sda1, /dev/sda2, … などをifに指定する.
コピー前にあらかじめマウントして調べておくとよい.

SSH経由で別のホストにコピーする場合は次のようにする.

# dd if=/dev/sda bs=1024k | ssh user@host dd of=/var/images/hdd.img bs=1024k

なぜこれで動くかは dd と ssh の man を読めばわかる.

バックアップしたイメージファイルはHDDそのままのイメージなので,
適切にマウントしてやればふつうに読み書きができる.
結論からいえば,/mnt にマウントするとすれば,

# mount -o loop /var/images/hdd.img /mnt

ないしは

# mount -o loop,offset= /var/images/hdd.img /mnt

を叩くことになる.

# mount /var/images/hdd.img /mnt

ではマウントできない.
hdd.img はファイルであって,ブロックデバイスではないからである.
そこでループバックデバイスとして読むように
-o loop オプションをつける.
/dev/sda2 などのコピーではなく
HDD全体をコピーしたような場合は,
パーティションの先頭までのオフセットまで指定する必要がある.
オフセットの値は fdisk で調べて計算する.

# fdisk -l -u /var/images/hdd.img

-u はセクタ単位で取得できるので,
Startの値にセクタのバイト数をかければよい.
参考文献: ddで作成したHDDイメージをマウントする

2012/1/21 (土)