2009年4月18日土曜日

[Obsolete] Ubuntu 8.10 で USB 無線 LAN アダプタ (Buffalo WLI-UC-GN) を使う

この投稿は情報が古くなりました (2009/06/23)
こちらを参照してください。
Ubuntu で USB 無線 LAN アダプタ (Buffalo WLI-UC-GN) を使う (更新版)

Buffalo の USB 無線 LAN アダプタ WLI-UC-GN を Ubuntu 8.10 で使えるように設定します。
(1,600 円ぐらい。安い! 小さい!)
参考
https://forums.ubuntulinux.jp/viewtopic.php?id=4376
無線LAN USB アダプタ Planex GW-USMicroN を Ubuntu で使う

1. 以下のサイトからドライバをダウンロード (カーネルモジュール)
http://www.ralinktech.com.tw/data/drivers/2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2

2. ダウンロードしたファイルを展開する

$ tar jxvf 2008_0925_RT2870_Linux_STA_v1.4.0.0.tar.bz2

3. os/linux/config.mk を編集する。

$ cd 2008_0925_RT2870_Linux_STA_v1.4.0.0/os/linux/
$ vi config.mk

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=n

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

を以下のように修正する
(WPA_SUPPLICANT 関連オプションを ”y” に変更)

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

4. WLI-UC-GN を PC の USB ポートに挿入し、デバイス ID を調べる。

$ lsusb
...
Bus 001 Device 003: ID 0411:015d MelCo., Inc.
...

5. 2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h を編集する。

$ cd ../../include
$ vi rt2870.h
#define RT2870_USB_DEVICES
の定義に以下を追加
 {USB_DEVICE(0x0411,0x015d)}, /* Melco */                \

6. make & make install する。
(make するには linux-headers-*** が必要)

$ cd ..
# make
# make install

/lib/modules/***/kernel/drivers/net/wireless 以下にコピーされない場合は、自分でコピーします。

# cp os/linux/rt2870sta.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/

7. insmod する。

# insmod /lib/modules/2.6.27-9-generic/kernel/drivers/net/wireless/rt2870sta.ko

カーネルのバージョンを変えたときには、再度インストールが必要 (6. の手順)

2009年3月22日日曜日

SkyGateForVNC II を使って実家の PC をリモート操作

実家の PC を買い換えました (最近のノート PC は安くなりました)。
これを機に、実家 (広島) の PC を自宅 (福岡) から操作できるようにしました。

■ 必要なソフト

ソフト説明
Skype (FreeWare)スカイプ
TightVNC (FreeWare)VNC ソフト
SkyGateForVNC II (ShareWare: 1,680 円)Skype の通信を経由して VNC の接続を行うソフト

■ 設定の概要 (実家側:広島)

・Skype, TightVNC, SkyGateForVNC II をインストール
・Skype, TightVNC サーバ が常に起動するように設定
・SkyGateForVNC II の設定: Server

・レジストリ変更 (これを忘れていて、はまった)

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3]
"AllowLoopback"=dword:00000000
↓
"AllowLoopback"=dword:00000001
(0 → 1 に変更) 

■ 設定の概要 (自宅側:福岡)

・Skype, TightVNC, SkyGateForVNC II をインストール
・Skype, TightVNC サーバ が常に起動するように設定
・SkyGateForVNC II の設定: Client

■ 接続方法

・実家側で SkyGateForVNC II を起動してもらう
・自宅側で SkyGateForVNC II を起動
・VNC Viewer で localhost に接続

これで OK。

■ レジストリ設定を簡単に変更する方法

今回、実家側 PC のレジストリ設定をするのを忘れてて、いざ、自宅から操作しようとすると、接続できませんでした orz。
調べてみると、レジストリを変更する必要がある模様。
でも、実家の親に REGEDIT を実行させるのは、ちょっと無理。かなり無理。

そんなときは、自宅の PC でレジストリを変更して、その設定をエクスポートして、reg ファイルを作り、
そのファイルを実家に送って、実行してもらえば OK。
PC を再起動してもらうと、接続できるようになりました (勉強になるなぁ)。

