Geeko Magazine 2016 夏

By ftake @ 2016-07-25 00:11

geeko-magazine-2016-summer

Geeko Magazine Special Edition の4冊目、2016夏号をコミックマーケット C90 で頒布します。スペースは日曜日(3日目) 西3・4ホール f-13b です。東京オリンピックの準備が始まり、今年は今までの企業スペースがあったホールです。

今回は締め切りにも間に合い、オフセット印刷で冊数が十分にあるため、11月のOSC東京や KOF でも頒布できる見込みです。

内容は次の通りです

  • AutoYaST は使えるのか?
  • Web開発環境を作ってみよう
  • 自分用パケットキャプチャとか作ってみます?
  • Raspberry Pi 2 に Tumbleweed をインストールして秋月のIGZO液晶を接続してみた
  • 漫画: やすとちゃん
  • 小説: mini summit の後に

今回は表紙の書き手がいなかったため、Geeko の写真ですが、中身はいつも通りですので、お手にとって頂ければと思います。

今日は Windows や Mac でおなじみの商用のアンチウイルスソフト Sophos Antivirus の個人向け無償版のを Leap 42.1 にインストールする方法を紹介します。

まずはダウンロードします。以下の URL からダウンロードできます。
https://www.sophos.com/ja-jp/products/free-tools/sophos-antivirus-for-linux.aspx

ダウンロードまでの間に、氏名とメールアドレスなどを2回求められます。2回目は米国輸出管理法の輸出先の確認のためのようです。職業は「個人利用者」、会社名は「個人」とでもしておけばよいでしょう。

ここからはターミナルで作業です。ファイルを回答してインストーラーを走らせるだけです

tar xvf sav-linux-free-9.tgz
cd sophos-av
sudo install.sh

ここからはインストーラの指示に従って作業を進めます。まずは使用許諾契約に同意します。Enter キーを押して契約書を表示して、読んだあとに、Yキーで同意します。

ライセンス内容に同意しますか? はい(Y)/いいえ(N) [N]
> y

次にインストール先を求められます。特にこだわりがなければそのままで問題ありませんので、何も入力せずにEnterを押します。なお、インストール先には1GB程度の空き容量が必要なようです。

Sophos Anti-Virus のインストール先を指定してください。 [/opt/sophos-av]
>

アプリケーションからファイルにアクセスしたときに検索を行う、オンアクセス検索を有効にします。

オンアクセス検索を有効にしますか? はい(Y)/いいえ(N) [Y]
>

アップデートのダウンロード元です。そのままでOKです。

オートアップデートの種類を選択してください: ソフォス(s)/自社サーバー(o)/なし(n) [s]
>

今回は無償版を使うので f を入力します。

SAV for Linux の無償バージョン (f) と サポート対応付きバージョン (s) のどちらをインストールしますか? [s]
> f

プロキシは必要に応じて設定してください。

ソフォスからアップデートを行うためにプロキシが必要ですか? はい(Y)/いいえ(N) [N]
>

しばらくすると、インストールが終わります。動いているかを確認するには、savdstatus コマンドを使います。

sudo /opt/sophos-av/bin/savdstatus
Sophos Anti-Virus はアクティブで、オンアクセス検索を実行中です

openSUSE にこの方法でインストールすると、オンアクセス検索を行うために、fanotify とよばれるファイルへのアクセスイベントを捉える仕組みが使われます。現時点では fanotify を使った検索が、NFS と CIFS (Samba) で有効になっていると問題があるようです:
https://www.sophos.com/ja-jp/support/knowledgebase/14377.aspx

対策としては、NFS や CIFS でマウントしたディレクトリを検索対象から除外すれば良いようです。どうやって除外するかというと、savconfig コマンドの ExcludeFilePaths で、除外するファイルまたはディレクトリのパスを指定します。複数のパスを追加したいときは、繰り返しsavconfigを実行します:

sudo /opt/sophos-av/bin/savconfig add ExcludeFilePaths /path/to/dir1/
sudo /opt/sophos-av/bin/savconfig add ExcludeFilePaths /path/to/dir2/

