2013年3月24日日曜日

乱数をつかってみる



唐突だが私のマシンの起動時のログをdmesgでみるとこんなログが出てる
intel_rng: Firmware space is locked read-only. If you can't or
intel_rng: don't want to disable this in firmware setup, and if
intel_rng: you are certain that your system has a functional
intel_rng: RNG, try using the 'no_fwh_detect' option.
このintel_rngというのは乱数を作る装置らしい。

そこでこれについて調べると
起動時のカーネルのパラメータに
 intel_rng.no_fwh_detect=1
を入れるといいらしい。ってことがすぐ分かった
http://forum.tinycorelinux.net/index.php?topic=12575.0

実際に入れて再起動するとと上記メッセージが
Intel 82802 RNG detected
に変わるのがわかる。
またlsmodでモジュールを見ると
intel_rng
がロードされているのがわかり
デバイス/dev/hwrng ができているのが分かる。

そこで/dev/hwrngの使い道だが
rng-tools
をインストールしてカーネルの疑似乱数とリンクさせて使うらしい

さっそくインストール
sudo apt-get install rng-tools
がインストールするだけでは動かなかった(rngdの起動に失敗する)
Starting Hardware RNG entropy gatherer daemon: fail.
となる。

そこで設定を見直す
sudo vi /etc/default/rng-tools
で設定を見ると
# Configuration for the rng-tools initscript
# $Id: rng-tools.default,v 1.1.2.5 2008-06-10 19:51:37 hmh Exp $

# This is a POSIX shell fragment

# Set to the input source for random data, leave undefined
# for the initscript to attempt auto-detection.  Set to /dev/null
# for the viapadlock and tpm drivers.
#HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null

# Additional options to send to rngd. See the rngd(8) manpage for
# more information.  Do not specify -r/--rng-device here, use
# HRNGDEVICE for that instead.
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"
となっているのが分かる。

最初の選択肢
#HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null
は/dev/hwrng に決まっているからいいとして二個目の選択肢
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"
はtpmを使うことにする
なぜか?このマシンはTPMがあるのを知っているからだ。

このマシンのdmesgを見ると
tpm_tis 00:0b: 1.2 TPM (device-id 0x1002, rev-id 2)
というログがある。これがTPMのモジュールだ
(TPMについてはWikipediaとか見てください)
この使い道だが
tpm-tools
をインストールするといいらしい。

さっそくインストール
sudo apt-get install tpm-tools
詳しい設定のしかたはこことか参照
http://www.grounation.org/index.php?post/2008/07/04/8-how-to-use-a-tpm-with-linux
手順としては
BIOSの設定
そのあと
sudo tpm_createek
sudo tpm_takeownership
でうまくいった。
うまくできたかどうかは
sudo tpm_getpubek
で鍵を表示するかどうかですぐに分かる

であらためてintel-rngの話にもどると
設定ファイルを
# Configuration for the rng-tools initscript
# $Id: rng-tools.default,v 1.1.2.5 2008-06-10 19:51:37 hmh Exp $

# This is a POSIX shell fragment

# Set to the input source for random data, leave undefined
# for the initscript to attempt auto-detection.  Set to /dev/null
# for the viapadlock and tpm drivers.
HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null

# Additional options to send to rngd. See the rngd(8) manpage for
# more information.  Do not specify -r/--rng-device here, use
# HRNGDEVICE for that instead.
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"
と書き換えて
デーモン起動
sudo /etc/init.d/rng-tools start
こんどはあっさり成功します
Starting Hardware RNG entropy gatherer daemon: rngd.
でrngdが起動します。

これでマシンが疑似乱数から真の乱数(TRNG)に変わったのでとりあえずエントロピーをチェック
cat /proc/sys/kernel/random/entropy_avail
3190
妥当な数値では?
http://backslash.ddo.jp/wordpress/archives/620
http://field-notes.hatenablog.jp/entry/20101218/1292644497

2013年3月19日火曜日

OpenSUSE 12.2 を12.3 にアップグレード

OpenSUSE 12.2 を12.3 にアップグレードした。
なんかMySQLとかやめてすげーよくなったといううわさが流れているからだ。

以下はそのやり方
情報元はこれ
http://opensuse-man-ja.berlios.de/opensuse-html/cha.update.html
YaSTを使う方法とzypperを使う方法と2種類あるようだが、
今回はzypperを使うやり方でやった。CUIの方が失敗しないと思うからだ
結局一晩かかった。

  まず
    zypper dup
  で現状を最新にした

①リポジトリの更新
  まず以下のコマンドで現状の確認
    zypper lr -u
  次に2個リポジトリ追加
    server=http://download.opensuse.org
    new_ver=12.3
    zypper ar $server/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Oss
    zypper ar $server/update/$new_ver/ openSUSE-$new_ver-Update
  旧リポジトリ削除
    old_ver=12.2
    zypper rr openSUSE-$old_ver-Oss
    zypper rr openSUSE-$old_ver-Update
  以下
    zypper lr -uで状況を見ながら同様にして全て更新
  最後に
    zypper lr -d で確認