2009年2月24日火曜日

CD-RW に ISO イメージを焼く (CD-R も)

Linux で CD-RW (CD-R) に ISO イメージを焼きたいときがあります。
インストールディスクの作成とかで。
GUI でも作成できるのでしょうが (そのやり方を知りませんが(笑))、コマンドでやる方法があります。

Fedora 5 の頃は cdrecord コマンドを使用していましたが、
Fedora 7、Ubuntu 7.04 以降は、ライセンスの関係で wodim になったそうです。
試しに cdrecord コマンドを実行してみると。wodim にシンボリックリンクが張られています。

# cdrecord
wodim: No tracks specified. Need at least one.
Usage: wodim [options] track1...trackn

Use wodim -help
to get a list of valid options.

Use wodim blank=help
to get a list of valid blanking options.

Use wodim dev=b,t,l driveropts=help -checkdrive
to get a list of drive specific options.

Use wodim dev=help
to get a list of possible SCSI transport specifiers.

# which cdrecord
/usr/bin/cdrecord

# ls -l /usr/bin/cdrecord 
lrwxrwxrwx 1 root root 5 2008-06-08 01:47 /usr/bin/cdrecord -> wodim

さて、焼き方ですが。

1. まず、ドライブにメディアを挿入し、デバイス名を取得します。
 一般的には /dev/scd0 とかになると思います。

# dmesg
  または
# lv /var/log/messages

# wodim --devices
  でもいけるみたいですが、うちの環境ではダメでした。

2. 次に、CD-RW のディスクを初期化します (blank=all を指定した場合は遅いです)。

# wodim dev=/dev/scd0 blank=fast

3. CD-RW に ISO イメージを書き込みます (speed の値はドライブに応じて調整してください)
 書き込みが完了したら eject します。

# wodim speed=16 -eject boot.iso

CD-R の場合は 2. の初期化部分をとばせば OK。

2009年2月21日土曜日

ファイルの文字コードを一括変換 (find, nkf, xargs)

あるディレクトリ以下の全ファイルの文字コードを一括変換したいことがあります。
そんなときは以下のコマンドで処理します。
(カレントディレクトリ以下の全ファイルを UTF-8 に変換する場合)

$ find . -type f | xargs -n 10 nkf -w --overwrite

まず、find で ファイルを抽出 (-type f)、
抽出した結果を xargs に引数として渡し、nkf で処理します。

xargs のオプション "-n 10" は、引数を 10 個ずつ渡すの意。
ファイル数が多い場合は、引数を渡しきれないので、追加します (ファイル数が少ない場合は不要)。

以下でも同じ結果が得られますが、xargs を使った方が処理は速いです。

$ find . -type f -exec nkf -w --overwrite {} \;

nkf のオプション

オプション意味
-eEUC に変換
-sSJIS に変換
-wUTF-8 に変換
-jJIS に変換
-LuUNIX 改行コード (LF) へ変換
-LwWindows 改行コード (CR+LF) へ変換
-Lm(Macintosh 改行コード (CR) へ変換)
--overwriteファイルを上書き

● find, xargs, 個ずつ, nkf, 大量

2009年2月16日月曜日

bash のプロンプト設定

bash のプロンプト設定は、結構重要です。
これは覚えるものでもないので、ここにメモしておきます。

$ vi ~/.bashrc
PS1='\e[04m\u@\h\e[00m[\w]: '
を追加

軽く意味を説明します。
(あれ? バックスラッシュとエンマークの表示が変わってる…。エンマークはバックスラッシュに読み替えてください)

