2013年12月7日土曜日

Debian GNU/Hurd 2013はネットワークインストールできるぞっと

Debian/Ubuntu JP Advent Calendar 2013の7日目の投稿です。

1. Debian GNU/Hurd 2013

お忘れかもしれませんが、5月21日に新しいDebian GNU/Hurd 2013がリリースされました。OS界のサクラダ・ファミリアとか、もういろいろいわれるGNU/Hurdですが、実はDebian GNU/Hurd 2013 ネットワークインストール用CDイメージは、なんと遂にHurdベースでインストーラはネットワークインストール対応となっております。QEMU上で動かすというのが少々哀愁を誘う気がしないでもないですが、すでに世の中は仮想化・クラウドマンセー!だから無問題です!きっとGNUはすでに1983年にて、こんな世の中が来る事を見抜いてたんですよ、たぶん(※1)。ベアで動くなんて飾りです。Hackできればそれでいいのです。偉い人にはそれが解らんのです。というわけで、今回はDebian GNU/Hurd 2013をちょっとだけ取り上げます。

(※1) nozzyのただの妄想ですので本気にしないように。


2. Debian GNU/Hurd 2013を64bit KVMにインストール

 Debian GNU/Hurd 2013は32bitバイナリとの事です。でも、あっさり64bitのLinuxの元のKVMで動きますので、インストールしてみます。

 Step.1 お手元の64bit対応のDebianマシンを用意します。メジャーだからみんな持ってるよね?


 Step.3  Debian GNU/Hurd 2013のNETINST CDイメージをGET

$ wget http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd-2013-i386-NETINST-1.iso

 Step.4 KVM使ってインストール。ディスクはIDE,ネットワークデバイスはe1000を選ぶのがコツです。
  
$ sudo aptitude install libvirt-bin virtinst
$ sudo qemu-img create -f raw /var/lib/libvirt/images/debian-hurd0 7G
$ sudo virt-install --connect=qemu:///system -n debian-hurd0 --ram 512 --cdrom /home/yours/debian-hurd-2013-i386-NETINST-1.iso --disk /var/lib/libvirt/images/debian-hurd0,bus=ide,size=7,format=raw,cache=writeback --bridge=br0,model=e1000 --vnc --hvm --accelerate

まあ、インストール中にいろいろ訊かれますが、自分はこんな感じ↓

項目名備考
countryother→Asia→Japan
Configure localesUnited States en_US.UTF-8
Configure the keyboardお好きに(自分はHHKなのでAmerican English)106キーボードはどうすんだろ?
NetworkConfigure Manually192.168.0.2等お好きにお使いの環境で
Partition disk"Guided - use entire disk"楽だし
mirror countryJapan指定の、ftp.jp.debian.orgを選択

今は直ってるかもしれませんが、Select and install softwareメニューで、
"Debian desktop environment"を指定していると、インストーラが途中でこけるかもしれません。その時は諦めて一旦"Debian desktop environment"をインストール候補から外してみて、Step4.からやり直しで。(※2)

(※2) 自分がやった時は、xserver-xorg-video-allのパッケージ依存関係が満たせずコケました。

 Step.5 インストールが完了すると、勝手にブートしてvirt-viewerにてGNU/Hurdが立ち上がります。"login: "も出てますんで、ログインしちゃってください、Hackください。

3. おわりに


 以上やってみれば解りますが、こんな感じでインストールだって超簡単です!

 さらに、なんと、今なら12月21日(土)15:00-18:00の東京エリアDebian勉強会のテーマでDebian GNU/Hurd 2013やりますんで、残りはそこで!

2013年12月6日金曜日

how-can-i-help コマンド

Debian/Ubuntu JP Advent Calendar 2013の6日目の投稿です。

1. how-can-i-help コマンド

 我らがDPL lucasさん自ら作った、「Debianパッケージの開発を手伝ってよ!」ということをアピるコマンドの紹介です。debian sid, debian testingに、今なら搭載されていますので、次期リリースのjessieにはきっと入っているはず!

 このコマンドは、あなたのDebianマシンに入っているパッケージについて、開発者本人/QAがなんらかのヘルプを要請、あるいは、新米開発者のとっつきやすそうなバグの紹介について、開発者に代わって自動でアピってくれるという、Debian開発者を目指す/すでに開発者な方にぴったりのコマンドとなっております。

 導入はとても簡単!debian testing あるいはsidをお使いという、まさに日頃から「unstableな生活(*1)」を楽しんでいらっしゃるDebian開発者予備軍/すでにDebian開発者な方は、

       
$ sudo apt-get install how-can-i-help

とコマンドラインで打つだけで簡単にインストールできます。

(*1) 「不安定な生活」は嫌だぁぁ(笑)


2. how-can-i-helpコマンドの使い方

使い方はとっても簡単!how-can-i-helpを実行するだけです。
       
$ how-can-i-help
======  How can you help?  (doc: http://wiki.debian.org/how-can-i-help ) ======
New orphaned packages:
 - libisofs - http://bugs.debian.org/679254 - 
 - libreoffice - http://bugs.debian.org/419523 - 
 - chromium-browser - http://bugs.debian.org/583826 - 
 - libcap2 - http://bugs.debian.org/534999 - 
 - iproute - http://bugs.debian.org/705169 - 
 - cups - http://bugs.debian.org/532097 - 
 - speech-dispatcher - http://bugs.debian.org/730983 - O (Orphaned)
 - xml-core - http://bugs.debian.org/660687 - 
 - libburn - http://bugs.debian.org/679249 - 
 - gnupg - http://bugs.debian.org/660685 - 
 - grub2 - http://bugs.debian.org/248397 - 
 - debtags - http://bugs.debian.org/567954 - 
 - apt-xapian-index - http://bugs.debian.org/567955 - 
 - ppp - http://bugs.debian.org/589632 - 
 - openssl - http://bugs.debian.org/332498 - 
 - screen - http://bugs.debian.org/654116 - 
------  Show all opportunities, not just new ones: how-can-i-help --all  ------

ここにリストアップされているのは、あなたのPCで可動しているDebianマシンに入っているパッケージについて、wnppに属する、もしくは、giftとしてtagづけされている、開発を助けて欲しいとbug reportされたものが一覧で表示されます。なお、一度でも表示したたものは、次は表示が省略されます。

 なお、過去表示分も含めて、一覧を見たい場合は、--allオプションを付与して起動してください。

 man に載っている例ですが、毎日AM8:00に本日の開発手助け要請リストの新規分をメールで送ってくるようにしたいと思うさらにアグレッシブな方は
       
$ crontab -l
   0 8 * * * how-can-i-help -q

なるcronを仕掛けるとよいかもしれません。

 また、how-can-i-helpパッケージは、/etc/apt.conf.d/にもフックを仕込むので、apt-get installする度に、how-can-i-helpが実行されて、開発手助けの要請を新たにアピられるという動作もおまけでついてきます。

3. 内部動作

内部動作は、とっても単純で、

  1.  udd (ultimate debian database)から、wnppもしくはgiftとしてtagづけされたパッケージに関する情報の詰まったhow-can-i-help.json.gzを取ってきます。
  2. dpkg -l をつかって既にあなたのdebianマシンにインストール済みのパッケージ一覧を得ます。
  3. 1.と2.を組み合わせて、あなたのdebianマシンにインストール済みのパッケージにて、wnppもしくはgiftとtagづけされたものだけ選んでリストアップします。

4. おわりに

 how-can-i-helpコマンドをインストールすると、日頃お使いのdebianマシンにはいろいろとメンテナが必要なパッケージがある事に気づかされると思います。それを知る為にもぜひ。