②サーバーアクセスしてリポジトリ内容更新
    zypper ref
  うまくいくのを確認。うまくいかないのはURLをチェック、ダメなのは削除

③zipper自身の更新
    zypper up zypper
  私の場合このとき選択肢がでた
     1、ダウングレードして更新を選ぶ とできた

④アップグレード
    zypper dup
  このときライセンス確認が出る yesを選んだ

⑤再起動
    shutdown -r now


2013年3月5日火曜日

Ubuntu用LibreOffice4.0が来てた

LibreOfiice4.0がUbuntuのPPAに来てたので入れてみた。
情報元はこれ
http://www.webupd8.org/2013/03/install-libreoffice-40-in-ubuntu-1204.html

入れ方は書いてあるとおり
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get dist-upgrade
でうまく行きました 

あと日本語拡張も入れときました
http://sourceforge.jp/projects/openoffice-docj/
から 
DefaultSettingsForJapanese.oxt 
を入手してクリックするだけ
いい感じで動いてます。 

2013年3月3日日曜日

ubuntuでnvidiaを使うとflashが落ちたり色がおかしくなる件について

ubuntu 12.04以降でnvidiaのプロプライエタリなドライバーを使って動画(youtube)を再生すると色が青に変わるという謎バグがずっとこのマシンにあった。

このバグ
sudo mkdir /etc/adobe
echo -e "EnableLinuxHWVideoDecode=1\nOverrideGPUValidation=true" | sudo tee /etc/adobe/mms.cfg > /dev/null
 
で解決するのだがそのかわり今度は動画再生で落ちやすくなっていた。
 
そこで前回の改修を見直しmms.cfgから 
EnableLinuxHWVideoDecode=1を削除、ドライバーを
https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
に変えてみたところ落ちにくくなったので とりあえずこれで行きます 
 

2013年2月28日木曜日

Arch LinuxをVirtualBoxにインストールしてみた。

Arch Linux(64 bit)をVirtualBoxの仮想HDDにインストールしてみた。
手間取るかとおもったが一発でうまくいった。
我ながらLinuxになれてきたとかんがえたらいいのか?
以下はその手順。

インストールガイドでやってもいいのだと思うが
ビギナーズガイドでうまくいきました
VirtualBox guest additionのドライバもうまく入ったよ。
情報元は以下の4か所
https://wiki.archlinux.org/index.php/Beginners%27_Guide
https://wiki.archlinux.org/index.php/VirtualBox#Install_the_Guest_Additions
https://wiki.archlinux.org/index.php/GNOME
https://wiki.archlinux.org/index.php/GDM

手順をざっくり書きます
①ブートCDを用意します
http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/2013.02.01/archlinux-2013.02.01-dual.iso
たとえばこれです
https://www.archlinux.org/download/
ここにあります

②仮想マシンを用意
   私は常に80G用意しているので今回もそれ
   メモリは5Gにした
   CPUは2コア
   UTCはON

③仮想マシンを①のCDから起動
  
④まずshellが起動するので
# loadkeys jp106
で日本語キーボードにする

⑤ネットがつながるのをpingで確認

⑥仮想ディスクのパーティションを切る
  1G SWAP (/dev/sda1)
  残り EXT4 (/dev/sda2)とした。
              /dev/sda2 はブートフラグ付き

⑦HDDをマウント
# mount /dev/sda2 /mnt
# mkdir /mnt/home 


⑧pacmanのミラーリスト(/etc/pacman.d/mirrorlist)を編集
日本を先頭に持ってくる
# pacman -Syy
が動作するのを確認

# pacstrap -i /mnt base base-devel
# pacman-key --init && pacman-key --populate archlinux 
# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
       で問題ないのを確認
# arch-chroot /mnt
# nano /etc/locale.gen
  ここで
  en_US.UTF-8 UTF-8
  ja_JP.UTF-8 UTF-8 
       だけ先頭の#をとる
# locale-gen
# echo LANG=ja_JP.UTF-8 > /etc/locale.conf 
# export LANG=ja_JP.UTF-8
# loadkeys jp106
# setfont Lat2-Terminus16 
# nano /etc/vconsole.conf
  で以下の記述 
  KEYMAP=jp106
  FONT=Lat2-Terminus16 
# pacman -S ttf-sazanami 
# ln -s /usr/share/zoneinfo/Japan /etc/localtime 
# hwclock --systohc --utc
# echo myhostname > /etc/hostname 
# systemctl enable dhcpd.service
# systemctl start dhcpcd
# pacman -S ifplugd
# mkinitcpio -p linux
# passwd
# useradd -m -g users -G wheel -s /bin/bash ログイン名
# passwd ログイン名
# pacman -S grub-bios
# grub-install --target=i386-pc --recheck /dev/sda
# cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
# grub-mkconfig -o /boot/grub/grub.cfg
# exit
# umount /mnt
# reboot
Rebootと書いてあるが実際はCDを取り外して(③のisoをvirtualboxから外して)再起動
うまくいけばログインコンソールが出るはず。 
ログインできるのを確認
 rootでログインかsuでrootになった後で
# pacman -S xorg-server xorg-xinit xorg-server-utils
# pacman -S mesa
# pacman -S virtualbox-guest-utils
# modprobe -a vboxguest vboxsf vboxvideo
# nano /etc/modules-load.d/virtualbox.conf で
  vboxguest
  vboxsf
  vboxvideo  
     を記述 
ここで再起動してlsmodで今書いた 
vboxguest vboxsf vboxvideo
がモジュールにあるのを確認
 
# pacman -S xorg-twm xorg-xclock xterm
ここでrootから普段使用するアカウントに変える。
$ rm ~/.xinitrc
$ startx
 見事Xが立ちあがって xterm xclock がでればOK 

ここからはxtermの作業 
# pacman -S gnome
# pacman -S gnome-extra
# pacman -S gdm
# systemctl enable gdm.service 
ここで再起動すればgdmが自動起動して
GUIでログインできるはず
そしてgnomeが立ち上がるはずです.
 

パーティション分けとネット接続で手間取るかも知れないがあとは簡単です
今回思ったのはUEFI対策がこまごまと書いてあって超ウザいこと
Windows8ではやるべきでないな。 
  

  

2012年11月25日日曜日

リモートデスクトップ:x2go

ubuntuを12.10にしてみました。
これを機会にバックアップして新規にインストールしなおしました。
なかなかいい感じですよ。

でちょっと困ることはfreenxがubuntu 12.10で使えなくなってた。
んでかわりにx2goを入れてみた。
http://www.x2go.org/
これもfreenxと同じ感覚で使える便利ソフトだ。
インストールするには
サーバーは
$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update
$ sudo apt-get install x2goserver x2goserver-xsession
で入れられます
 
 私の場合クライアントがWindowsなのでクライアントは
http://code.x2go.org/releases/binary-win32/x2goclient/
から
http://code.x2go.org/releases/binary-win32/x2goclient/x2goclient-3.99.0.0-setup.exe
を入れました。
下の絵はちょっと小さいサイズですがフルサイズにもできますよ。
あと音が出ないという問題は残っているがあとで考えます。
 

ついでに現状のubuntu 12.10 quantal で使用可能なリモートデスクトップサーバーをまとめてみる
vnc
vino
xrdp
teamviewer
x2go
ぐらいか?
このうち最初の3個は遅いのであまり好きではない 。
でteamviewerとx2goの2択だが私としてはx2goがお勧めだと思う


2012年11月18日日曜日

ubuntuではできないこと

今回はubuntuでは出来ないこと(というか私が解決できないこと)についてまとめてかいておきたい

1、地デジをみること。
 これ、まったく方法がないわけではなく
   PT2などの特殊な基板or USBワンセグ機器を使う
   USBにワンセグ機器を挿してVirtualboxとかのWindowsから見る
   keyholetvで他人の放送しているものをみる
 かのどれかになる。
 ”PT2などの特殊な基板を使う”で行きたいところですが、
   いまのところkeyholetvで満足です。TV自体見なくなったので。
 
  PT2:http://desktoplinuxhowto.blogspot.jp/2012/04/ubuntu-1204-lts-pt21110.html
   ワンセグでTVをみる:http://www2.it-ishin.com/archives/2011/11/861
   KeyHoleTV:http://www.v2p.jp/video/

2.DRM(デジタル著作権管理)関係の処理
 これについてもその場しのぎの処理しかubuntuではありません。
 Silverlight関係はMoonlightができたのですが
 これはDRM関係のものは再生できない(だからGyaoとかが基本だめ)
 あとiTune storeから買ったものを聞くこともできない。
 ただときどきbansheeとかにiTune連携ソフトが付いていることがある。
 Gyaoをubuntuで見る方法はこの前かいたんでそれを見てください。
 
   Moonlight:http://www.go-mono.com/moonlight/
   GyaoをUbuntuで見る: http://kokawa2003.blogspot.jp/2012/02/ubuntugyao.html

3.Internet Explorerに特化したサイトをみる
 IE自体はIE4Linuxなどを使えば入れられるがあまりしたくない処理だ
 あとActive Xなどがあったけどこれはもうほとんど問題にならないぐらい
 つかわれなくなった。でもいまだに役所のサイトとかを仕事でみてると
 引っかかるときがたまにある。で Active Xをインストールしてくださいとか
 いまだに言われたりする。
 
   IE4Linux:http://www.tatanka.com.br/ies4linux/page/Main_Page

4.プリンターとか無線LANとか使えないことがある。
 これについてはドライバーがあるかどうかって話だけど
 古いプリンターだとないことが多いような気がする。
 でも無線LANはUSBのやつでなければたぶん行ける。
     
こんなあたりができないことの代表だと思う。