文字列意味
PS1プロンプトのシェル変数
\e[04mアンダーライン (開始)
\uユーザ名を表示
@@
\hホスト名を表示
\e[00m初期状態へ (アンダーライン終了)
[[
\w現在のディレクトリ (ホームディレクトリは "~" を表示)
]: ]:

こんな感じになります。

ohmoto@ubuntu-vbox[~]: cd /usr/src/
ohmoto@ubuntu-vbox[/usr/src]:

参考: BashとBashのプロンプト

2009年2月9日月曜日

rsync でバックアップを取る

ディレクトリのバックアップを取る場合、ベーシックな手段として rsync を使います。
(RAID とかでもいいですが、やっぱりこれが安心です)
差分しか転送しないので、コピーするより断然早いです。
cron と組み合わせて自動バックアップすることも良くやります。

# rsync -aAX --delete /home/ /Backup/home/

コマンドが間違っていないか、事前に -v, --dry-run オプションで確認しておくことが重要。

# rsync -aAXv --delete --dry-run /home/ /Backup/home/

■ 2016/05/06 追記
ssh 経由でリモート PC にバックアップを取る場合の例。

# rsync -aAX --delete -e ssh hogehoge/ USER@192.168.0.10:~/hogehoge/

■ 2021/02/16 追記
システム全体をフルバックアップする場合の例。

# rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/root2

● rsync, ssh, バックアップ, backup, exclude, ルート

2009年2月6日金曜日

Word, Excel で「読み取り専用を推奨」 設定にする

ファイルサーバ上で、自分が書いた Word や Excel の仕様書を期間をおいてから参照するときに、
「ただ参照したいだけなのに」
「間違って編集したら怖いなぁ」
と思うことが多々ありましたが、それを解決する良い設定がありました。
ファイル毎に設定することが可能です。

■ 「読み取り専用を推奨」を設定する方法

Word, Excel で、
  [ツール] → [オプション] → [セキュリティ]
  読み取り専用を推奨にチェックを入れる

この設定をしておくと、
ファイルを開く時に、「読み取り専用」にするか、「編集可能」にするか、選択できるようになります。

2009年2月5日木曜日

日本語ファイル名の文字コードを変換

Windows で作ったファイル名が日本語のファイルを Linux で扱う場合、文字化けすることがあります。
変換方法を以下にまとめます。

■ 日本語ファイル名の文字コードを確認する方法

まず、ファイル名の文字コードを調べます。

$ kcc -c filename

■ 日本語ファイル名の文字コードを変換する

以下のコマンドで変換します (ShiftJIS のファイルを UTF-8 に変換したい場合)。

$ convmv -r -f sjis -t utf8 * --notest

変換はせず、どうなるかを確認したい場合は、"--notest" オプションを外します。

$ convmv -r -f sjis -t utf8 *

● 日本語, ファイル名, File Name, 文字, コード

2009年2月2日月曜日

halt ユーザの作成方法 (Fedora)

Ubuntu の場合はこちら

■ halt ユーザについて

サーバの init レベルを 3 にしている場合、halt ユーザを作っておくと、
その端末にログインしなくてもシャットダウンができるようになるので便利です。
(例えば、会社の PC でシャットダウンし忘れて帰宅してしまった場合とか)
最初から GUI ログインにしておけば、こんな設定は不要だったりしまが…。
ただ、その場合はマウス操作が必要になるので、私はこっちが好きです。

参考: init レベル変更方法 (Fedora)

■ halt ユーザエントリを編集

# vipw
halt:x:7:0:halt:/sbin:sudo /sbin/shutdown -h now

■ halt ユーザの shadow パスワードの設定を削除

# vipw -s
(halt ユーザのパスワード部分を削除)

■ sudo 設定ファイルを編集

# visudo
(下記設定を追加)
halt  ALL=/sbin/shutdown -h now

この設定により、ログイン画面で halt と入力するだけで、シャットダウンできるようになります。

2009年2月1日日曜日

init レベル変更方法 (Fedora)

■ init レベル変更方法

サーバ用途の PC では X Window System は、あまり必要ありません。
その場合、Run Level を 3 (フルマルチユーザー テキストモード) で起動します。
設定方法は以下のとおり。

# vi /etc/inittab
(id:5:initdefault: の行の 5 を 3 に変更)
id:3:initdefault: