Quantcast
Channel: NKBMobile のメモ
Viewing all 42 articles
Browse latest View live

iMac-10 USBシリアル

$
0
0
・corega CG-USBRS232R ケーブルのドライバインストール

http://www.prolific.com.tw/ で GUEST ログインして、
md_PL2303_MacOSX10.6up_v1.5.0.zip をダウンロード

/System/Library/Extensions/ProlificUsbSerial.kext/Contents/Info.plist
を以下のように変更した。coregaのDevice ID は 07aa:002a。
43c43
< 067B_2303
---
> 07aa_002a
56c56
< 8963
---
> 42
58c58
< 1659
---
> 1962
・kermitのインストールと起動
$ brew install c-kermit

$ /usr/local/bin/kermit
Connecting to /dev/tty.usbserial, speed 115200
Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------

iMac-11 Eclipse

$
0
0
・Eclipse Juno(ユーノー) 4.2 SR2 Packages のダウンロード
Eclipse IDE for Java Developers, 150 MB 行の左 Mac OS X(Cocoa 64) を選ぶ。
ダウンロードして展開する。
% ls -l eclipse-java-juno-SR2-macosx-cocoa-x86_64.tar.gz
157230106 2 27 03:00 eclipse-java-juno-SR2-macosx-cocoa-x86_64.tar.gz
% shasum eclipse-java-juno-SR2-macosx-cocoa-x86_64.tar.gz
bf8544b84eb42b00d421958ad9705cad7257db30 eclipse-java-juno-SR2-macosx-cocoa-x86_64.tar.gz

% tar zxf eclipse-java-juno-SR2-macosx-cocoa-x86_64.tar.gz
% mv eclipse /Applications
・Babelで日本語化
help>Install New Software
Work with: type or select a site の右 Add Repository
Name: Babel Update Site
Location: Babel Language Pack Update Site for Juno
http://download.eclipse.org/technology/babel/update-site/R0.10.1/juno
Babel Language Packs in Japanese を選ぶ。20item selectedとなった。

・Android Plugin
ヘルプ>新規ソフトウェアのインストール
作業対象(w): https://dl-ssl.google.com/android/eclipse/
□Developer Tools  を選ぶ。
□NDK Plugins    はC/C++を使わないので選ばない。
・Android SDKの位置指定
Eclipse>環境設定>Android
SDK Location: /Users/username/android-sdks
・Android SDKのPATHの追加
:/Users/username/android-sdks/tools と
:/Users/username/android-sdks/platform-tools を追加する
・SDK Manager
ウインドウ>Android SDK Manager にて必要なSDK Platformを選ぶ。

iMac-12 Samba3

$
0
0
MacOSX 10.7.x(Lion)以降になってから、Android端末のESファイルエクスプローラからはユーザ名でファイル共有できなくなっていた。
brew の samba3 をインストールした。

(1)標準のファイル共有をオフにする
システム環境設定>ファイル共有:切
(2)netbiosdが動いているならオフにする
もし、</usr/local/Cellar/samba/3.6.8/var/log.nmbd>が
lib/util_sock.c:667(open_socket_in)
bind failed on port 137 socket_addr = 0.0.0.0.
Error = Address already in use
になるならば、
# lsof -nP -iUDP|grep netbiosd を見て、
netbiosd 71 _netbios 3u IPv4 0x9c1852d416cc8b7 0t0 UDP *:138
netbiosd 71 _netbios 4u IPv4 0x9c1852d416cca3f 0t0 UDP *:137
であれば、netbiosdを無効にする。
# launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist
(3)% brew install samba
</usr/local/Cellar/samba/3.6.8/etc/smb.conf>を用意する。
[global]
workgroup = WORKGROUP
server string = Samba 3.6.8
passdb backend = tdbsam
log level = 1
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0644
directory mask = 0775
valid users = %S
% testparmを確認。
・ユーザを追加する
# /usr/local/bin/smbpasswd -a username
New SMB password:
Retype new SMB password:
Forcing Primary Group to 'Domain Users' for username
Forcing Primary Group to 'Domain Users' for username
Added user username.
このsmbpasswdで/usr/local/Cellar/samba/3.6.8/private/passdb.tdbが変化したようだ。
(4)sambaの起動を考える
あまり美しくないが、以下の独自</usr/local/sbin/samba>スクリプトを使うことにする。
#! /bin/sh
#$Id: /usr/local/sbin/samba,v 1.0 2013-04-24 14:49:49+09 root$
if [ `whoami` != "root" ]; then
echo "Must be root."
exit 1
fi
case "$1" in
start)
/usr/local/sbin/nmbd -D
/usr/local/sbin/smbd -D
echo "Start samba"
ps -afx|grep -v egrep|egrep '^ UID|/usr/local/sbin/.mbd'
;;
stop)
killall smbd
killall nmbd
;;
status)
echo "Status samba"
ps -afx|grep -v egrep|egrep '^ UID|/usr/local/sbin/.mbd'
echo "----------------------------------------------------"
(cd /usr/local/Cellar/samba/3.6.8/var;ls -lh log.?mbd)
echo "#################################################"
echo "$ tail /usr/local/Cellar/samba/3.6.8/var/log.nmbd"
tail /usr/local/Cellar/samba/3.6.8/var/log.nmbd
echo "#################################################"
echo "$ tail /usr/local/Cellar/samba/3.6.8/var/log.smbd"
tail /usr/local/Cellar/samba/3.6.8/var/log.smbd
echo "#################################################"
/usr/local/bin/smbstatus
;;
*)
echo "Usage: $0 start|stop|status">&2
exit 3
;;
esac
exit 0
・このsambaスクリプトを起動時に以下のようにして動かす。
#私は .zprofile に追加している。
  ps ax|grep -v grep|grep /usr/local/sbin/smbd
if [ $? != 0 ]; then
sudo /usr/local/sbin/samba start
fi
・現状では、これらにて、MacOSX10.6.x Snow Leopard時代と同様に、Android端末のESファイルエクスプローラからユーザ名でファイル共有できるようになった。

Nexus7-01 4.2.2(JDQ39)

$
0
0
(1)Nexus7のAndroidバージョン4.2.2のOTA(Over-The-Air)を放置していたのを、バージョンアップした。


[再起動してインストール]を選ぶと、Androidバージョン4.2.1→4.2.2 ビルド番号JOP40D→JDQ39になった。が、Rootが外れた。

(2)Root化する
毎回ハラハラしながら試行錯誤で作業しており手順が明確でないので断片要素のみを記載する。
・ググって NRT_v1.6.3.sfx.exe をダウンロードして、Win7機で実行する。
Toolkit v1.6.3の起動時にSelect device[Nexus7(Wi-Fi Tablet)] Android [4.2.2 - Build JDQ39]を選ぶ。

・Nexus7側の設定
設定>開発者向けオプション(開発者向けオプションが表示されてなければビルド番号を7回タップ)>USBデバッグON にする。
#USBケーブルつないだとき「USBデバッグを許可しますか?このパソコンのRSAフィンガープリント: ... 常に許可する」チェックしてOK
設定>セキュリティ>提供元不明のアプリ も念のため「インストールを許可」にしておく。
・Toolkit でドライバ確認
USBケーブルをつなぎ[Full Driver Installation Guide -Automatic + Manual]ボタンを押して、ドライバテストする。ドライバ未導入のときはStep 1が必要かも。
ドライバ状態が問題なければ、Driver Test Results > Success! となる。

・Root化
いよいよ[Root]ボタンを押す。
本当に良いか[OK]ボタンを押す。すると再起動を繰り返した。
そしてsuccessfully rooted: や Enjoy your rooted device! ^_^ をみて安心した。
SuperSUのログを示す。ADB shellやTitanium Backupも無事動いた。
当方の環境は前回Root化済だったNexus7の再Root化です。このサイト を参照すると良いようです。

GalaxyNexus-01 4.2.2(JDQ39)

$
0
0
前出の Nexus7-01 4.2.2(JDQ39) 同様にGalaxyNexus(SC-04D)もNexus Root Tool kit(NRT_v1.6.3)にてアップデートした。

(1)NRT_v1.6.3を起動して、DeviceとBuildを選ぶ。
(2)USBケーブルをつなぎ[Full Driver Installation Guide -Automatic + Manual]ボタンを押しドライバ状態を確認したのち、[Flash Stock + Unroot]ボタンを押す。
次の画面で[OK]さらに[OK]を押す。

ダウンロードが始まり、
次々と書き込みステータスが現れて、これでAndroidバージョン4.2.1→4.2.2 ビルド番号JOP40D→JDQ39になったようだ。
ベースバンドバージョンは SC04DOMLE3→I9250XXLJ1 に変化した。
これはプラスエリアのサービスが使えなくなるという話のようだ。
 モバイル通信はXi契約のSIMにてspモードで問題なく設定できて、テザリングも機能している。
SC04DOMLE3 を保持したいときは、bigxie_maguro_OTA_JDQ39_odexed-signed.zip を使ってCWM(ClockWorkMod)にてアップデートするのが良いと思われる。

(3)Root化する
前出の Nexus7-01 4.2.2(JDQ39) 同様に[Root]ボタンを押す。

(4)SC04DOMLE3に戻す
ベースバンドバージョンを I9250XXLJ1→SC04DOMLE3 にする。
% md5 cwm-radio-SC04DOMLE3.zip
MD5 (cwm-radio-SC04DOMLE3.zip) = 7a6a5f7c1a7f5eeddd85ca551afdd817
をもらってきて、このradio.imgにて、
% md5 cwm-radio-SC04DOMLE3/radio.img
MD5 (cwm-radio-SC04DOMLE3/radio.img) = 31e0884665d878f2580a530aea93f5f5
cwm-radio-SC04DOMLE3>dir radio.img
2012/06/07 06:07 12,583,168 radio.img
Power+UP+DOWNのFastbootモードから、
cwm-radio-SC04DOMLE3>fastboot flash radio radio.img
sending 'radio' (12288 KB)... OKAY [ 2.053s]
writing 'radio'... OKAY [ 2.243s]
finished. total time: 4.316s
このように書き込んだ。
この機種はリファレンス機の用途で日常使わないが、戻せるならばとやってみた。

iMac-13 emacs-w3m

$
0
0
emacs-w3m をインストールする。

(1)w3m本体をbrewにてインストール
% brew install w3m
% /usr/local/bin/w3m -version
w3m version w3m/0.5.3, options lang=en,m17n,color,ansi-color,mouse,menu,cookie,ssl,ssl-verify,external-uri-loader,w3mmailer,nntp,ipv6,alarm,mark

(2)emacs-w3m は以下のようにインストール
% mkdir Develop; cd Develop
% touch ~/.cvspass
% cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot login
% cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m
% cd ..

% wget http://emacs-w3m.namazu.org/emacs-w3m-1.4.4.tar.gz
% tar zxf emacs-w3m-1.4.4.tar.gz
% mv emacs-w3m-1.4.4 emacs-w3m-1.4.4_cvs
% cp -r Develop/emacs-w3m/* emacs-w3m-1.4.4_cvs
% cd emacs-w3m-1.4.4_cvs
% ./configure --with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --prefix=/usr/local 2>&1 | tee configure_log
% make 2>&1 | tee make.log
% make install 2>&1 | tee make_install.log
% mv /usr/local/share/emacs/site-lisp/w3m /Applications/Emacs.app/Contents/Resources/site-lisp/

(3).emacs.d/init.el には以下のように追加
(require 'w3m-load)

(autoload 'browse-url-at-point "browse-url" nil t)
(autoload 'browse-url-at-mouse "browse-url" nil t)
(autoload 'browse-url-of-buffer "browse-url" nil t)
(autoload 'browse-url-of-file "browse-url" nil t)
(autoload 'browse-url-of-dired-file "browse-url" nil t)

(autoload 'w3m "w3m""Interface for w3m on Emacs." t)
(autoload 'w3m-find-file "w3m""Find a local file using emacs-w3m." t)
(autoload 'w3m-search "w3m-search""Search words using emacs-w3m." t)
(autoload 'w3m-weather "w3m-weather""Display a weather report." t)
(autoload 'w3m-antenna "w3m-antenna""Report changes of web sites." t)
(autoload 'w3m-namazu "w3m-namazu""Search files with Namazu." t)

(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map "w"'dired-w3m-find-file)))
(defun dired-w3m-find-file ()
(interactive)
(require 'w3m)
(let ((file (dired-get-filename)))
(w3m-find-file file)))

(4)emacs-w3mの実行例
M-x w3m-browse-url
Emacs-w3m URL: http://www.google.co.jp

#URL入力でブラウズするよりは、dird-modeのファイルリスト画面からローカルhtmlファイルにカーソルを置いて"w"コマンドでブラウズすることが多い。TABLEタグの罫線の処理はわりときれいに表示される。

iMac-14 GnuPG

$
0
0
GNU Privacy Guard (gpg)をインストールした。

(1)% brew install gpg

(2)公開鍵と秘密鍵の作成
% gpg --gen-key
gpg (GnuPG) 1.4.13; Copyright (C) 2012 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: 鍵輪「/Users/username/.gnupg/secring.gpg」ができました
gpg: 鍵輪「/Users/username/.gnupg/pubring.gpg」ができました
ご希望の鍵の種類を選択してください:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
選択は? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
= 鍵は n 日間で満了
w = 鍵は n 週間で満了
m = 鍵は n か月間で満了
y = 鍵は n 年間で満了
鍵の有効期間は? (0)
Key does not expire at all
これで正しいですか? (y/N) y

あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) "

本名: Firstname USERNAME
電子メール・アドレス: mailaddr@maildom.com
コメント:
次のユーザーIDを選択しました:
“Firstname USERNAME

名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O
秘密鍵を保護するためにパスフレーズがいります。
パスフレーズを入力:
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
.......+++++
..+++++
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
...............+++++
........+++++
gpg: /Users/username/.gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵8966XXXXを絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。

gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u
pub 2048R/8966XXXX 2013-05-02
指紋 = 37F6 3C6F E0C3 AAAA BBBB 4FF6 01B5 96BB XXXX YYYY
uid Firstname USERNAME
sub 2048R/E614XXXX 2013-05-02

% gpg --list-keys
/Users/username/.gnupg/pubring.gpg
---------------------------------
pub 2048R/8966XXXX 2013-05-02
uid Firstname USERNAME
sub 2048R/E614XXXX 2013-05-02

(3)gpgで暗号化の例
% cd /tmp; mkdir Dir; echo aaa > Dir/aaa.txt
% tar jcf Dir.bz2 Dir
% gpg -r 'Firstname USERNAME ' -e Dir.bz2
% ls -l Dir.bz2.gpg
-rw-rw-r-- 1 username wheel 493 5 2 23:08 Dir.bz2.gpg

(4)gpgで復号化の例
% gpg Dir.bz2.gpg
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“Firstname USERNAME
2048ビットRSA鍵, ID E614XXXX作成日付は2013-05-02 (主鍵ID 8966XXXX)
パスフレーズを入力:
gpg: 2048-ビットRSA鍵, ID E614XXXX, 日付2013-05-02に暗号化されました
“Firstname USERNAME

% tar jtvf Dir.bz2
drwxrwxr-x 0 username wheel 0 5 2 22:45 Dir/
-rw-rw-r-- 0 username wheel 4 5 2 22:45 Dir/aaa.txt

※/usr/bin/zipcloak にてパスワードをかけるよりは、gpgによる暗号化の方が安心な気がする。

iMac-15 gnu-sed

$
0
0
/usr/bin/sed が不満なので、gnu-sed をインストールする。
(1)brew installコマンド

% brew install gnu-sed
% /usr/local/bin/gsed --version | head -1
/usr/local/bin/gsed (GNU sed) 4.2.2
名前が gsed になるのは気に入らない。
% brew uninstall gnu-sed
% brew install --default-names gnu-sed
% ls /usr/local/bin/*sed*
/usr/local/bin/sed
オプションdefault-namesを付けると、gsedでなくsedになった。

(2)/usr/bin/sed の挙動は不満

% echo bbb | nkf -sc > bbb.txt ... CRLFのテキスト
% hexdump -C bbb.txt ... 行の終わりが 0xd 0xa のとき
00000000 62 62 62 0d 0a |bbb..|

標準コマンド sed でCRを削除したいとき、
cat bbb.txt | /usr/bin/sed -e 's/\r//g' | hexdump -C
00000000 62 62 62 0d 0a |bbb..|
/usr/bin/sed ではCRを削除できない。

(3)/usr/local/bin/sed では良好

GNUコマンド sed でCRを削除したいとき、
% cat bbb.txt | /usr/local/bin/sed -e 's/\r//g' | hexdump -C
00000000 62 62 62 0a |bbb.|
/usr/local/bin/sed ではCRを削除できる。
#環境変数PATHは/usr/local/binを先に指定しておく。
#tarも brew install --default-names gnu-tar としておこう。

obs600-13 Debian squeeze を wheezy に

$
0
0
6.0リリースから2年以上経過した2013年5月4日、Debian 7.0(コードネーム: wheezy)が公開された。 そこで、OBS600D をDebian squeeze から wheezy にアップデートした。
(1)sources.listをwheezyに編集して
# cat /etc/apt/sources.list
# Memo ... http://debgen.simplylinux.ch/
deb http://ftp.jp.debian.org/debian wheezy main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
(2)apt-getする
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
(3)ここで現行のlinux-2.6.36 だと問題発生
$ uname -a
Linux obs 2.6.36_obs600 #5 Mon Jun 20 18:01:14 JST 2011 ppc GNU/Linux

kernelが2.6.36だと、wheezyにしたあとの再起動で、
udevd[1019]: unable to receive ctrl connection: Function not implemented
udevdのメッセージが大量に出て、起動しなくなった。

udevは2.6.32からの有効な機能のようなので、
udev requires a kernel >= 2.6.32, not started ... failed!
一旦標準の2.6.29で立ち上げる。そしてudevパッケージを旧バージョンにすると
Function not implementedの大量メッセージは回避できるようなので、その手順をメモとして残す。
#もしくは2.6.36_obs600で起動は、(cd /etc/rcS.d;mv S02udev _S02udev)
#にてudevdを仮に起動しないようにするか。

(4)母艦iMacのtftpdを有効にする
imac2% sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
(5)uImage.initrd-cfbootの準備
% wget ftp://ftp.plathome.co.jp/pub/ssdlinux/0.5-20130606/powerpc-obs600/binary/kern.tgz
% tar zxf kern.tgz ./uImage.initrd-cfboot
% tar zxf kern.tgz ./lib/modules/2.6.29/
# lib/modules/2.6.29 が既にobs:/lib/modules/2.6.29にあれば転送せずともよい。
% scp -p ./uImage.initrd-cfboot imac:/private/tftpboot
# ただし/private/tftpboot は drwxr-xr-x root wheel になってる
(6)OBS600D本体DIP-SW1 ONにする
U-Bootプロンプトで停止させる

(7)115200bpsシリアルコンソールからtftp(imac2:192.168.1.61)uImage取得し起動
=> setenv bootargs root=/dev/sda1 rootdelay=15 console=ttyS0,115200
=> tftpboot 0x400000 192.168.1.61:uImage.initrd-cfboot
Using ppc_4xx_eth0 device (LANケーブルはeth0に接続)
TFTP from server 192.168.1.61; our IP address is 192.168.1.29
Filename 'uImage.initrd-cfboot'.
Load address: 0x400000
Loading: #################################################################
#################################################################
###############
=> bootm 0x400000

INIT: version 2.88 booting
[info] Using makefile-style concurrent boot in runlevel S.
[FAIL] udev requires a kernel >= 2.6.32, not started ... failed!
failed!
[ ok ] Setting parameters of disc: (none).
[info] Setting the system clock.


Debian GNU/Linux 7.0 obs600 ttyS0

obs600 login: root
Password:
2.6.29で使用可能な状態で起動した。

(8)udevをsqueeze版にバージョンダウンさせる
# dpkg -l|grep udev (wheezy版のudev)
ii libudev0 175-7.2 powerpc libudev shared library
ii udev 175-7.2 powerpc /dev/ and hotplug management daemon

% wget http://ftp.jp.debian.org/debian/pool/main/u/udev/libudev0_164-3_powerpc.deb
% wget http://ftp.jp.debian.org/debian/pool/main/u/udev/udev_164-3_powerpc.deb

# dpkg -i libudev0_164-3_powerpc.deb udev_164-3_powerpc.deb
# echo libudev0 hold | dpkg --set-selections (hold状態にする)
# echo udev hold | dpkg --set-selections (hold状態にする)

# dpkg -l|grep udev (squeeze版のudev)
hi libudev0 164-3 powerpc libudev shared library
hi udev 164-3 powerpc /dev/ and hotplug management daemon
この状態で立ち上げると
[ ok ] Starting the hotplug events dispatcher: udevd.

になって
udevd[1019]: unable to receive ctrl connection: Function not implemented

は回避された。当面問題がなければこの状態で使用する。

obsA7-001 購入SSD取付け起動

$
0
0
OpenBlocks A7 の設定などをメモっていきます。初回は、購入とSSD取付け起動について。

OpenBlocks A7 Plat’Homeの 製品情報ページです。
http://openblocks.plathome.co.jp/products/obs_a/a7/

1.開梱した内容物

2.天板を取り外した基板の画像

3.SSDの取付け

http://openblocks.plathome.co.jp/products/obs_a/a7/option.htmlSSDパッケージはPH-20G/SSDSA/A7 (OpenBlocks A7用 SLC SSD 20GB)を選んだ。
2.5インチディスクサイズに付属のスペーサをカマして取り付ける。

4.電源の投入起動

ホーム > 製品情報 > OpenBlocks A Family > A7 > 各種ドキュメント
http://ftp.plathome.co.jp/pub/OBSA7/Documents/OBSA_UsersGuide_1.1.0.pdfを読んで、
コンソール用シリアルケーブルを115200bpsで接続して電源をONにする。

U-Boot 1.1.4 (Sep 19 2013 - 12:04:37)
Plat’Home version: 1.2.6 A7 (Base: Marvell version: 3.5.9)

U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CF480

Soc: 88F6282 A1CPU running @ 600Mhz L2 running @ 300Mhz
SysClock = 300Mhz , TClock = 200Mhz
(略)
## Booting image at 02000000 ...
Image Name: OBSA7 3.2.40-1
Created: 2013-09-27 1:33:17 UTC
Image Type: ARM Linux Multi-File Image (gzip compressed)
Data Size: 47379757 Bytes = 45.2 MB
(略)
INIT: Entering runlevel: 2
[ ok ] Starting monitoring init button daemon for openblocks: pshd.
[ ok ] Starting enhanced syslogd: rsyslogd.
[ ok ] Starting LED control daemon for openblocks: runled.
[ ok ] Starting periodic command scheduler: cron.
[ ok ] Starting OpenBSD Secure Shell server: sshd.

Debian GNU/Linux 7 obsa7 ttyS0

obsa7 login: root
Password: root

5.SSDの区画を好みのサイズに切る

SWAP領域はいまさら不要と思いつつも作ってしまう。
root@obsa7:~# fdisk -l

Disk /dev/sda: 20 GB, 20012106240 bytes
255 heads, 63 sectors/track, 2433 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 997 8008371 83 Linux
/dev/sda2 998 2366 10988460 83 Linux
/dev/sda3 2367 2433 530145 82 Linux swap

6.フォーマット

# mke2fs -j -L DEBIAN /dev/sda1
# mke2fs -j -L WORK10G /dev/sda2
# mkswap /dev/sda3
以前は # tune2fs -c 0 -i 0 /dev/sda1 とかしていたが、
# dumpe2fs -h /dev/sda1 で見ると
|Maximum mount count: -1
|Check interval: 0 ()
-c max-mount-counts と -i interval-between-checks はディフォルトになり不要になったようだ。

7.ストレージ併用モードで起動

http://openblocks.plathome.co.jp/support/cookbook/02.html
/dev/sda1のラベルを「DEBIAN」を指定すると、RAMディスクモードからストレージ併用モードになり、RAMディスクモードで必要な、ユーザーエリアへの保存操作が不要になるようだ。
<RAMディスクモードのマウント状態>
root@obsa7:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 142799 110186 25241 82% /
/dev/root 142799 110186 25241 82% /
tmpfs 103392 128 103264 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 10240 0 10240 0% /dev
tmpfs 206780 0 206780 0% /run/shm
tmpfs 393216 48744 344472 13% /.rw
aufs 393216 48744 344472 13% /etc
aufs 393216 48744 344472 13% /bin
aufs 393216 48744 344472 13% /home
aufs 393216 48744 344472 13% /lib
aufs 393216 48744 344472 13% /sbin
aufs 393216 48744 344472 13% /usr
aufs 393216 48744 344472 13% /var
aufs 393216 48744 344472 13% /root
aufs 393216 48744 344472 13% /opt
aufs 393216 48744 344472 13% /srv
aufs 393216 48744 344472 13% /media
root@obsa7:~#
<ストレージ併用モードのマウント状態>
root@obsa7:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 142799 110206 25221 82% /
/dev/root 142799 110206 25221 82% /
tmpfs 103392 128 103264 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 10240 0 10240 0% /dev
tmpfs 206780 0 206780 0% /run/shm
/dev/sda1 7882560 197972 7284172 3% /.rw
aufs 7882560 197972 7284172 3% /etc
aufs 7882560 197972 7284172 3% /bin
aufs 7882560 197972 7284172 3% /home
aufs 7882560 197972 7284172 3% /lib
aufs 7882560 197972 7284172 3% /sbin
aufs 7882560 197972 7284172 3% /usr
aufs 7882560 197972 7284172 3% /var
aufs 7882560 197972 7284172 3% /root
aufs 7882560 197972 7284172 3% /opt
aufs 7882560 197972 7284172 3% /srv
aufs 7882560 197972 7284172 3% /media
root@obsa7:~#

・初回起動のときのコンソールメッセージ

EXT3-fs (sda1): using internal journal
EXT3-fs (sda1): mounted filesystem with ordered data mode
aufs test_add:264:mount[942]: uid/gid/perm /root 0/0/0700, 0/0/0755
Extract optional files from FlashROM(mtd6)... done. ←ココ
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Creating SSH2 ECDSA key; this may take some time ...
[ ok ] Cleaning up temporary files... /tmp.
ストレージ併用モードでの初回起動は、FlashROM(mtd6)を読み出すようだ。

obsA7-002 perl-baseの更新

$
0
0
初回のaptitude safe-upgrade で perl-base が更新できなかったときの回避。この処置が正しいかは怪しい。

1.upgradeでのエラーの症状

root@obsa7:/usr/bin# aptitude update
root@obsa7:/usr/bin# aptitude safe-upgrade
The following packages will be upgraded:
apt apt-utils dmsetup gnupg gpgv libapt-inst1.5 libapt-pkg4.12
libdevmapper1.02.1 libgcrypt11 libgssapi-krb5-2 libk5crypto3 libkrb5-3
libkrb5support0 perl-base sysv-rc sysvinit sysvinit-utils tzdata
The following packages are RECOMMENDED but will NOT be installed:
gnupg-curl krb5-locales libldap-2.4-2
18 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/8148 kB of archives. After unpacking 224 kB will be freed.
Do you want to continue? [Y/n/?]
Preconfiguring packages ...
(Reading database ... 9396 files and directories currently installed.)
Preparing to replace perl-base 5.14.2-21 (using .../perl-base_5.14.2-21+deb7u1_armel.deb) ...
Unpacking replacement perl-base ...
dpkg: error processing /var/cache/apt/archives/perl-base_5.14.2-21+deb7u1_armel.deb (--unpack):
unable to make backup link of './usr/bin/perl5.14.2'
  before installing new version: No such file or directory
  >>>(注意1)
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/perl-base_5.14.2-21+deb7u1_armel.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:

root@obsa7:/usr/bin#
(注意1): No such file or directory のエラーが出る。どうも./usr/bin/perl5.14.2が足をひっぱってそうなので、
root@obsa7:/usr/bin# ls -l perl*
-rwxr-xr-x 1 root root 9792 Apr 12 2013 perl
-rwxr-xr-x 1 root root 9792 Apr 12 2013 perl5.14.2
root@obsa7:/usr/bin# mv perl5.14.2 perl5.14.2.bak
mv: cannot move 'perl5.14.2' to 'perl5.14.2.bak': Input/output error
root@obsa7:/usr/bin# cd /.rw/usr/bin

root@obsa7:/.rw/usr/bin# mv perl5.14.2 perl5.14.2_BAK
root@obsa7:/.rw/usr/bin# cd /usr/bin

root@obsa7:/usr/bin# cp perl5.14.2_BAK perl5.14.2
root@obsa7:/usr/bin# ls -l perl*
-rwxr-xr-x 2 root root 9792 Apr 12 2013 perl
-rwxr-xr-x 1 root root 9792 Dec 24 10:10 perl5.14.2
-rwxr-xr-x 1 root root 9792 Apr 12 2013 perl5.14.2_BAK
root@obsa7:/usr/bin#

(後で_BAKを消す)
root@obsa7:/.rw/usr/bin# rm perl5.14.2_BAK
この/usr/bin/perl5.14.2が変更できなくてInput/output errorになっていると思われ、これを回避するために/.rwでリネームして/usr/binでコピーしてみた。そして、再aptitude safe-upgrade するとエラー無く通った。
root@obsa7:/usr/bin# aptitude safe-upgrade
The following packages will be upgraded:
apt apt-utils dmsetup gnupg gpgv libapt-inst1.5 libapt-pkg4.12
libdevmapper1.02.1 libgcrypt11 libgssapi-krb5-2 libk5crypto3 libkrb5-3
libkrb5support0 perl-base sysv-rc sysvinit sysvinit-utils tzdata
The following packages are RECOMMENDED but will NOT be installed:
gnupg-curl krb5-locales libldap-2.4-2
18 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/8148 kB of archives. After unpacking 224 kB will be freed.
Do you want to continue? [Y/n/?]
Preconfiguring packages ...
(Reading database ... 9396 files and directories currently installed.)
Preparing to replace perl-base 5.14.2-21 (using .../perl-base_5.14.2-21+deb7u1_armel.deb) ...
Unpacking replacement perl-base ...
Processing triggers for man-db ...
Setting up perl-base (5.14.2-21+deb7u1) ...
(Reading database ... 9396 files and directories currently installed.)
Preparing to replace sysvinit 2.88dsf-41 (using .../sysvinit_2.88dsf-41+deb7u1_armel.deb) ...
Unpacking replacement sysvinit ...
Processing triggers for man-db ...
Setting up sysvinit (2.88dsf-41+deb7u1) ...
sysvinit: restarting... done.
INIT: version 2.88 reloading
(省略)

Preparing to replace kernel-image 3.2.40-1 (using .../kernel-image_3.2.40-3_armel.deb) ...
Unpacking replacement kernel-image ...
Setting up kernel-image (3.2.40-3) ...
Load boot image to FlashROM
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
**************************************************
************
done

Current status: 1 update [-3].
root@obsa7:/usr/bin#
root@obsa7:/usr/bin# ls -l perl*
-rwxr-xr-x 2 root root 9792 Sep 30 17:56 perl
-rwxr-xr-x 2 root root 9792 Sep 30 17:56 perl5.14.2
root@obsa7:/usr/bin#
おお、kernel-imageも自動でアップデート。この時のsource-listは初期の標準のもの。

(前)
root@obsa7:~# uname -a
Linux obsa7 3.2.40 #1 Fri Sep 27 10:30:55 JST 2013 armv5tel GNU/Linux
(後)
root@obsa7:~# uname -a
Linux obsa7 3.2.40 #1 Mon Oct 21 14:10:25 JST 2013 armv5tel GNU/Linux

</etc/apt/sources.list>
deb http://ftp.plathome.co.jp/pub/debian wheezy main
deb-src http://ftp.plathome.co.jp/pub/debian wheezy main

deb http://ftp.plathome.co.jp/pub/debian wheezy-backports main
deb-src http://ftp.plathome.co.jp/pub/debian wheezy-backports main

deb http://ftp.plathome.co.jp/pub/debian-security wheezy/updates main
deb-src http://ftp.plathome.co.jp/pub/debian-security wheezy/updates main

deb http://ftp.plathome.co.jp/pub/OBSA7/debian/wheezy ./

obsA7-003 dumpによるバックアップ

$
0
0
本格的に初期設定する前に一度バックアップを取ることにする。

1.バックアップの前準備

root@obsa7:~# aptitude install dump
root@obsa7:~# aptitude install bzip2

root@obsa7:~# mkdir -p /dsk/sda2
root@obsa7:~# mount /dev/sda2 /dsk/sda2
root@obsa7:~# df -h|grep sda2
/dev/sda2 11G 155M 9.7G 2% /dsk/sda2
oot@obsa7:~# mkdir -p /dsk/sda2/Backup/OBSA7/RootBz

root@obsa7:~# useradd -m a7user
root@obsa7:~# passwd a7user
root@obsa7:~# vigr
root@obsa7:~# grep a7user /etc/group
disk:x:6:a7user
staff:x:50:a7user
a7user:x:1000:
root@obsa7:~# chown -R a7user /dsk/sda2/Backup/

2.バックアップスクリプト

今後もちょくちょくバックアップするのにスクリプトを用意した。
$ cat /usr/local/bin/b_sda1_local.sh
#! /bin/bash
# $Id: b_sda1_local.sh,v 1.1 2013-12-24 14:49:56+09 a7user $
#

HDEV=sda1
if [ `whoami` != "a7user" ]; then
ERRMSG="User not a7user."
echo $ERRMSG
logger $ERRMSG
exit 1
fi
MYCMD=$0
MYNM=`basename $0`
BODY=${MYNM%.sh}

RDIR=/dsk/sda2/Backup/OBSA7/RootBz
if [ ! -d ${RDIR} ]; then
ERRMSG="Not Mounted $RDIR."
echo $ERRMSG
logger $ERRMSG
exit 1
fi
cd $RDIR
if [ $? != 0 ]; then
ERRMSG="CANNOT cd $RDIR."
echo $ERRMSG
logger $ERRMSG
exit 1
fi

YMD=`date "+%Y_%m%d"`
BDIR=${BODY}_${YMD}
if [ ! -d ${BDIR} ]; then
mkdir -p ${BDIR}
if [ $? != 0 ]; then
ERRMSG="Cannot mkdir $BDIR."
echo $ERRMSG
logger $ERRMSG
exit 1
fi
fi

CLOG="${BDIR}/${HDEV}_${YMD}.log"
echo "START=`date`" | tee $CLOG
echo "----------------------------------------" | tee -a $CLOG
echo "% /sbin/fdisk -l /dev/sda" | tee -a $CLOG
/sbin/fdisk -l /dev/sda | sed -n -e "/^Disk/,//p" | tee -a $CLOG
echo "----------------------------------------" | tee -a $CLOG
echo "% df" | tee -a $CLOG
df | tee -a $CLOG
echo "" | tee -a $CLOG
echo "" | tee -a $CLOG
echo "****************************************" | tee -a $CLOG
date | tee -a $CLOG
pwd | tee -a $CLOG
set -x
(/sbin/dump 0usf 99999 - /dev/${HDEV} | \
bzip2 -c > ${BDIR}/${HDEV}_${YMD}.dump.bz2 ) 2>&1 | tee -a $CLOG
date | tee -a $CLOG
ls -l ${BDIR} | tee -a $CLOG
md5sum ${BDIR}/${HDEV}_${YMD}.dump.bz2 | tee -a $CLOG
set +x
echo "****************************************" | tee -a $CLOG
echo "END=`date`" | tee -a $CLOG
logger "$MYNM FINISH.""$CLOG"
exit 0

# end of b_sda1_local.sh

3.バックアップスクリプトの実行

$ /usr/local/bin/b_sda1_local.sh
START=Tue Dec 24 14:14:26 JST 2013
----------------------------------------
% /sbin/fdisk -l /dev/sda
Disk /dev/sda: 20 GB, 20012106240 bytes
255 heads, 63 sectors/track, 2433 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 997 8008371 83 Linux
/dev/sda2 998 2366 10988460 83 Linux
/dev/sda3 2367 2433 530145 82 Linux swap
----------------------------------------
% df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 142799 110248 25179 82% /
/dev/root 142799 110248 25179 82% /
tmpfs 103392 132 103260 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 10240 0 10240 0% /dev
tmpfs 206780 0 206780 0% /run/shm
/dev/sda1 7882560 420692 7061452 6% /.rw
aufs 7882560 420692 7061452 6% /etc
aufs 7882560 420692 7061452 6% /bin
aufs 7882560 420692 7061452 6% /home
aufs 7882560 420692 7061452 6% /lib
aufs 7882560 420692 7061452 6% /sbin
aufs 7882560 420692 7061452 6% /usr
aufs 7882560 420692 7061452 6% /var
aufs 7882560 420692 7061452 6% /root
aufs 7882560 420692 7061452 6% /opt
aufs 7882560 420692 7061452 6% /srv
aufs 7882560 420692 7061452 6% /media
/dev/sda2 10823708 158088 10115796 2% /dsk/sda2


****************************************
Tue Dec 24 14:14:27 JST 2013
/dsk/sda2/Backup/OBSA7/RootBz
+ tee -a b_sda1_local_2013_1224/sda1_2013_1224.log
+ bzip2 -c
+ /sbin/dump 0usf 99999 - /dev/sda1
DUMP: Date of this level 0 dump: Tue Dec 24 14:14:27 2013
DUMP: Dumping /dev/sda1 (/.rw) to standard output
DUMP: Label: DEBIAN
DUMP: Writing 10 Kilobyte records
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 275498 blocks.
DUMP: Volume 1 started with block 1 at: Tue Dec 24 14:14:28 2013
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: 38.74% done at 353 kB/s, finished in 0:07
DUMP: 65.60% done at 299 kB/s, finished in 0:05
DUMP: 98.06% done at 298 kB/s, finished in 0:00
DUMP: Volume 1 completed at: Tue Dec 24 14:29:39 2013
DUMP: Volume 1 275750 blocks (269.29MB)
DUMP: Volume 1 took 0:15:11
DUMP: Volume 1 transfer rate: 302 kB/s
DUMP: 275750 blocks (269.29MB)
DUMP: finished in 911 seconds, throughput 302 kBytes/sec
DUMP: Date of this level 0 dump: Tue Dec 24 14:14:27 2013
DUMP: Date this dump completed: Tue Dec 24 14:29:39 2013
DUMP: Average transfer rate: 302 kB/s
DUMP: DUMP IS DONE
+ tee -a b_sda1_local_2013_1224/sda1_2013_1224.log
+ date
Tue Dec 24 14:29:44 JST 2013
+ tee -a b_sda1_local_2013_1224/sda1_2013_1224.log
+ ls -l b_sda1_local_2013_1224
total 136456
-rw-r--r-- 1 a7user a7user 139580414 Dec 24 14:29 sda1_2013_1224.dump.bz2
-rw-r--r-- 1 a7user a7user 2800 Dec 24 14:29 sda1_2013_1224.log
+ tee -a b_sda1_local_2013_1224/sda1_2013_1224.log
+ md5sum b_sda1_local_2013_1224/sda1_2013_1224.dump.bz2
b35db86c1a8631524be462db1f241262 b_sda1_local_2013_1224/sda1_2013_1224.dump.bz2
+ set +x
****************************************
END=Tue Dec 24 14:29:47 JST 2013

4.バックアップを念のため展開してみる


# PS1="\W# "
# cd /dsk/sda2/Backup/OBSA7/RootBz/b_sda1_local_2013_1224
# mkdir RestoreDir
# cd RestoreDir/
# bzip2 -dc ../sda1_2013_1224.dump.bz2|restore rf -

RestoreDir# pwd
/dsk/sda2/Backup/OBSA7/RootBz/b_sda1_local_2013_1224/RestoreDir
RestoreDir# ls -F
bin/ home/ lost+found/ opt/ root/ srv/ var/
etc/ lib/ media/ restoresymtable sbin/ usr/
RestoreDir# du -s .
272440 .
RestoreDir# du -s /.rw
271928 /.rw
RestoreDir# du -sh .
267M .
RestoreDir# du -sh /.rw
266M /.rw
RestoreDir#
restoreしてみると、ちゃんとバックアップできてそうだ。

obsA7-004 package移行

$
0
0

1.Debian PackageをOBS600と揃える

旧OBS600で使用していたDebian PackageをOBSA7でも使えるように移行する。 まず OBS600側でget-selectionsする。
user@obs:DPKG% dpkg --get-selections > plist_obs600.txt
user@obs:DPKG% wc -l plist_obs600.txt
497 plist_obs600.txt
user@obs:DPKG%
次に OBSA7側でset-selectionsする。

root@obsa7:DPKG# dpkg -l | wc -l
154
root@obsa7:DPKG# aptitude install dselect
root@obsa7:DPKG# dselect update
root@obsa7:DPKG# dpkg --set-selections < plist_obs600.txt >>>(1)
root@obsa7:DPKG# apt-get dselect-upgrade >>>(2)
root@obsa7:DPKG# dpkg -l | wc -l
458
これらで、多くのパッケージは移行できたが、OBS600のpowerpc依存部分や、バージョンによっては移行できないものもあったようだ。(1)(2)で大量のメッセージが出た。
>>>(1)
root@obsa7:DPKG# dpkg --set-selections < plist_obs600.txt
dpkg: warning: package not in database at line 2: apache2
dpkg: warning: package not in database at line 2: apache2-mpm-prefork
dpkg: warning: package not in database at line 2: apache2-utils
dpkg: warning: package not in database at line 2: apache2.2-bin
dpkg: warning: package not in database at line 2: apache2.2-common
dpkg: warning: package not in database at line 6: arping
dpkg: warning: package not in database at line 9: bc
dpkg: warning: package not in database at line 9: bind9
dpkg: warning: package not in database at line 9: bind9-host
dpkg: warning: package not in database at line 9: bind9utils
dpkg: warning: package not in database at line 9: binutils
dpkg: warning: package not in database at line 9: bittorrent
dpkg: warning: package not in database at line 9: bridge-utils
dpkg: warning: package not in database at line 9: bsd-mailx
dpkg: warning: package not in database at line 12: ca-certificates
dpkg: warning: package not in database at line 14: cpp
dpkg: warning: package not in database at line 14: cpp-4.4
dpkg: warning: package not in database at line 14: cpp-4.6
dpkg: warning: package not in database at line 15: curl
dpkg: warning: package not in database at line 16: dbus
dpkg: warning: package not in database at line 20: defoma
dpkg: warning: package not in database at line 20: dhcp3-client
dpkg: warning: package not in database at line 20: dhcp3-common
dpkg: warning: package not in database at line 20: dhcp3-server
dpkg: warning: package not in database at line 22: dnsutils
dpkg: warning: package not in database at line 25: e2fslibs:powerpc
dpkg: warning: package not in database at line 26: exim4
dpkg: warning: package not in database at line 26: exim4-base
dpkg: warning: package not in database at line 26: exim4-config
dpkg: warning: package not in database at line 26: exim4-daemon-light
dpkg: warning: package not in database at line 26: exiv2
dpkg: warning: package not in database at line 26: fancontrol
dpkg: warning: package not in database at line 26: file
dpkg: warning: package not in database at line 27: firmware-ralink
dpkg: warning: package not in database at line 27: fontconfig
dpkg: warning: package not in database at line 27: fontconfig-config
dpkg: warning: package not in database at line 27: fonts-droid
dpkg: warning: package not in database at line 27: fonts-liberation
dpkg: warning: package not in database at line 27: ftp
dpkg: warning: package not in database at line 27: ftpd
dpkg: warning: package not in database at line 27: gcc
dpkg: warning: package not in database at line 27: gcc-4.4
dpkg: warning: package not in database at line 27: gcc-4.4-base:powerpc
dpkg: warning: package not in database at line 27: gcc-4.6
dpkg: warning: package not in database at line 27: gcc-4.6-base:powerpc
dpkg: warning: package not in database at line 27: gcc-4.7-base:powerpc
dpkg: warning: package not in database at line 27: geoip-database
dpkg: warning: package not in database at line 27: ghostscript
dpkg: warning: package not in database at line 27: git
dpkg: warning: package not in database at line 27: git-man
dpkg: warning: package not in database at line 29: gnuplot
dpkg: warning: package not in database at line 29: gnuplot-nox
dpkg: warning: package not in database at line 31: groff
dpkg: warning: package not in database at line 32: gsfonts
dpkg: warning: package not in database at line 33: hdparm
dpkg: warning: package not in database at line 33: hicolor-icon-theme
dpkg: warning: package not in database at line 33: hostapd
dpkg: warning: package not in database at line 35: imagemagick
dpkg: warning: package not in database at line 35: imagemagick-common
dpkg: warning: package not in database at line 44: isc-dhcp-server
dpkg: warning: package not in database at line 44: jless
dpkg: warning: package not in database at line 45: krb5-locales
dpkg: warning: package not in database at line 45: less
dpkg: warning: package not in database at line 45: lftp
dpkg: warning: package not in database at line 45: libacl1:powerpc
dpkg: warning: package not in database at line 45: libapache2-mod-php5
dpkg: warning: package not in database at line 45: libapr1
dpkg: warning: package not in database at line 45: libaprutil1
dpkg: warning: package not in database at line 45: libaprutil1-dbd-sqlite3
dpkg: warning: package not in database at line 45: libaprutil1-ldap
dpkg: warning: package not in database at line 45: libapt-inst1.5:powerpc
dpkg: warning: package not in database at line 45: libapt-pkg4.12:powerpc
dpkg: warning: package not in database at line 45: libatk1.0-0:powerpc
dpkg: warning: package not in database at line 45: libatk1.0-data
dpkg: warning: package not in database at line 45: libattr1:powerpc
dpkg: warning: package not in database at line 45: libavahi-client3:powerpc
dpkg: warning: package not in database at line 45: libavahi-common-data:powerpc
dpkg: warning: package not in database at line 45: libavahi-common3:powerpc
dpkg: warning: package not in database at line 45: libbind9-60
dpkg: warning: package not in database at line 45: libbind9-80
dpkg: warning: package not in database at line 45: libblas3
dpkg: warning: package not in database at line 45: libblas3gf
dpkg: warning: package not in database at line 45: libblkid1:powerpc
dpkg: warning: package not in database at line 45: libboost-iostreams1.42.0
dpkg: warning: package not in database at line 46: libbsd0:powerpc
dpkg: warning: package not in database at line 46: libbz2-1.0:powerpc
dpkg: warning: package not in database at line 47: libc-dev-bin
dpkg: warning: package not in database at line 47: libc6:powerpc
dpkg: warning: package not in database at line 47: libc6-dev:powerpc
dpkg: warning: package not in database at line 47: libc6-ppc64
dpkg: warning: package not in database at line 47: libcairo2:powerpc
dpkg: warning: package not in database at line 47: libcap2:powerpc
dpkg: warning: package not in database at line 47: libcdt4
dpkg: warning: package not in database at line 47: libclass-isa-perl
dpkg: warning: package not in database at line 47: libcomerr2:powerpc
dpkg: warning: package not in database at line 47: libcroco3:powerpc
dpkg: warning: package not in database at line 47: libcups2:powerpc
dpkg: warning: package not in database at line 47: libcupsimage2:powerpc
dpkg: warning: package not in database at line 47: libcurl3
dpkg: warning: package not in database at line 47: libcurl3-gnutls:powerpc
dpkg: warning: package not in database at line 48: libdate-manip-perl
dpkg: warning: package not in database at line 48: libdatrie1:powerpc
dpkg: warning: package not in database at line 48: libdb4.7
dpkg: warning: package not in database at line 48: libdb4.8
dpkg: warning: package not in database at line 48: libdb5.1:powerpc
dpkg: warning: package not in database at line 48: libdbi0
dpkg: warning: package not in database at line 48: libdbi1
dpkg: warning: package not in database at line 48: libdbus-1-3:powerpc
dpkg: warning: package not in database at line 48: libdevmapper1.02.1:powerpc
dpkg: warning: package not in database at line 48: libdjvulibre-text
dpkg: warning: package not in database at line 48: libdjvulibre21
dpkg: warning: package not in database at line 48: libdns69
dpkg: warning: package not in database at line 48: libdns88
dpkg: warning: package not in database at line 48: libedit2:powerpc
dpkg: warning: package not in database at line 48: libept1
dpkg: warning: package not in database at line 49: liberror-perl
dpkg: warning: package not in database at line 49: libevent-1.4-2
dpkg: warning: package not in database at line 49: libevent-2.0-5:powerpc
dpkg: warning: package not in database at line 49: libexiv2-12
dpkg: warning: package not in database at line 49: libexiv2-9
dpkg: warning: package not in database at line 49: libexpat1:powerpc
dpkg: warning: package not in database at line 49: libffi5:powerpc
dpkg: warning: package not in database at line 49: libfile-copy-recursive-perl
dpkg: warning: package not in database at line 49: libfont-freetype-perl
dpkg: warning: package not in database at line 49: libfontconfig1:powerpc
dpkg: warning: package not in database at line 49: libfontenc1:powerpc
dpkg: warning: package not in database at line 49: libfreetype6:powerpc
dpkg: warning: package not in database at line 49: libgc1c2
dpkg: warning: package not in database at line 49: libgcc1:powerpc
dpkg: warning: package not in database at line 49: libgcrypt11:powerpc
dpkg: warning: package not in database at line 49: libgd2-noxpm:powerpc
dpkg: warning: package not in database at line 49: libgdbm3:powerpc
dpkg: warning: package not in database at line 49: libgdk-pixbuf2.0-0:powerpc
dpkg: warning: package not in database at line 49: libgdk-pixbuf2.0-common
dpkg: warning: package not in database at line 49: libgeoip1
dpkg: warning: package not in database at line 49: libgfortran3:powerpc
dpkg: warning: package not in database at line 49: libglib2.0-0:powerpc
dpkg: warning: package not in database at line 49: libglib2.0-data
dpkg: warning: package not in database at line 49: libgmp10:powerpc
dpkg: warning: package not in database at line 49: libgmp3c2
dpkg: warning: package not in database at line 49: libgnutls26:powerpc
dpkg: warning: package not in database at line 49: libgomp1:powerpc
dpkg: warning: package not in database at line 49: libgpg-error0:powerpc
dpkg: warning: package not in database at line 49: libgpm2:powerpc
dpkg: warning: package not in database at line 49: libgraph4
dpkg: warning: package not in database at line 49: libgs8
dpkg: warning: package not in database at line 49: libgs9
dpkg: warning: package not in database at line 49: libgs9-common
dpkg: warning: package not in database at line 49: libgsf-1-114
dpkg: warning: package not in database at line 49: libgsf-1-common
dpkg: warning: package not in database at line 49: libgssapi-krb5-2:powerpc
dpkg: warning: package not in database at line 49: libgssglue1:powerpc
dpkg: warning: package not in database at line 49: libgtk2.0-0:powerpc
dpkg: warning: package not in database at line 49: libgtk2.0-bin
dpkg: warning: package not in database at line 49: libgtk2.0-common
dpkg: warning: package not in database at line 49: libgvc5
dpkg: warning: package not in database at line 49: libice6:powerpc
dpkg: warning: package not in database at line 49: libidn11:powerpc
dpkg: warning: package not in database at line 49: libijs-0.35
dpkg: warning: package not in database at line 49: libilmbase6
dpkg: warning: package not in database at line 49: libisc62
dpkg: warning: package not in database at line 49: libisc84
dpkg: warning: package not in database at line 49: libisccc60
dpkg: warning: package not in database at line 49: libisccc80
dpkg: warning: package not in database at line 49: libisccfg62
dpkg: warning: package not in database at line 49: libisccfg82
dpkg: warning: package not in database at line 49: libiw30:powerpc
dpkg: warning: package not in database at line 49: libjasper1:powerpc
dpkg: warning: package not in database at line 49: libjbig0:powerpc
dpkg: warning: package not in database at line 49: libjbig2dec0
dpkg: warning: package not in database at line 49: libjpeg62:powerpc
dpkg: warning: package not in database at line 49: libjpeg8:powerpc
dpkg: warning: package not in database at line 49: libk5crypto3:powerpc
dpkg: warning: package not in database at line 49: libkeyutils1:powerpc
dpkg: warning: package not in database at line 49: libkmod2:powerpc
dpkg: warning: package not in database at line 49: libkrb5-3:powerpc
dpkg: warning: package not in database at line 49: libkrb5support0:powerpc
dpkg: warning: package not in database at line 49: liblcms1:powerpc
dpkg: warning: package not in database at line 49: liblcms2-2:powerpc
dpkg: warning: package not in database at line 49: libldap-2.4-2:powerpc
dpkg: warning: package not in database at line 49: liblensfun-data
dpkg: warning: package not in database at line 49: liblensfun0
dpkg: warning: package not in database at line 49: liblinear-tools
dpkg: warning: package not in database at line 49: liblinear1
dpkg: warning: package not in database at line 50: liblockfile-bin
dpkg: warning: package not in database at line 50: liblockfile1:powerpc
dpkg: warning: package not in database at line 50: liblqr-1-0:powerpc
dpkg: warning: package not in database at line 50: libltdl7:powerpc
dpkg: warning: package not in database at line 50: liblua5.1-0:powerpc
dpkg: warning: package not in database at line 50: liblwres60
dpkg: warning: package not in database at line 50: liblwres80
dpkg: warning: package not in database at line 50: liblzma2
dpkg: warning: package not in database at line 50: liblzma5:powerpc
dpkg: warning: package not in database at line 50: liblzo2-2:powerpc
dpkg: warning: package not in database at line 50: libmagic1:powerpc
dpkg: warning: package not in database at line 50: libmagickcore3
dpkg: warning: package not in database at line 50: libmagickcore3-extra
dpkg: warning: package not in database at line 50: libmagickcore5:powerpc
dpkg: warning: package not in database at line 50: libmagickcore5-extra:powerpc
dpkg: warning: package not in database at line 50: libmagickwand3
dpkg: warning: package not in database at line 50: libmagickwand5:powerpc
dpkg: warning: package not in database at line 51: libmpc2:powerpc
dpkg: warning: package not in database at line 51: libmpfr4:powerpc
dpkg: warning: package not in database at line 51: libncurses5:powerpc
dpkg: warning: package not in database at line 51: libncurses5-dev
dpkg: warning: package not in database at line 51: libncursesw5:powerpc
dpkg: warning: package not in database at line 51: libnet1
dpkg: warning: package not in database at line 51: libnetpbm10
dpkg: warning: package not in database at line 53: libnfsidmap2:powerpc
dpkg: warning: package not in database at line 53: libnl-3-200:powerpc
dpkg: warning: package not in database at line 53: libnl-dev
dpkg: warning: package not in database at line 53: libnl-genl-3-200:powerpc
dpkg: warning: package not in database at line 53: libnl1:powerpc
dpkg: warning: package not in database at line 53: libonig2
dpkg: warning: package not in database at line 53: libopenexr6
dpkg: warning: package not in database at line 53: libopts25
dpkg: warning: package not in database at line 53: libp11-kit0:powerpc
dpkg: warning: package not in database at line 53: libpam-modules:powerpc
dpkg: warning: package not in database at line 55: libpam0g:powerpc
dpkg: warning: package not in database at line 55: libpango1.0-0:powerpc
dpkg: warning: package not in database at line 55: libpango1.0-common
dpkg: warning: package not in database at line 55: libpaper-utils
dpkg: warning: package not in database at line 55: libpaper1:powerpc
dpkg: warning: package not in database at line 55: libparted0debian1:powerpc
dpkg: warning: package not in database at line 55: libpathplan4
dpkg: warning: package not in database at line 55: libpcap0.8:powerpc
dpkg: warning: package not in database at line 55: libpcre3:powerpc
dpkg: warning: package not in database at line 55: libperl5.14
dpkg: warning: package not in database at line 55: libpipeline1:powerpc
dpkg: warning: package not in database at line 55: libpixman-1-0:powerpc
dpkg: warning: package not in database at line 55: libpng12-0:powerpc
dpkg: warning: package not in database at line 55: libpopt0:powerpc
dpkg: warning: package not in database at line 55: libprocps0:powerpc
dpkg: warning: package not in database at line 55: libqdbm14
dpkg: warning: package not in database at line 55: libreadline6:powerpc
dpkg: warning: package not in database at line 55: librpcsecgss3:powerpc
dpkg: warning: package not in database at line 55: librrd4
dpkg: warning: package not in database at line 55: librrds-perl
dpkg: warning: package not in database at line 55: librsvg2-2:powerpc
dpkg: warning: package not in database at line 55: librsvg2-common:powerpc
dpkg: warning: package not in database at line 55: librtas1
dpkg: warning: package not in database at line 55: librtasevent1
dpkg: warning: package not in database at line 55: librtmp0:powerpc
dpkg: warning: package not in database at line 55: libsasl2-2:powerpc
dpkg: warning: package not in database at line 55: libsasl2-modules:powerpc
dpkg: warning: package not in database at line 55: libselinux1:powerpc
dpkg: warning: package not in database at line 56: libsemanage1:powerpc
dpkg: warning: package not in database at line 56: libsensors4:powerpc
dpkg: warning: package not in database at line 56: libsepol1:powerpc
dpkg: warning: package not in database at line 56: libsigc++-2.0-0c2a:powerpc
dpkg: warning: package not in database at line 56: libslang2:powerpc
dpkg: warning: package not in database at line 56: libsm6:powerpc
dpkg: warning: package not in database at line 56: libsnmp-base
dpkg: warning: package not in database at line 56: libsnmp15
dpkg: warning: package not in database at line 56: libsqlite3-0:powerpc
dpkg: warning: package not in database at line 56: libss2:powerpc
dpkg: warning: package not in database at line 56: libssh2-1:powerpc
dpkg: warning: package not in database at line 56: libssl-dev
dpkg: warning: package not in database at line 56: libssl-doc
dpkg: warning: package not in database at line 56: libssl0.9.8
dpkg: warning: package not in database at line 56: libssl1.0.0:powerpc
dpkg: warning: package not in database at line 56: libstdc++6:powerpc
dpkg: warning: package not in database at line 56: libsvm-tools
dpkg: warning: package not in database at line 56: libswitch-perl
dpkg: warning: package not in database at line 56: libsystemd-login0:powerpc
dpkg: warning: package not in database at line 56: libtalloc2:powerpc
dpkg: warning: package not in database at line 56: libtasn1-3:powerpc
dpkg: warning: package not in database at line 56: libtdb1:powerpc
dpkg: warning: package not in database at line 59: libthai-data
dpkg: warning: package not in database at line 59: libthai0:powerpc
dpkg: warning: package not in database at line 59: libtiff4:powerpc
dpkg: warning: package not in database at line 59: libtinfo-dev:powerpc
dpkg: warning: package not in database at line 59: libtinfo5:powerpc
dpkg: warning: package not in database at line 59: libtirpc1:powerpc
dpkg: warning: package not in database at line 60: libusb-0.1-4:powerpc
dpkg: warning: package not in database at line 60: libusb-1.0-0:powerpc
dpkg: warning: package not in database at line 60: libustr-1.0-1:powerpc
dpkg: warning: package not in database at line 60: libuuid1:powerpc
dpkg: warning: package not in database at line 60: libwbclient0:powerpc
dpkg: warning: package not in database at line 60: libwmf0.2-7:powerpc
dpkg: warning: package not in database at line 60: libwrap0:powerpc
dpkg: warning: package not in database at line 60: libx11-6:powerpc
dpkg: warning: package not in database at line 60: libx11-data
dpkg: warning: package not in database at line 61: libxau6:powerpc
dpkg: warning: package not in database at line 61: libxaw7:powerpc
dpkg: warning: package not in database at line 61: libxcb-render-util0:powerpc
dpkg: warning: package not in database at line 61: libxcb-render0:powerpc
dpkg: warning: package not in database at line 61: libxcb-shm0:powerpc
dpkg: warning: package not in database at line 61: libxcb1:powerpc
dpkg: warning: package not in database at line 61: libxcomposite1:powerpc
dpkg: warning: package not in database at line 61: libxcursor1:powerpc
dpkg: warning: package not in database at line 61: libxdamage1:powerpc
dpkg: warning: package not in database at line 61: libxdmcp6:powerpc
dpkg: warning: package not in database at line 61: libxdot4
dpkg: warning: package not in database at line 61: libxext6:powerpc
dpkg: warning: package not in database at line 61: libxfixes3:powerpc
dpkg: warning: package not in database at line 61: libxfont1
dpkg: warning: package not in database at line 187: libxpm4:powerpc
dpkg: warning: package not in database at line 187: libxrandr2:powerpc
dpkg: warning: package not in database at line 187: libxrender1:powerpc
dpkg: warning: package not in database at line 187: libxt6:powerpc
dpkg: warning: package not in database at line 188: linux-libc-dev:powerpc
dpkg: warning: package not in database at line 197: mac-fdisk
dpkg: warning: package not in database at line 238: portmap
dpkg: warning: package not in database at line 238: powerpc-ibm-utils
dpkg: warning: package not in database at line 238: powerpc-utils
dpkg: warning: package not in database at line 249: qpopper
dpkg: warning: package not in database at line 298: x-ttcidfont-conf
dpkg: warning: package not in database at line 304: yaboot
dpkg: warning: package not in database at line 304: zd1211-firmware
dpkg: warning: package not in database at line 305: zlib1g:powerpc
dpkg: warning: package not in database at line 305: zlib1g-dev:powerpc
root@obsa7:DPKG#

>>>(2)
root@obsa7:DPKG# apt-get dselect-upgrade
Reading package lists... 0%
Reading state information... 98%
Reading state information... Done
The following NEW packages will be installed:
apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
arping bc bind9 bind9-host bind9utils binutils bittorrent bridge-utils
bsd-mailx ca-certificates cpp cpp-4.4 cpp-4.6 dbus dnsutils exim4 exim4-base
exim4-config exim4-daemon-light exiv2 fancontrol file fontconfig
fontconfig-config fonts-droid fonts-liberation ftp ftpd gcc gcc-4.4
gcc-4.4-base gcc-4.6 gcc-4.6-base geoip-database ghostscript git-man gnuplot
gnuplot-nox groff gsfonts hdparm hicolor-icon-theme hostapd imagemagick
imagemagick-common isc-dhcp-server jless krb5-locales less lftp
libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap libatk1.0-0 libatk1.0-data libavahi-client3
libavahi-common-data libavahi-common3 libbind9-80 libblas3 libblas3gf
libc-dev-bin libc6-dev libcairo2 libcap2 libcdt4 libclass-isa-perl libcroco3
libcups2 libcupsimage2 libdate-manip-perl libdatrie1 libdbi1 libdbus-1-3
libdjvulibre-text libdjvulibre21 libdns88 liberror-perl libexiv2-12
libexpat1 libffi5 libfile-copy-recursive-perl libfont-freetype-perl
libfontconfig1 libfontenc1 libfreetype6 libgc1c2 libgd2-noxpm
libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgeoip1 libgfortran3
libglib2.0-0 libglib2.0-data libgmp10 libgomp1 libgpm2 libgraph4 libgs9
libgs9-common libgsf-1-114 libgsf-1-common libgssglue1 libgtk2.0-0
libgtk2.0-bin libgtk2.0-common libgvc5 libice6 libijs-0.35 libilmbase6
libisc84 libisccc80 libisccfg82 libiw30 libjasper1 libjbig0 libjbig2dec0
libjpeg8 liblcms1 liblcms2-2 libldap-2.4-2 liblensfun-data liblensfun0
liblinear-tools liblinear1 liblockfile-bin liblockfile1 liblqr-1-0 libltdl7
liblua5.1-0 liblwres80 liblzo2-2 libmagic1 libmagickcore5
libmagickcore5-extra libmagickwand5 libmpc2 libmpfr4 libncurses5-dev libnet1
libnetpbm10 libnl-3-200 libnl-dev libnl-genl-3-200 libnl1 libonig2
libopenexr6 libopts25 libpango1.0-0 libpaper-utils libpaper1 libpathplan4
libpcap0.8 libpcre3 libperl5.14 libpixman-1-0 libpng12-0 libqdbm14 librrd4
librrds-perl librsvg2-2 librsvg2-common librtas1 librtasevent1 libsasl2-2
libsasl2-modules libsensors4 libsm6 libsnmp-base libsnmp15 libssl-dev
libssl-doc libsvm-tools libswitch-perl libsystemd-login0 libtalloc2 libtdb1
libthai-data libthai0 libtiff4 libtinfo-dev libtirpc1 libusb-1.0-0
libwbclient0 libwmf0.2-7 libx11-6 libx11-data libxau6 libxaw7 libxcb-render0
libxcb-shm0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6
libxdot4 libxext6 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxml2
libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxt6 libyaml-syck-perl
linux-libc-dev lm-sensors lockfile-progs logwatch lsof lynx lynx-cur make
manpages-dev mime-support mlocate module-init-tools mtd-utils nano ncftp
ncurses-term netpbm netselect netselect-apt nkf nmap ntp ntpdate
openbsd-inetd openssh-blacklist openssh-blacklist-extra openssl patch perl
perl-modules php5-cli php5-common poppler-data powermgmt-base procmail
psmisc psutils python python-minimal python-support python2.6
python2.6-minimal python2.7 python2.7-minimal rpcbind rrdtool rsync samba
samba-common samba-common-bin screen sgml-base shared-mime-info snmpd
ssl-cert sudo tcpd tdb-tools telnet tftp tftpd ttf-dejavu ttf-dejavu-core
ttf-dejavu-extra u-boot ucf ucspi-tcp ufraw-batch unzip update-inetd
usbutils w3m whois wireless-tools x11-common xauth xfonts-encodings
xfonts-utils xml-core zip zlib1g-dev zsh
0 upgraded, 300 newly installed, 0 to remove and 0 not upgraded.
Need to get 155 MB of archives.
After this operation, 455 MB of additional disk space will be used.
Do you want to continue [Y/n]?
たぶんPackageインストールもれが多くありそうだが、必要に応じ、不足分は都度aptitude installしていくことにする。

obsA7-005 ログインシェルとssh

$
0
0

1./root/.bashrc プロンプト表示を好みに変更

root@obsa7:~# cd /root
root@obsa7:~# diff .bashrc.org .bashrc
5c5
< # PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
---
> PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
root@obsa7:~#

# 変更前のPS1 のパス表示プロンプト
obsa7:~# cd /var/log/samba
obsa7:/var/log/samba#
# 変更後のPS1 のパス表示プロンプト
root@obsa7:~# cd /var/log/samba
root@obsa7:samba#
# ホスト名表示し、パス名はカレントディレクトリだけの表示が好み

2.ログインシェルの変更

$ grep -n a7user /etc/passwd
21:a7user:x:1000:1000::/home/a7user:/bin/sh
$ grep zsh /etc/shells
/bin/zsh
/usr/bin/zsh
$ chsh -s /bin/zsh
Password: (a7userのパスワード)
$ grep -n a7user /etc/passwd
21:a7user:x:1000:1000::/home/a7user:/bin/zsh
$

zsh用 .profile

a7user@obsa7:~% cat .zprofile                  [17] (13-12-28 Sat 07:26:57 AM)
#
# $Id: .zprofile,v 1.1 2013-12-28 07:24:20+09 a7user $
#
echo 'Setting .zprofile '
set -o allexport
umask 002
PATH=.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/uty
HOSTNAME=`hostname`
ENV=$HOME/.zshrc
HISTSIZE=64
HISTFILE=/tmp/.sh_${LOGNAME}.$$
LD_LIBRARY_PATH=/usr/local/lib
JAVA_HOME='/usr/lib/jre'
MYOSREV=`/bin/uname -a | cut -c-3`
XMODIFIERS="@im=kinput2"
PAGER=jless
CURTTY=`/usr/bin/tty`
if [[ "$CURTTY" = "/dev/tty1" || "$CURTTY" = "/dev/tty2" || \
"$CURTTY" = "/dev/tty3" || "$CURTTY" = "/dev/vc/1" || \
"$CURTTY" = "/dev/vc/2" || "$CURTTY" = "/dev/vc/3" ]]; then
LANG=C
else
LANG=ja_JP.UTF-8
LC_ALL=C
LANGUAGE=C
fi
TZ=JST-9
RSYNC_RSH=ssh
set +o allexport
unset ignoreeof
# end of .zprofile
a7user@obsa7:~% [18] (13-12-28 Sat 07:27:03 AM)

zsh用 .zshrc

a7user@obsa7:~% cat .zshrc                     [18] (13-12-28 Sat 07:30:11 AM)
#
# $Id: .zshrc,v 1.1 2013-12-28 07:24:20+09 a7user $
#
#echo 'Setting .zshrc'
alias a=alias
alias h=history
alias cls='ls --color'
alias PRO='. ~a7user/.zprofile'
alias cdd='cd `/bin/pwd`'
alias root="ZDOTDIR=$HOME su root -s /bin/zsh"
alias m3='mount /dev/sda3 /dsk/sda3'
alias sss='tail -f /var/log/syslog'
alias t='set -x;tail -30 /var/log/apache2/access.log|cut -c-72;set +x'
alias tt='set -x;tail -6 /var/log/apache2/access.log;set +x'
alias m='set -x;tail -30 /var/log/exim4/mainlog;set +x'
alias r='set -x;tail -30 /var/log/exim4/rejectlog;set +x'
#

# Set up the prompt

PROMPT='%U%(#.%Broot%b.%n)@%m%u:%.%# '
RPROMPT='%B[%(?.%!.ERROR:%?)] (%U%D%u %D{%a %H:%M:%S %p})%b'

# Use emacs keybindings even if our EDITOR is set to vi
bindkey -v

# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.zsh_history

# Use modern completion system
autoload -Uz compinit
compinit

zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '''m:{a-z}={A-Z}''m:{a-zA-Z}={A-Za-z}''r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

# end of .zshrc
a7user@obsa7:~% [19] (13-12-28 Sat 07:30:18 AM)

3.Open SSH

SSH プロトコル2 DSA鍵のpassphraseは無しで生成した。
# 本当は横着せずpassphraseはセットしたほうが無難。
a7user@obsa7:~% ssh-keygen -t dsa              [23] (13-12-28 Sat 09:16:56 AM)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/a7user/.ssh/id_dsa):
Created directory '/home/a7user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a7user/.ssh/id_dsa.
Your public key has been saved in /home/a7user/.ssh/id_dsa.pub.
The key fingerprint is: (省略)
このままだと、ssh はパスワード認証でログインできてしまう。 昔22番ポートを外向けに開けておいたとき、パスワード攻撃を受けたことがある。 Logwatchに何度もログインしようとした形跡が残っており、PasswordAuthentication noが無難。
# パスワードでログインする様子
a7user@obs:.ssh% ssh a7user@obsa7 [7] (13-12-28 Sat 09:21:19 AM)
a7user@obsa7's password:
Linux obsa7 3.2.40 #1 Mon Oct 21 14:10:25 JST 2013 armv5tel
そこで/etc/ssh/sshd_configを変更する
a7user@obsa7:~% diff /etc/ssh/sshd_config.org /etc/ssh/sshd_config
51c51
< #PasswordAuthentication yes
---
> PasswordAuthentication no

# 変更を反映する
root@obsa7:~# ps ax|grep /usr/sbin/sshd|grep -v grep
30782 ? Ss 0:00 /usr/sbin/sshd
root@obsa7:~# kill -1 30782 [16] (13-12-28 Sat 09:35:06 AM)
root@obsa7:~# tail -3 /var/log/auth.log [17] (13-12-28 Sat 09:35:14 AM)
Dec 28 09:35:14 obsa7 sshd[30782]: Received SIGHUP; restarting.
Dec 28 09:35:14 obsa7 sshd[30796]: Server listening on 0.0.0.0 port 22.
Dec 28 09:35:14 obsa7 sshd[30796]: Server listening on :: port 22.
root@obsa7:~# [18] (13-12-28 Sat 09:35:32 AM)
# パスワード認証でログインはできない
imacuser@imac2:~% ssh a7user@obsa7                 [4] (13-12-28 土 09:45:44 AM)
Permission denied (publickey).

# PasswordAuthentication変更前にid_dsa.pubを流し込む
user@REMOTE:.ssh% cat id_dsa.pub|ssh a7user@obsa7 "cat >> .ssh/authorized_keys2"

# これでpassphrase入力もしくは無しでログインが可能
myuser@imac2:.ssh% ssh a7user@obsa7 [20] (13-12-28 土 10:21:42 AM)
Linux obsa7 3.2.40 #1 Mon Oct 21 14:10:25 JST 2013 armv5tel

4.タイムゾーンとロケールの設定

root@obsa7:DPKG# dpkg-reconfigure tzdata
Current default time zone: 'Asia/Tokyo'
Local time is now: Sat Dec 28 10:11:36 JST 2013.
Universal Time is now: Sat Dec 28 01:11:36 UTC 2013.

root@obsa7:DPKG# aptitude install locales
root@obsa7:DPKG# diff /etc/locale.gen.org /etc/locale.gen
269,270c269,270
< # ja_JP.EUC-JP EUC-JP
< # ja_JP.UTF-8 UTF-8
---
> ja_JP.EUC-JP EUC-JP
> ja_JP.UTF-8 UTF-8
root@obsa7:DPKG# locale-gen
Generating locales (this might take a while)...
ja_JP.EUC-JP... done
ja_JP.UTF-8... done
Generation complete.
root@obsa7:DPKG#

obsA7-006 exim4とmydns.jp

$
0
0
Mail Transfer Agentはexim4を、おうちメールサーバアドレスとしては無料のダイナミックDNS(Dynamic DNS、DDNS)MyDNS.JPを使って構成する。 スマートホストの中継先は、smtp.mail.yahoo.co.jpを使っているが、たぶんsmtp.gmail.comでも同様に動作するだろう。

MyDNS.JP取得については省略する。以下のように名前解決していることが前提。

# host obsa7_sample.mydns.jp
obsa7_sample.mydns.jp has address 106.XXX.YYY.ZZZ
obsa7_sample.mydns.jp mail is handled by 10 obsa7_sample.mydns.jp.

1.exim4の設定

前準備

# パッケージexim4をインストール
# aptitude install exim4
# dpkg -l | grep exim4
ii exim4 4.80-7 all metapackage to ease Exim MTA (v4) installation
ii exim4-base 4.80-7 armel support files for all Exim MTA (v4) packages
ii exim4-config 4.80-7 all configuration for the Exim MTA (v4)
ii exim4-daemon-light 4.80-7 armel lightweight Exim MTA (v4) daemon

# もしpaniclogがあれば空にしておく。
# ls -l /var/log/exim4/paniclog
# cp /dev/null /var/log/exim4/paniclog

# ls -l /etc/exim4/update-exim4.conf.conf
-rw-r--r-- 1 root root 1027 Dec 24 21:18 /etc/exim4/update-exim4.conf.conf

# このupdate-exim4.conf.confは中間設定ワークであるが、
# /var/lib/exim4/config.autogenerated が設定・変更される

# update-exim4.conf.confを直接変更したときは、
# /usr/sbin/update-exim4.conf
# /etc/init.d/exim4 restart
# として、/var/lib/exim4/config.autogeneratedを更新・反映させる。
ではexim4-config を行う。以下はテキストベースの設定画面を説明用に部分抽出したもの。

# dpkg-reconfigure exim4-config

Package configuration
┤ Mail Server configuration


General type of mail configuration: メール設定の一般的なタイプ
│ internet site; mail is sent and received directly using SMTP
│ X mail sent by smarthost; received via SMTP or fetchmail
│ mail sent by smarthost; no local mail
│ local delivery only; not on a network
│ no configuration at this time


System mail name: システムメール名 /etc/mailname
│ obsa7.local_sample.or.jp


IP-addresses to listen on for incoming SMTP connections: 入力側SMTP接続をリスンするIPアドレス
│ 空


Other destinations for which mail is accepted: このSMTPサーバーで扱うドメインを指定します。
│ obsa7_sample.mydns.jp


Domains to relay mail for: 外部リレーは認証済みのアカウント以外はできないので空でもよい。
│ smtp.mail.yahoo.co.jp


Machines to relay mail for: メールをリレーするマシン
│ local_sample.or.jp:*.local_sample.or.jp:*.mail.yahoo.co.jp


IP address or host name of the outgoing smarthost: このホストから送出されたメールを操作するマシン (スマートホスト)
│ smtp.mail.yahoo.co.jp::587


│ Hide local mail name in outgoing mail? 送出するメールでローカルメール名を隠しますか?


Keep number of DNS-queries minimal (Dial-on-Demand)? DNS クエリの数を最小限に留めますか (ダイヤルオンデマンド)?


Delivery method for local mail:
│ X mbox format in /var/mail/
│ Maildir format in home directory


Split configuration into small files? 設定を小さなファイルに分割しますか?


Root and postmaster mail recipient:
│ root


[ ok ] Stopping MTA for restart: exim4_listener.
[ ok ] Restarting MTA: exim4.

# egrep -v '^#' update-exim4.conf.conf

dc_eximconfig_configtype='smarthost'
dc_other_hostnames='obsa7_sample.mydns.jp'
dc_local_interfaces=''
dc_readhost='obs.local_sample.or.jp'
dc_relay_domains='smtp.mail.yahoo.co.jp'
dc_minimaldns='false'
dc_relay_nets='local_sample.or.jp:*.local_sample.or.jp:*.mail.yahoo.co.jp'
dc_smarthost='smtp.mail.yahoo.co.jp::587'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
SMTP-AUTH認証用 passwd.client を設定

# egrep -v '^#' /etc/exim4/passwd.client
smtp.mail.yahoo.co.jp:Yahoo_JAPAN_MAIL@yahoo.co.jp:"Yahoo! JAPAN パスワード"

# chgrp Debian-exim passwd.client
# ls -l /etc/exim4/passwd.client
-rw-r----- 1 root Debian-exim 330 Dec 31 09:42 /etc/exim4/passwd.client
passwd.clientへのIDパスワードは、
http://info.mail.yahoo.co.jp/options/imapprofile/
Yahoo!JAPANにログイン後このページを見て
smtp.mail.yahoo.co.jp:メールアドレス:パスワード の行を設定する。
Yahoo_JAPAN_MAIL@yahoo.co.jp部分は@yahoo.co.jpを省略しても通ったようだ。

サーバー設定
受信メール(IMAP)サーバー imap.mail.yahoo.co.jp
受信メール(IMAP)通信方法 SSL
受信メール(IMAP)ポート番号 993
送信メール(SMTP)サーバー smtp.mail.yahoo.co.jp
送信メール(SMTP)認証方式 SMTP_AUTH
送信メール(SMTP)通信方法 SSL
送信メール(SMTP)ポート番号 465
アカウント名/ログイン名 Yahoo_JAPAN_ID ... "Yahoo! JAPAN ID"
メールアドレス Yahoo_JAPAN_MAIL@yahoo.co.jp
パスワード Yahoo! JAPAN パスワード
証明書の作成
# /usr/share/doc/exim4-base/examples/exim-gencert
Country Code (2 letters) [US]:JP
State or Province Name (full name) []:MY_FULL_NAME
Locality Name (eg, city) []:
Organization Name (eg, company; recommended) []:
Organizational Unit Name (eg, section) []:
Server name (eg. ssl.domain.tld; required!!!) []:
Email Address []:
[*] Done generating self signed certificates for exim!
Refer to the documentation and example configuration files
over at /usr/share/doc/exim4-base/ for an idea on how to enable TLS
support in your mail transfer agent.
root@obsa7:exim4# ls -l exim.crt exim.key
-rw-r----- 1 root Debian-exim 652 Dec 30 23:22 exim.crt
-rw-r----- 1 root Debian-exim 916 Dec 30 23:22 exim.key
SMTP認証の設定
ユーザ認証方式は、「AUTH PLAIN」「AUTH LOGIN」を有効化する。
# diff /etc/exim4/exim4.conf.template.org /etc/exim4/exim4.conf.template
316c316
<
---
> MAIN_TLS_ENABLE = USE
1818,1826c1818,1826
< # plain_server:
< # driver = plaintext
< # public_name = PLAIN
< # server_condition = "${if crypteq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
< # server_set_id = $auth2
< # server_prompts = :
< # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
< # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
< # .endif
---
> plain_server:
> driver = plaintext
> public_name = PLAIN
> server_condition = "${if crypteq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
> server_set_id = $auth2
> server_prompts = :
> .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
> server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
> .endif
1833,1841c1833,1841
< # login_server:
< # driver = plaintext
< # public_name = LOGIN
< # server_prompts = "Username:: : Password::"
< # server_condition = "${if crypteq{$auth2}{${extract{1}{:}{${lookup{$auth1}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
< # server_set_id = $auth1
< # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
< # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
< # .endif
---
> login_server:
> driver = plaintext
> public_name = LOGIN
> server_prompts = "Username:: : Password::"
> server_condition = "${if crypteq{$auth2}{${extract{1}{:}{${lookup{$auth1}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
> server_set_id = $auth1
> .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
> server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
> .endif

2.メール送信テスト


<toYahoo.sh>
#! /bin/sh
set -x
export DT="TEST_test `date`"
(echo "Subject: $DT"; echo "To: au_user@ezweb.ne.jp";\
echo "From: Yahoo_JAPAN_MAIL@yahoo.co.jp"; echo ""; echo "$DT" ;\
echo "from `hostname`") | \
/usr/sbin/exim4 -v -f Yahoo_JAPAN_MAIL@yahoo.co.jp au_user@ezweb.ne.jp

# このスクリプトを実行
obsa7user@obsa7:~% ./toYahoo.sh
+ date
+ export DT=TEST_test Tue Dec 31 00:37:01 JST 2013
+ /usr/sbin/exim4+ -v -f obsa7_sample_user@yahoo.co.jp au_user@ezweb.ne.jp
echo Subject: TEST_test Tue Dec 31 00:37:01 JST 2013
+ echo To: au_user@ezweb.ne.jp
+ echo From: obsa7_sample_user@yahoo.co.jp
+ echo
+ echo TEST_test Tue Dec 31 00:37:01 JST 2013
+ hostname
+ echo from obsa7
LOG: MAIN
<= obsa7_sample_user@yahoo.co.jp U=obsa7user P=local S=408
obsa7user@obsa7:~% delivering 1Vxetp-0001hN-6O
R: smarthost for au_user@ezweb.ne.jp
T: remote_smtp_smarthost for au_user@ezweb.ne.jp
Transport port=25 replaced by host-specific port=587
Connecting to smtp.mail.yahoo.co.jp [114.111.99.228]:587 ... connected
SMTP<< 220 smtp506.mail.kks.yahoo.co.jp ESMTP
SMTP>> EHLO obsa7
SMTP<< 250-smtp506.mail.kks.yahoo.co.jp
250-AUTH LOGIN PLAIN XYMCOOKIE
250-PIPELINING
250 8BITMIME
SMTP>> AUTH PLAIN ****************************
SMTP<< 235 ok, go ahead (#2.0.0)
SMTP>> MAIL FROM: AUTH=obsa7user@obsa7.local_sample.or.jp
SMTP>> RCPT TO:
SMTP>> DATA
SMTP<< 250 ok
SMTP<< 250 ok
SMTP<< 354 go ahead
SMTP>> writing message and terminating "."
SMTP<< 250 ok 1388417821 qp 62878
SMTP>> QUIT
LOG: MAIN
=> au_user@ezweb.ne.jp R=smarthost T=remote_smtp_smarthost H=smtp.mail.yahoo.co.jp [114.111.99.228]
LOG: MAIN
Completed
%

</var/log/exim4/mainlog>
2013-12-31 00:37:01 1Vxetp-0001hN-6O <= Yahoo_JAPAN_MAIL@yahoo.co.jp U=a7user P=local S=408
2013-12-31 00:37:02 1Vxetp-0001hN-6O => au_user@ezweb.ne.jp R=smarthost T=remote_smtp_smarthost H=smtp.mail.yahoo.co.jp [114.111.99.228]
もし送信に失敗していたなら、メールがFrozenになるので、
→ 1Vxdpt-0000tm-7W Frozen (delivery error message)
# pushd /var/spool/exim4/input/; rm -i 1* とかして、失敗メールは削除する。


obsA7-007 exim4でsmtp.google.comに

$
0
0
前回のobsA7-006 exim4とmydns.jp に続いて、スマートホスト先をsmtp.google.comにして見た。

1.yahooとgoogleの差分

dc_relay_はコメントにして、dc_smarthostをsmtp.mail.yahoo.co.jpからsmtp.gmail.comにする。
#ためしているだけで、通常はyahoo.co.jpを使用する予定。

# diff update-exim4.conf.conf_yahoo update-exim4.conf.conf
23c23
< dc_relay_domains='smtp.mail.yahoo.co.jp'
---
> #dc_relay_domains='smtp.mail.yahoo.co.jp'
25c25
< dc_relay_nets='local_sample.or.jp:*.local_sample.or.jp:*.mail.yahoo.co.jp'
---
> #dc_relay_nets='local_sample.or.jp:*.local_sample.or.jp:*.mail.yahoo.co.jp'
28c28
< #dc_smarthost='smtp.gmail.com::587'
---
> dc_smarthost='smtp.gmail.com::587'
30c30
< dc_smarthost='smtp.mail.yahoo.co.jp::587'
---
> #dc_smarthost='smtp.mail.yahoo.co.jp::587'
SMTP-AUTH認証用 passwd.client の変更
# egrep -v '^#' /etc/exim4/passwd.client
*.google.com:GUSERID@gmail.com:PASSWORD
ここが、*.google.comでなく smtp.google.comだと、
SMTP>> STARTTLS でReady to start TLSになるものの
SMTP>> AUTH PLAIN ******************************
のAUTH PLAINにならずに、
SMTP>> MAIL FROM:
となって送信出来なかった。
送信サーバは gmail-smtp-msa.l.google.com になるのかと思われる。

2.メール送信テスト


<toGoogle.sh>
#! /bin/sh
set -x
export DT="TEST_test `date`"
(echo "Subject: $DT"; echo "To: au_user@ezweb.ne.jp";\
echo "From: GUSERID@gmail.com"; echo ""; echo "$DT" ;\
echo "from `hostname`") | \
/usr/sbin/exim4 -v -f GUSERID@gmail.com au_user@ezweb.ne.jp

# このスクリプトを実行
% ./toGoogle.sh [82] (13-12-31 Tue 14:00:59 PM)
+ date
+ export DT=TEST_test Tue Dec 31 14:01:01 JST 2013
+ /usr/sbin/exim4+ -v -f GUSERID@gmail.com au_user@ezweb.ne.jp
echo Subject: TEST_test Tue Dec 31 14:01:01 JST 2013
+ echo To: GUSERID@gmail.com
+ echo From: GUSERID@gmail.com
+ echo
+ echo TEST_test Tue Dec 31 14:01:01 JST 2013
+ hostname
+ echo from obsa7
LOG: MAIN
<= GUSERID@gmail.com U=a7user P=local S=399
delivering 1VxrRt-0003XY-GO
R: smarthost for au_user@ezweb.ne.jp
T: remote_smtp_smarthost for au_user@ezweb.ne.jp
Transport port=25 replaced by host-specific port=587
Connecting to gmail-smtp-msa.l.google.com [74.125.129.108]:587 ... connected
SMTP<< 220 mx.google.com ESMTP ae5sm111949890pac.18 - gsmtp
SMTP>> EHLO obsa7
SMTP<< 250-mx.google.com at your service, [106.172.137.192]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250 CHUNKING
SMTP>> STARTTLS
SMTP<< 220 2.0.0 Ready to start TLS
SMTP>> EHLO obsa7
SMTP<< 250-mx.google.com at your service, [106.172.137.192]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN
250-ENHANCEDSTATUSCODES
250 CHUNKING
SMTP>> AUTH PLAIN ****************************************
SMTP<< 235 2.7.0 Accepted
SMTP>> MAIL FROM: SIZE=1434 AUTH=a7user@obsa7.local
SMTP<< 250 2.1.0 OK ae5sm111949890pac.18 - gsmtp
SMTP>> RCPT TO:
SMTP<< 250 2.1.5 OK ae5sm111949890pac.18 - gsmtp
SMTP>> DATA
SMTP<< 354 Go ahead ae5sm111949890pac.18 - gsmtp
SMTP>> writing message and terminating "."
SMTP<< 250 2.0.0 OK 1388466065 ae5sm111949890pac.18 - gsmtp
SMTP>> QUIT
LOG: MAIN
=> au_user@ezweb.ne.jp R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com [74.125.129.108] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=smtp.gmail.com"
LOG: MAIN
Completed

a7user@obsa7:~%

3.第三者中継テスト

25番ポート開けておくと、結構Relay要求があるようだ。現行のOBS600のログ。

To: UUUUU@HHHHH.mydns.jp
Subject: Logwatch for obs (Linux)
Date: Mon, 16 Dec 2013 06:26:54 +0900

################### Logwatch 7.4.0 (05/02/12) ####################
Processing Initiated: Mon Dec 16 06:26:37 2013
Date Range Processed: yesterday
( 2013-Dec-15 )
Period is day.
Detail Level of Output: 0
Type of Output/Format: mail / text
Logfiles for Host: obs
##################################################################

--------------------- EXIM Begin ------------------------

--- Refused Relays 64 times

--- Bad Hosts ---

--- Failed Reverse Lookups
--- 18 Time(s)
念のため、このサイトhttp://www.rbl.jp/svcheck.phpを利用させていただいて確認した。

第三者中継テスト
第三者中継テストのためobsa7_sample.mydns.jpに接続しています...

((((( 途中省略 ))))))

>>> RSET
relay NOT accepted!!
中継テスト その19

>>> RSET
relay NOT accepted!!
接続を閉じています...

>>> QUIT
第三者中継テストの結果

全てのテストが行われました, no relays accepted.
最後の行が"no relays accepted"だと合格のようだ。

obsA7-008 無線LAN

$
0
0
アクセスポイント(無線LANブリッジ)として使用する場合の設定を行ったときのメモです。

1.無線LAN子機 WLI-UC-GN

BUFFALO WLI-UC-GN、このWLI-UC-GNは、 obs600でも使用していたもの (記事2011年6月19日 obs600-10 BUFFALOアダブタ) で、やや安定感が低く時々はドライバをUnload/Loadしながらで、やがて使わなくなっています。linux-2.6.36のときから、linux-3.2.40にアップグレードした今回のドライバではどうでしょうか。
WLI-UC-GN抜き差ししやすいように、短めの延長ケーブルを使っている。
ドライバのビルドせずともWLI-UC-GNアダプタを刺すだけで認識した。

% tail -f /var/log/syslog
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: new high-speed USB device number 6 using orion-ehci
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: New USB device found, idVendor=0411, idProduct=015d
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: Product: 802.11 n WLAN
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: Manufacturer: Ralink
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: SerialNumber: 1.0
Jan 6 11:11:05 obsa7 kernel: usb 1-1.2: reset high-speed USB device number 6 using orion-ehci
Jan 6 11:11:05 obsa7 kernel: ieee80211 phy18: Selected rate control algorithm 'minstrel_ht'
Jan 6 11:11:05 obsa7 kernel: Registered led device: rt2800usb-phy18::radio
Jan 6 11:11:05 obsa7 kernel: Registered led device: rt2800usb-phy18::assoc
Jan 6 11:11:05 obsa7 kernel: Registered led device: rt2800usb-phy18::quality
Jan 6 11:11:05 obsa7 kernel: usbcore: registered new interface driver rt2800usb
# lsmod
Module Size Used by
rt2800usb 12586 0
rt2800lib 39792 1 rt2800usb
crc_ccitt 1045 1 rt2800lib
rt2x00usb 7293 1 rt2800usb
rt2x00lib 29900 3 rt2x00usb,rt2800lib,rt2800usb
まず始めは、rtl8192cu な GW-USValue-EZを試みたがうまく設定できなかった。
この rt2800usb はすんなりと動いた。
% uname -a #OBSA7標準のこのバージョンを使用
Linux obsa7 3.2.40 #1 Mon Oct 21 14:10:25 JST 2013 armv5tel GNU/Linux

2.ralinkファームウェアインストール

# aptitude install firmware-ralink
The following NEW packages will be installed:
firmware-ralink
0 packages upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 21.4 kB of archives. After unpacking 96.3 kB will be used.
Get: 1 http://ftp.plathome.co.jp/pub/debian/ wheezy/non-free firmware-ralink all 0.36+wheezy.1 [21.4 kB]
Fetched 21.4 kB in 0s (82.6 kB/s)
Selecting previously unselected package firmware-ralink.
(Reading database ... 33634 files and directories currently installed.)
Unpacking firmware-ralink (from .../firmware-ralink_0.36+wheezy.1_all.deb) ...
Setting up firmware-ralink (0.36+wheezy.1) ...

# rt2*.bin rt3*.bin rt73.bin がインストールされる
# ls /lib/firmware/
RTL8192E mts_cdma.fw rt2661.bin rt3090.bin ti_5052.fw
RTL8192SU mts_edge.fw rt2860.bin rt73.bin whiteheat.fw
edgeport mts_gsm.fw rt2870.bin rtl_nic whiteheat_loader.fw
kaweth rt2561.bin rt3070.bin rtlwifi
keyspan_pda rt2561s.bin rt3071.bin ti_3410.fw

3.hostapdのインストール

% wget http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz
% tar zxf hostapd-2.0.tar.gz
% cd hostapd-2.0/hostapd
% cp defconfig .config
% echo CONFIG_LIBNL32=y >> .config

% diff defconfig .config #CONFIG_IEEE80211N=yも変更した
139c139
< #CONFIG_IEEE80211N=y
---
> CONFIG_IEEE80211N=y
269a270
> CONFIG_LIBNL32=y

% sudo apt-get libnl-genl-3-dev libssl-dev
% make
# make install
# /usr/local/bin/hostapd -v
hostapd v2.0
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2012, Jouni Malinen and contributors

#hostapd.confはとりあえず動いた状態でまだ吟味できていない
# cat /etc/hostapd/hostapd.conf
interface=wlan0
bridge=br0
driver=nl80211
country_code=JP
ieee80211d=1
ssid=MYSSID
channel=6
hw_mode=g
wpa=2
wpa_passphrase=MYPASSPHRASE
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ieee80211n=1
wmm_enabled=1
#

4.hostapdの実行


# /usr/local/bin/hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
rfkill: Cannot open RFKILL control device
Using interface wlan0 with hwaddr 4c:e6:76:XX:XX:XX and ssid "MYSSID"
^C 起動を確認して中断し、backgroundの-Bをつけて起動。
# /usr/local/bin/hostapd -B /etc/hostapd/hostapd.conf

# iwconfig 2>&1|egrep -v "^$|no wireless"
wlan0 IEEE 802.11bgn Mode:Master Frequency:2.437 GHz Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on

mon.wlan0 IEEE 802.11bgn Mode:Monitor Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on

# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 4c:e6:76:XX:XX:XX
inet6 addr: fe80::4ee6:76ff:XXX:YYYY/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:36414 errors:0 dropped:0 overruns:0 frame:0
TX packets:48406 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4066244 (3.8 MiB) TX bytes:39695195 (37.8 MiB)

# tail -f /var/log/syslog
Jan 6 11:44:59 obsa7 kernel: device wlan0 entered promiscuous mode
Jan 6 11:44:59 obsa7 kernel: br0: port 2(wlan0) entering forwarding state
Jan 6 11:44:59 obsa7 kernel: br0: port 2(wlan0) entering forwarding state
Jan 6 11:45:02 obsa7 ntpd[3148]: Listen normally on 32 wlan0 fe80::4ee6:76ff:XXX:YYYY UDP 123
Jan 6 11:45:02 obsa7 ntpd[3148]: peers refreshed
Jan 6 11:45:10 obsa7 kernel: wlan0: no IPv6 routers present
Jan 6 11:45:14 obsa7 kernel: br0: port 2(wlan0) entering forwarding state

Jan 6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX IEEE 802.11: authenticated
Jan 6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX IEEE 802.11: associated (aid 1)
Jan 6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX RADIUS: starting accounting session 52CA18AB-00000000
Jan 6 11:45:58 obsa7 hostapd: wlan0: STA 84:7a:88:XX:XX:XX WPA: pairwise key handshake completed (RSN)
syslogにこのようなメッセージで"WPA: pairwise key handshake completed"がでてるとOK。

5.rt2800usbドライバのアンロード/ロード

別ドライバGW-USValue-EZなどrtl8192cuをテストするのにドライバのアンロード/ロードをするたびに、wlan0,wlan1,wlan2...とインターフェイス名が変わるのはおもしろくないので、wlan0固定で使えるように以下のようなスクリプトを書いて回避するようにした。
インターフェイス名はこのファイルが影響するもよう
# tail -3 /etc/udev/rules.d/70-persistent-net.rules

# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="4c:e6:76:3c:a9:01", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

#70-persistent-net.rulesの後ろ3行を削除して、ドライバをロードすると、
#いつも"wlan0"になるが、もっとスマートな方法がありそうな...

# cat /etc/init.d/bridge.sh
#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
LINK=`cat /etc/LIF` #もしくはLINK=eth0
WIF=${WIF:=eth1}
case "$1" in
start)
echo -n "Configuring bridge interfaces..."
ps ax|grep dhclient|grep -qv grep
if [ $? != 1 ]; then
killall dhclient
fi
lsmod | grep -q rt2800usb
if [ $? != 1 ]; then
rmmod rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib
fi
RDIR="/etc/udev/rules.d"
RULE="70-persistent-net.rules"
RSRC=${RDIR}/${RULE}
WLAN="wlan0"
if [ -f $RSRC ]; then
grep -q $WLAN $RSRC
if [ $? = 0 ]; then
RTMP="/tmp/${RULE}"
cp -p $RSRC $RTMP
POS1=`egrep -n $WLAN $RTMP |head -1| cut -d: -f1`
POS0=`expr ${POS1} - 2`
sed -e ${POS0},${POS1}d $RTMP > $RSRC
fi
fi
#diff /tmp/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules
# vi /etc/udev/rules.d/70-persistent-net.rules ... sed /wlan0/d
brctl addbr br0
brctl addif br0 $LINK
ifconfig $LINK 0.0.0.0 up
sleep 1
modprobe rt2800usb
( sleep 2; /sbin/dhclient -q ${WIF}; sleep 5; \
/usr/local/bin/hostapd -B /etc/hostapd/hostapd.conf ) &
echo "done."
;;
stop)
echo -n "Deconfiguring bridge interfaces..."
ps ax|grep hostapd|grep -qv grep
if [ $? != 1 ]; then
killall hostapd
fi
killall dhclient
ifconfig -a|grep -q br0
if [ $? != 1 ]; then
ifconfig br0 0.0.0.0 down
fi
ifconfig $LINK 0.0.0.0 down
lsmod | grep -q rt2800usb
if [ $? != 1 ]; then
rmmod rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib
fi

brctl delif br0 $LINK
brctl show|grep -q $LINK
if [ $? != 1 ]; then
brctl delif br0 $LINK
fi
brctl show|grep -q br0
if [ $? != 1 ]; then
brctl delbr br0
fi
echo -n "dhclient $LINK . "
/sbin/dhclient -q $LINK
echo "done."
;;
*)
echo "Usage: $0 {start|stop}">&2
exit 1
;;
esac
#
/etc/network/interfaces に指定するのがスマートなのでしょうが、テスト時の柔軟さを優先すると、スクリプト書きが好みです。 安定して動作するか、転送速度・性能を含めて経過観察していきたい。

6.WLI-UC-GN稼働状況(追記2014.4.21)

OBS A7 は実に安定している。堅牢ということばが似合うルータだ。
遅ればせながら、# aptitude update と # aptitude safe-upgrade を行い
kernel-image や OpenSSL を含むアップデートを行う前に、wlan0のインターフェイス を確認しておく。

% date
Mon Apr 21 09:39:04 JST 2014

% uptime
09:39:29 up 93 days, 19:35, 2 users, load average: 0.05, 0.09, 0.06

% ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 4c:e6:76:3c:a9:01
inet6 addr: fe80::4ee6:76ff:fe3c:a901/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34453010 errors:0 dropped:0 overruns:0 frame:0
TX packets:36020512 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2098197015 (1.9 GiB) TX bytes:3952858575 (3.6 GiB)
wlan0は連続93日稼働で、TX側36020512パケットで(3.6 GiB)となっている。

br0 Link encap:Ethernet HWaddr 00:0a:85:09:01:74
inet addr:192.168.1.30 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20a:85ff:fe09:174/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:44300752 errors:0 dropped:2 overruns:0 frame:0
TX packets:67218375 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5603503687 (5.2 GiB) TX bytes:83616546596 (77.8 GiB)
ちなみにブリッジinterface br0には77.8 GiB流量があったようだ。
ここまでの約3ヶ月、WLI-UC-GNは問題なく、とても良く働いてくれている。

そして、iPerfでobsA7とiMac間をパフォーマンス測定すると。

(obsA7側) % iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.30 port 5001 connected with 192.168.1.62 port 65098
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.1 sec 37.5 MBytes 31.1 Mbits/sec

(iMac側) % iperf -c obsa7
------------------------------------------------------------
Client connecting to obsa7, TCP port 5001
TCP window size: 129 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.62 port 65098 connected with 192.168.1.30 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.1 sec 37.5 MBytes 31.2 Mbits/sec
およそ無線LANでは、31Mbits/secと計測できた。

ちなみに有線LANだと。以下のように132Mbits/secと計測した。

(obsA7側) % iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.30 port 5001 connected with 192.168.1.61 port 65039
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 157 MBytes 132 Mbits/sec

(iMac側) % iperf -c obsa7
------------------------------------------------------------
Client connecting to obsa7, TCP port 5001
TCP window size: 129 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.1.61 port 65039 connected with 192.168.1.30 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 157 MBytes 132 Mbits/sec

# iwconfig
wlan0 IEEE 802.11bgn Mode:Master Frequency:2.437 GHz Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
mon.wlan0 IEEE 802.11bgn Mode:Monitor Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
今は、/etc/hostapd/hostapd.conf のhw_mode=gだが、ここが11nでいつか動けばいいなぁ。

Android-001 root化(ISW13HT)

$
0
0
手持ちのAndroid端末6台を初心者ながらroot化してみた。root化の作業の知識はほとんどなく、ワンクリックツールで以前に
2013年4月26日金曜日 記事 Nexus7-01 4.2.2(JDQ39)
2013年4月29日月曜日 記事 GalaxyNexus-01 4.2.2(JDQ39)
の2台をroot化したことがあるくらいで、このときと同様に、今回、もし失敗して端末起動しなくなったら、そっとジャンク箱にしまい込むつもりで臨んだ。が、喜ばしいことにとりあえず6台はroot化に成功した。
そのとき、ググって参照したページをメモに残す。有用な情報を掲載くださった方々に感謝します。
※ 以下、目新しい情報はありません。同じようにやって見た。という話題・内容です。
※ 作業しながら本メモを書いていないので記憶に間違いがあるかもです。
# Android端末6台の一覧
1.au HTC J (ISW13HT)
2.au HTC J butterfly (HTL21)
3.au HTC J One (HTL22)
4.au Xperia acro HD (IS12S)
5.docomo Xperia AX (SO-01E)
6.EMOBILE Nexus 5 (EM01L)

0.事前準備・予備知識

以下のコマンドでiMacにて作業前バックアップを取った。
% adb backup -f 20YYMMDD_shared.ab -apk -shared -all -system
復元は、
% adb restore 20YYMMDD_shared.ab
自分がインストールしたアプリとsdcardなどのユーザエリアの退避復元は問題なく行えた。-shared -allで、sdcardパスであるshared/0/やshared/1/が対象になるようだ。

・Win7機のAndroidドライバはHTC Sync Manager
 setup_2.4.36.0_htc.exe をインストールする。
・Android SDKはGet the Android SDK > Download から
 installer_r22.3-windows.exeをc:\android-sdk-windowsにインストールする。
 さらにPath=c:\android-sdk-windows\platform-tools; パスを通す。
・C:\Windows\System32\ja-JP\devmgmt.msc
 デバイスマネージャをデスクトップにショートカット。
 これは、> Android USB Devices をみて、
  + My HTC ... HTC機接続で「このデバイスは正常に動作しています。」確認用。
・Android端末設定
 開発者向けオプション USBデバッグ ON(必須)
 セキュリティ     不明な提供元 ON
 ディスプレイ     スリープを無効にする ON
・HTC機種ブートローダHBOOTの入りかた
 電源OFFで、<POWER>+<VOL DOWN>同時押しして、7秒後に<POWER>を離す。
 コマンドでは、$ adb reboot bootloader
・リカバリモードへはブートローダのHBOOTメニューからRECOVERYを選ぶ
 コマンドでは、$ adb reboot recovery

1.HTC J(ISW13HT)編 [1/6]

手持ちのISW13HTアップデートの履歴。
入手日2012年07月13日 ソフトウェアの番号:1.20.970.2 Androidバージョン:4.0.3
更新日2012年07月13日 ソフトウェアの番号:1.31.970.1
更新日2012年10月16日 ソフトウェアの番号:2.05.970.3
更新日2013年03月19日 ソフトウェアの番号:2.06.970.4
au製品アップデート情報のページ 
HTC J ISW13HT アップデート情報
最終は 2013年11月19日 ソフトウェアの番号:2.07.970.7 のもよう
当方は2013年03月19日の2.06.970.4にしてからアップデートはせず放置していた。

(1)2.06.970.4から2.05.970.3 にバージョンダウン
ISW13HT(Version 2.06.970.4)のS-OFFまでの手順について (HTC速報Dev)

<バイナリエディタ確認メモ>
Emacsでmmcblk0p23.orgを開いて M-x hexl-mode

00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000090: 436c 6561 7241 7574 6f49 6d61 6765 2000 ClearAutoImage .
000000a0: 322e 3036 2e39 3730 2e34 0000 0000 0000 2.06.970.4......
000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................

% cmp -l mmcblk0p23.org mmcblk0p23 #cmpコマンドは8進
164 66 65  #16進 36 → 35
170 64 63  #16進 34 → 33

000000a0: 322e 3035 2e39 3730 2e33 0000 0000 0000 2.05.970.3......
バージョンダウンの実行は、このページの
http://htcsoku.info/htcsokudev/rudimentary-knowledge/ruu/
「本体でSDカード(外部メモリ)から直接RUUを行う方法」で行った。
RUU_VALENTE_WX_ICS_40_S_KDDI_JP_2.05.970.3_Radio_1.53.30.0905_NV_1.17_01C_release_284185_signed.exe から、rom.zipを取り出して、PK07IMG.zipにリネームする。
ファイル:545552438 9 21 2012 PK07IMG.zip
MD5 (PK07IMG.zip) = 3ad984581a5e5f08763e6087fd1bce7f

このPK07IMG.zipを/sdcardに配置し、HBOOTを起動すると次の画面になった。
rebootすると、2.05.970.3へのダウングレードができていた。

(2)root化やSuperCID化、BootLoaderUnlockなどの作業
このページの 「※3、バージョン2.05.970.3の方」にある
HTCJrootkit_v3.1.rarのrootkitを用いた。
HTC J Valente : 各バージョンのroot化について (HTC速報Dev)
を見て、SuperCID、アンロック、recovery起動、SuperSuを行った。

さらにISW13HTのroot化、アンロック、S-OFF、SIMフリー化までは、丁寧でとてもわかりやすい。
SIMフリー化の解説もあったが、auの回線で使う可能性があるので処理はしなかった。

(3)S-OFFの作業
この「FacePalm」で行った。この通りに処理できた。


Android-002 root化(HTL21,HTL22)

$
0
0

2.HTC J(HTL21)編 [2/6]

手持ちのHTL21アップデートの履歴。
入手日2013年02月17日 ソフトウェアの番号:1.15.970.1 Androidバージョン:4.1.1
更新日2013年03月13日 ソフトウェアの番号:1.29.970.1
更新日2013年08月22日 ソフトウェアの番号:1.36.970.1
au製品アップデート情報のページ 
HTC J butterfly HTL21 アップデート情報
最終は 2013年12月11日 ソフトウェアの番号:1.39.970.1 のもよう
当方は2013年08月22日の1.36.970.1にしてからアップデートはせず放置していた。

(1)1.36.970.1から1.15.970.1 にバージョンダウン
【誤報でした】au HTL21 HTC J butterflyのダウングレードが可能に、やってみた (HTC速報Dev)
このHTC速報Devを見たあと、つぎの、 小物置き場
に、
HTC J One/HTC J butterfly用ダウングレードツール
【対応端末】HTC J butterfly(ソフトウェア番号:1.36.970.1および1.39.970.1)
というのが早そうなので試した。以下2つのzipファイルを用意して、

[firmware.zip]
・HTC J butterfly HTL21(ソフトウェア番号:1.36.970.1用)
は、1369701_firmware.zip にリネームする。
MD5 (1369701_firmware.zip) = eba04a7b8eced5253e6f7afb312ab020

[PL99IMG_DLX_WLJ_JB_45_KDDI_JP_1.15.970.1_R_Radio_1.00.10.1127_3_NV_2.28_01C_release_signed.zip]
は、rom.zip にリネームする。
MD5 (rom.zip) = bbdb74f082b9ca6b98e7419bf1a32d12

をdowngrad_toolに配置して、downgrad_tool>run_me.bat を実行するが、
途中で止まってしまった。

downgrad_tool>run_me.bat
|<途中省略>
Attempt put_user exploit...
0p21 of=/sdcard/mmcblk0p21_misc_backup
2045+0 records in
2045+0 records out
1047040 bytes transferred in 0.357 secs (2932885 bytes/sec)
1_misc_fake of=/dev/block/mmcblk0p21
2045+0 records in
2045+0 records out
1047040 bytes transferred in 0.137 secs (7642627 bytes/sec)
shell@android:/data/local/tmp # exit
shell@android:/data/local/tmp $ exit
RUUを適用します。触らずにそのままお待ちください。

0 秒待っています。続行するには何かキーを押してください ...
< waiting for device >
...
(bootloader) Start Verify: 3
OKAY [ 0.039s]
finished. total time: 0.040s

0 秒待っています。続行するには何かキーを押してください ...
< waiting for device >
sending 'zip' (35212 KB)...
|<ここで止まった。>
sending 'zip' (35212 KB)...
FAILED (status read failed (Too many links))
finished. total time: 5464.188s

0 秒待っています。続行するには何かキーを押してください ...
< waiting for device >
なにか足りないものがあるのだろう。これは弱った。あきらめずに、run_me.batを読んで、1行ごと手打ちで実行してみることにした。たぶんfastboot flash zip rom.zipあたりで止まっているのだろうと予想した。

C:\Users\myuser>adb shell
shell@android:/ $ cd /data/local/tmp
cd /data/local/tmp
shell@android:/data/local/tmp $ ls -l
ls -l
-rwxr-xr-x shell shell 55296 2014-01-22 18:33 device.db
-rwxr-xr-x shell shell 396588 2014-01-22 18:47 run_root_shell
shell@android:/data/local/tmp $ ls -l /sdcard/mmc*
ls -l /sdcard/mmc*
-rwSrwSr-T root sdcard_rw 1047040 2014-02-16 17:32 mmcblk0p21_misc_backup
-rw-rw-r-- root sdcard_rw 1047040 2014-02-16 17:31 mmcblk0p21_misc_fake
shell@android:/data/local/tmp $ ./run_root_shell
./run_root_shell
Device detected: HTL21 (JRO03C)
Attempt acdb exploit...
failed to open /dev/msm_acdb due to Permission denied.
Attempt fj_hdcp exploit...
Attempt msm_cameraconfig exploit...
Detected kernel physical address at 0x80608000 form iomem
Attempt put_user exploit...

1|shell@android:/data/local/tmp # cmp -l /dev/block/mmcblk0p21 /sdcard/mmcblk0p2
1_misc_backup
lk0p21 /sdcard/mmcblk0p21_misc_backup <
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 162
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 163
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 165
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 166
/dev/block/mmcblk0p21 /sdcard/mmcblk0p21_misc_backup differ byte 169
1|shell@android:/data/local/tmp # cmp -l /dev/block/mmcblk0p21 /sdcard/mmcblk0p2
1_misc_fake
lk0p21 /sdcard/mmcblk0p21_misc_fake <
shell@android:/data/local/tmp #

|mmcblk0p21のパッチは正しいようだ。
|<途中省略>

HTL21\downgrad_tool>fastboot flash zip rom.zip
sending 'zip' (821718 KB)...
OKAY [ 43.181s]
writing 'zip'...
(bootloader) adopting the signature contained in this image...
(bootloader) signature checking...
(bootloader) rom parsing start ...
(bootloader) rom parsing finish ...
(bootloader) zip header checking...
(bootloader) zip info parsing...
(bootloader) checking model ID...
(bootloader) checking custom ID...
(bootloader) checking main version...
(bootloader) checking hboot version...
(bootloader) start image[sbl3] unzipping & flushing...
(bootloader) [RUU]UZ,sbl3,0
(bootloader) [RUU]UZ,sbl3,100
(bootloader) signature checking...
(bootloader) ...... Successful
(bootloader) start image[boot] unzipping & flushing...
(bootloader) [RUU]UZ,boot,0
(bootloader) [RUU]UZ,boot,14

|<途中省略>

(bootloader) [RUU]WP,radio,0
(bootloader) [RUU]WP,radio,33
(bootloader) [RUU]WP,radio,67
(bootloader) [RUU]WP,radio,100
(bootloader) ...... Successful
(bootloader) start image[rcdata] unzipping & flushing...
(bootloader) [RUU]UZ,rcdata,0
(bootloader) [RUU]UZ,rcdata,100
(bootloader) [RUU]WP,rcdata,0
(bootloader) [RUU]WP,rcdata,100
(bootloader) ...... Successful
OKAY [294.154s]
finished. total time: 337.335s

HTL21\downgrad_tool>fastboot reboot

rebooting...

finished. total time: 0.031s
再起動で、ソフトウェアの番号:1.15.970.1 にバージョンダウンされていた。

(2)root化やSuperCID化、BootLoaderUnlockの作業
HTC J butterfly : root化について (HTC速報Dev)

HTC_J_butterfly_rootkit_v1.1>runme.bat
この「runme.bat」で行った。この画面通りの指示でSuperCID以外は処理できた。

(3)Spoof-CID.batの作業
Unlock_code.bin を得ようとすると、
Error Code: 160.
Error Reason: MID Not Allowed. となってしまった。
そこで、
HTC J butterfly HTL21 のSuperCID化・ブートローダアンロック・rooting・S-OFF
の「SuperCIDを11111111から22222222にする」の通りに実行してOKになった。

3.HTC J One(HTL22)編 [3/6]

手持ちのHTL22アップデートの履歴。
入手日2013年10月9日 ソフトウェアの番号:1.07.970.4 Androidバージョン:4.1.2
au製品アップデート情報のページ 
HTC J One HTL22 アップデート情報
最終は 2013年12月19日 ソフトウェアの番号:2.21.970.2 のもよう
当方は入手日2013年10月9日の1.07.970.4のままアップデートはせず放置していた。
HTC J One HTL22のS-OFFが可能に、M7_WLJ専用「revone-wlj」が公開へ S-OFF手順
このHTC速報Devを見たあと、つぎの、
HTL22ことHTC J ONEのブートローダーアンロックとS-OFFからのroot権限取得、そしてAndroid4.2へバージョンアップなど
が、とてもよくまとまっていたので、この作業内容に沿って処理した。

手順は順番の通りに進めばよかったのに、
「au公式のAndroid4.2.2へのバージョンアップ」を飛ばしてしまった。
Android4.2.2のOTAは、 OTA_M7_WLJ_JB422_SENSE50_MR_KDDI_JP_2.15.970.1-1.07.970.4_release_3331417doal9gnjh1c57xx.zip として、Downloadされるが、これは、純正リカバリのままでないとアップデートできないことがあとで判った。すでに「カスタムリカバリの導入」でCWMを書いてしまったので、Android4.2.2にアップデートしそこなっている。

■追記 2015.4.9に行った作業

●Android4.2.2(2.15.970.1)へのアップデート
以下のzipファイルを入手して、PN07IMG.zipにリネームし、SDカードに入れる。

% mv RUU_M7_WLJ_JB422_SENSE50_MR_KDDI_JP_2.15.970.1_Radio_1.23.11.0829_NV_3.39_01C_333116_unsigned_htcsoku_PN07IMG_2.zip PN07IMG.zip
% ls -l PN07IMG.zip
942854287 4 9 15:02 PN07IMG.zip
% md5 PN07IMG.zip
MD5 (PN07IMG.zip) = d1991b572323b87ebf1fa8fa38dc5b4c
FASTBOOTから、HBOOT起動して20分くらいでRUUが完了した。
無事に、Android4.2.2になった。

●SIM Unlockもやってみる。
mmcblk0p19を書き換える。

# dd if=/dev/block/mmcblk0p19 of=/misc.img
2045+0 records in
2045+0 records out
1047040 bytes (1022.5KB) copied, 0.083626 seconds, 11.9MB/s
# ls -l misc.img
-rw-rw-rw- 1 root root 1047040 Apr 9 01:07 misc.img
emacsから直接Hexで入力する、M-x hexl-insert-hex-char
misc.imgをバイナリで開き1023のところを00→11に変更

imac:% md5 misc.img misc.img.org
MD5 (misc.img) = d5fb24d61836bb12fcde8c9026808e9b
MD5 (misc.img.org) = a436015adc35e0e661a1ba573a092c72

% cmp -l misc.img.org misc.img
4132 0 21 (Octal)

imac:% adb push misc.img /
# dd if=/misc.img of=/dev/block/mmcblk0p19
2045+0 records in
2045+0 records out
1047040 bytes (1022.5KB) copied, 0.120494 seconds, 8.3MB/s
# reboot
BIGLOBEのSIMを挿しての通信はLTEをつかんでいる。安定しており常用しても問題ないようだ。

Android-003 root化(IS12S,SO-01E)

$
0
0

4.Xperia acro HD (IS12S)編 [4/6]

手持ちのIS12Sアップデートの履歴。
入手日2013年02月17日 ソフトウェアの番号:不明 Androidバージョン:2.3
更新日2013年02月18日 ソフトウェアの番号:6.1.D.1.91 Androidバージョン:4.0.4
au製品アップデート情報のページ 
Xperia acro HD IS12S アップデート情報
最終は 2013年8月6日 ソフトウェアの番号:6.1.D.1.103 のもよう
当方は更新日2013年02月18日の6.1.D.1.91のままアップデートはせず放置していた。

(1)install.batツール
IS12S 最新版ファームでもワンクリックRootが可能になっていたメモ
XPERIA Mod Files: IS12S (6.1.D.1.91) アップデートとRoot化、今後のModについて
など読んで、
root | root[IS12S]6.1.D.1.91.zip ダウンロード | uploader.jp
をダウンロードする。
MD5 (root[IS12S]6.1.D.1.91.zip) = 7b8808899db569b76a9b1d3875bffff0

・ドライバインストール
どこからのツールをインストールしたか記録が無い。たぶんPC Companionのインストールすると、次のUSBドライバが入るだろう。

・install.batを実行
最初と最後の画面を示す。

・root化後の adb shellのようす

% adb shell
shell@android:/ $ getprop ro.semc.product.name
Xperia acro HD IS12S
shell@android:/ $ getprop ro.semc.version.sw_revision
6.1.D.1.91
shell@android:/ $ ls -l /data/data/com.android.phone
opendir failed, Permission denied
1|shell@android:/ $ whoami
whoami: unknown uid 2000
1|shell@android:/ $ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
shell@android:/ $ su
shell@android:/ # ls -l /data/data/com.android.phone
drwx------ radio radio 2013-02-17 20:13 atmprovi
drwxrwx--x radio radio 2013-02-18 04:54 databases
drwxrwx--x radio radio 1970-01-21 18:17 files
drwxr-xr-x system system 1970-01-21 18:17 lib
drwxrwx--x radio radio 2013-02-19 23:06 shared_prefs
shell@android:/ # whoami
whoami: unknown uid 0
1|shell@android:/ # id
uid=0(root) gid=0(root) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
shell@android:/ #

5.docomo Xperia AX (SO-01E)編 [5/6]

手持ちのSO-01Eアップデートの履歴。
入手日2012年11月23日 ビルド番号:9.0.G.0.238 Androidバージョン:4.0.4
更新日2012年11月29日 ビルド番号:9.0.G.0.247
更新日2013年01月31日 ビルド番号:9.0.G.1.76
更新日2013年03月21日 ビルド番号:9.0.G.1.108
更新日2013年06月12日 ビルド番号:9.0.C.0.473 Androidバージョン:4.1.2
更新日2013年06月28日 ビルド番号:9.0.C.0.475
更新日2013年09月20日 ビルド番号:9.0.C.1.103
docomoの製品アップデート情報のページ 
Xperia AX SO-01Eの製品アップデート情報
最終は 2013年9月19日 ビルド番号:9.1.C.1.103 のもよう

※この端末はスリープ中に死ぬ症状に悩まされたが、更新日2013年01月31日 ビルド番号:9.0.G.1.76 以降は発生せず解消されたようだ。

(1)install.batツール
キューブ実験室

rootkitAX_JB_1_103.zip をダウンロード。
MD5 (rootkitAX_JB_1_103.zip) = 6507c371bdb5aefb19c8e940da263680

・実行時のログ

rootkitAX_JB_1_103>install.bat
■■■Xperia AX(JB 9.1.C.1.103) rootkit■■■

端末の準備待ちです。
adb server is out of date. killing...
* daemon started successfully *
425 KB/s (13592 bytes in 0.031s)
2165 KB/s (380532 bytes in 0.171s)
2298 KB/s (1468798 bytes in 0.624s)
2515 KB/s (1165484 bytes in 0.452s)
0 KB/s (148 bytes in 1.000s)
26 KB/s (1250 bytes in 0.046s)

root取得処理を開始します。
Wait a minutes...
Succeeded in getroot!
743+1 records in
743+1 records out
380532 bytes transferred in 0.016 secs (23783250 bytes/sec)
2868+1 records in
2868+1 records out
1468798 bytes transferred in 0.064 secs (22949968 bytes/sec)
2276+1 records in
2276+1 records out
1165484 bytes transferred in 0.076 secs (15335315 bytes/sec)
0+1 records in
0+1 records out
148 bytes transferred in 0.001 secs (148000 bytes/sec)

一時ファイルを削除します。

再起動します。
端末の準備待ちです。

■■■完了しました■■■
続行するには何かキーを押してください . . .

(2)CWM Recovery
【CWM】ClockworkMod-Based Recovery with cray_Doze Mod for Xperia v2.3a
ここのCWM6-cDM_v2.3a.zipを使った。
MD5 (CWM6-cDM_v2.3a.zip) = 7bfe498224ff228bf81b70e75941b133
・cwm-install.batを実行。でてくる画面通りの指示で処理できた。
SO-01E電源ONのあと青LED点灯で<VOL UP or DOWN>長押しでCWM Recoveryモードに入る。以下はbackup処理の画面。


Viewing all 42 articles
Browse latest View live