除外する範囲は、ファイルシステム名でも指定できるようです。ExcludeFilesystems で除外するファイルシステムを指定します。ファイルシステムの名前は /proc/filesystems に書かれたものを入力すればよいそうです。

sudo /opt/sophos-av/bin/savconfig add ExcludeFilesystems nfs

昨年9月に20人以上を集めた openSUSE mini Summit を今年も開催します。イベントの詳細はこちら:
https://opensuseja.doorkeeper.jp/events/46644

openSUSE の活用事例や、調べたことの紹介などの発表者を募集しています。特にライトニングトークについては、自己紹介を兼ねて気軽にエントリーして頂ければと思います。

一人でも多くの方のご参加をお待ちしております。

OSC 2016 群馬

By ftake @ 2016-05-16 23:15

5月14日(土) に群馬で初めてオープンソースカンファレンスが開催されたので行ってきました。一応、首都圏とは言え、神奈川からは上野東京ラインで2時間半の旅です。埼玉と群馬の県境に何かあるのか、休日おでかけパスも埼玉県内の神保原までしか行けない(240円乗り越し)そんな場所です。

会場は、駅前のヤマダ電機のイベントスペースです。ヤマダ電機は高崎が創業地のようで、地元の人が集まるちょっとしたショッピングセンターになっていました。各種イベントに対応できるようにするためか、舞台袖のあるステージや、各所に天井モニターまであり、展示スペースからもちゃんとセミナーの資料が見られるようになっており、レベルの高い会場でした。駅周辺のヤマダ電機の広告スペースで OSC の告知がされており、いつもの OSC とはちょっと違う様子でした。

ユーザ会では、ブースとセミナーを行いました。セミナーは「開発環境として Linux デスクトップを使ってもらおう」作戦で、コマンドラインテクニックです。今回は SSH 環境で使えるような物が集まっていますが、次回以降は Konsole や GNOME Terminal の使い方なども取り入れていこうと考えています。

写真

autoyastがほぼうまくいった

By ribbon @ 2016-05-15 18:10

ほぼ、autoyast がうまくいきました。

うまくいかなかった原因はいくつかありますが、おそらく、openSUSEインストール時に作成するautoinst.xmlがバグってます。たぶん。

通常はインストールするパッケージがずらっと並ぶのですが、なぜか、そのパッケージを*削除*する一覧がくっついているのですね。こんな感じで。

<patterns config:type=”list”>
<pattern>yast2_basis</pattern>
<pattern>x11</pattern>
<pattern>sw_management</pattern>
<pattern>lxde</pattern>
<pattern>fonts</pattern>
<pattern>enhanced_base</pattern>
<pattern>apparmor</pattern>
<pattern>base</pattern>
<pattern>multimedia</pattern>
<pattern>remote_desktop</pattern>
</patterns>
<remove-packages config:type=”list”>
<package>zypp-plugin-python</package>
<package>zisofs-tools</package>
<package>ypbind</package>
<package>yp-tools</package>
<package>yast2-vm</package>
<package>yast2-users</package>
<package>yast2-tune</package>
….

これじゃ、パッケージの依存関係が正しくなるわけがありません。セクションを手動で削ったらほぼうまくいきました。あと、セクションもうまくハンドリング出来ないので、ここも削ります。

ただ、lxde環境だと、更に問題があります。起動時にlxdmが設定されません。xdm になってしまいます。しかし、kde環境を指定してインストールすると、ちゃんとkdm が指定されて、起動するので、lxdmに設定するという部分が抜けちゃっているのだと思います。

 

autoyastがうまくいかない(状況)

By ribbon @ 2016-05-06 22:40

autoyastを使って自動インストールをしようとしていますがうまくいきません。普通にインストールするとき、インストールした状況を/root/autoinst.xml というファイルに書き込むように指示出来るのですが、そのファイルを自動インストール時に使ってもインストール途中に、パッケージの依存関係解決に失敗します。

そもそも、インストールパッケージに不要なものが入ってしまいます。たとえばこんな感じで、本来DVDに入っていないパッケージが入ってしまっています。

autoyastbad01

試しにこれらのファイルを手でautoinst.xml から取り除いても結果は同じでした。途中でこんな感じになります。

autoyastbad02

bashはインストールされ、存在するパッケージなのですが、なぜか依存関係が破綻していると思われています。理由は謎です。

 

前回(http://blog.geeko.jp/ribbon/1296) では、途中までしかうまくいきませんでしたが、その後いろいろとやってみて、ほぼうまくいくようになりました。

大まかな流れは、ipxe起動->pxelinux起動->autoyastによる自動インストールとなります。要するに、pxelinux を ipxeでキックしてあげる、ということになります。よってipxe起動以後の手順は、SUSEのマニュアルにある、自動インストールの説明とほぼ同じになります。


準備

◆1 dhcpの設定

前回と違い、ipxe起動ファイルをtftpのroot直下に置きました。こんな感じになります。

default-lease-time 14400;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.101 192.168.10.127;
default-lease-time 14400;
max-lease-time 172800;
}
if exists user-class and option user-class = "iPXE" {
filename  "boot.ipxe";
}
else  {
filename "iPXE/undionly.kpxe";
}
next-server 192.168.10.41;

この設定により、iPXEが、OSを起動するための初期スクリプト boot.ipxeをダウンロードすることが出来ます。

◆2 boot.ipxe の準備

内容を整理し、以下のようにしました。

#!ipxe
:start
menu Please choose an operating system to install
item --gap openSUSE
item pxelinux    pxelinux boot
item shell       enter iPXE shell
item exit        exit to BIOS

choose --default pxelinux --timeout 30000 target && goto ${target}

:pxelinux
boot http://192.168.10.41/pxelinux.0
boot || goto failed

:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start

:failed
echo Booting failed, dropping to shell
goto shell

◆3 pxelinxの準備

前回の失敗は、ipxeから起動するLinuxローダに、isolinuxを使用したことでした。これはISOしか見ないようで、ネットワークブートには対応していなかったようです。ネットワークブートに必要なのはpxelinuxなので、これを、/usr/share/syslinux/pxelinux.0 から /srv/tftpboot にコピーします。続いて、/srv/tftpboot配下にpxelinux.cfg ディレクトリを用意します。

◆4 ブート用ファイルの準備

SUSEの自動インストールの説明のように、linux initrd message biostest memtest を、インストールCDイメージから(たとえば/srv/tftpboot/install/leap42/CD1/boot/x86_64/loader/から)コピーします。

◆5 pxelinux.cfg/default ファイルの作成

pxelinuxが使う設定ファイルを用意します。基本的には インストールイメージ内にあるisolinux.cfgをコピーし、配下の以下のように用意しました。単なる自動起動だけであれば、不要な項目も多いですが….

default linux

# hard disk
label harddisk
  localboot -2

# install
#label linux
#  kernel linux
#  append initrd=initrd splash=silent showopts

# install
label linux
  kernel linux
  append initrd=initrd splash=silent showopts install=http://192.168.10.41/install/leap42/CD1

# upgrade
label upgrade
  kernel linux
  append initrd=initrd splash=silent upgrade=1 showopts

# rescue
label rescue
  kernel linux
  append initrd=initrd splash=silent rescue=1 showopts

# mediacheck
label mediachk
  kernel linux
  append initrd=initrd splash=silent mediacheck=1 showopts

# memory test
label memtest
  kernel memtest

#ui             gfxboot bootlogo message
implicit        1
prompt          1
timeout         60

◆7 autoyast.xml を用意する

あらかじめ作成したautoyast.xml をインストールイメージに(この場合は、/srv/tftpboot/install/leap42/CD1/)コピーします。

◆8  起動する
まず、ipxeで起動すると以下の画面が出ます。

pxeok

enterを押すか、タイムアウトまで待つと、ipxeがsyslinuxを起動します。

syslinuxok

enterを押すか、タイムアウトまで待つと、openSUSEが起動します。そして、autoyast.xml が処理され、自動インストールが始まります。

autoinstall-01

ただ、手動でインストールしたautoyast.xmlが、なぜか不正なため、インストール処理は失敗します。

autoinstall-02

とりあえずここまで出来るようになりました。