<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taskie</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taskie"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Taskie"/>
	<updated>2026-04-18T14:21:59Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Avahi&amp;diff=7985</id>
		<title>Avahi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Avahi&amp;diff=7985"/>
		<updated>2017-02-26T21:26:39Z</updated>

		<summary type="html">&lt;p&gt;Taskie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[en:Avahi]]&lt;br /&gt;
[[fr:Avahi]]&lt;br /&gt;
[[Wikipedia:ja:Avahi]] より:&lt;br /&gt;
:&#039;&#039;&amp;quot;[http://avahi.org/ Avahi] は、[[Wikipedia:ja:Zeroconf|Zeroconf]] (ゼロ・コンフィギュレーション・ネットワーキング) のフリーソフトウェア実装であり、マルチキャスト DNS/DNS-SD サービスディレクトリのためのシステムを含む。Avahi は、特定の構成情報のないローカルネットワーク上のサービスホストの発行と発見を可能とする。例えば、ネットワークに接続したとき、即座にプリンタを検出し、ファイルを探し出し、他者と会話できるようにする。GNU Lesser General Public License (LGPL) の条件でライセンス提供される。&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
[[公式リポジトリ]]にある {{Pkg|avahi}} を[[pacman|インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
Avahi のデーモンは [[systemd#ユニットを使う|systemd]] で {{ic|avahi-daemon.service}} を使うことで管理できます。&lt;br /&gt;
&lt;br /&gt;
== Avahi を使う ==&lt;br /&gt;
&lt;br /&gt;
=== ホスト名の解決 ===&lt;br /&gt;
Avahi には {{ic|&#039;&#039;hostname&#039;&#039;.local}} という名前を使ってローカルでホスト名を解決する機能があります。有効にするには {{Pkg|nss-mdns}} パッケージをインストールして {{ic|avahi-daemon.service}} を[[起動]]してください。&lt;br /&gt;
&lt;br /&gt;
その後、{{ic|/etc/nsswitch.conf}} ファイルを編集して、{{ic|resolve}} と {{ic|dns}} の前に {{ic|1=mdns_minimal [NOTFOUND=return]}} が含まれるように {{ic|hosts}} 行を変更してください:&lt;br /&gt;
 hosts: ... &#039;&#039;&#039;mdns_minimal [NOTFOUND=return]&#039;&#039;&#039; resolve [!UNAVAIL=return] dns ...&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|.local}} ホストの解決に時間がかかる場合、{{ic|mdns_minimal}} の代わりに {{ic|mdns4_minimal}} を使ってみてください。}}&lt;br /&gt;
&lt;br /&gt;
==== カスタム TLD を使用する場合の mDNS の設定 ====&lt;br /&gt;
&lt;br /&gt;
{{ic|mdns_minimal}} モジュールが {{ic|.local}} TLD の取り合わせを処理します。{{ic|&amp;lt;nowiki&amp;gt;[NOTFOUND=return]&amp;lt;/nowiki&amp;gt;}} と設定しているのは、{{ic|mdns_minimal}} が {{ic|*.local}} を見つけられなかったときに、{{ic|dns}} や {{ic|myhostname}} などで検索しないようにするためです。&lt;br /&gt;
&lt;br /&gt;
Avahi で他の TLD もサポートしたい場合、以下の設定を行ってください:&lt;br /&gt;
* {{ic|1=mdns_minimal [NOTFOUND=return]}} を {{ic|mdns}} に置き換えてください。IPv4 や IPv6 しか使わないモジュール {{ic|mdns[46](_minimal)}} も存在します。&lt;br /&gt;
* {{ic|/etc/avahi/avahi-daemon.conf}} の {{ic|domain-name}} をカスタマイズしてください。&lt;br /&gt;
* {{ic|/etc/mdns.allow}} で Avahi のカスタム TLD をホワイトリストに入れてください。&lt;br /&gt;
&lt;br /&gt;
==== ツール ====&lt;br /&gt;
&lt;br /&gt;
Avahi にはネットワーク上で動作しているサービスを探知するのに役立つユーティリティが複数含まれています。例えば、以下のコマンドを実行するとネットワーク上のサービスが表示されます:&lt;br /&gt;
 $ avahi-browse -alr&lt;br /&gt;
&lt;br /&gt;
Avahi Zeroconf Browser ({{ic|avahi-discover}}) はネットワーク上の様々なサービスを表示します。使用するには Avahi の任意依存パッケージである {{Pkg|pygtk}} と {{Pkg|python2-dbus}} のインストールが必要です。また、{{ic|bssh}} と {{ic|bvnc}} を使うことで SSH サーバーや VNC サーバーを探知することができます。&lt;br /&gt;
&lt;br /&gt;
Avahi をサポートしているソフトウェアのリストはウェブサイトを見てください: http://avahi.org/wiki/Avah4users&lt;br /&gt;
&lt;br /&gt;
=== ファイアウォール ===&lt;br /&gt;
&lt;br /&gt;
[[ファイアウォール]]を使っている場合は UDP ポート {{ic|5353}} を開いてください。&lt;br /&gt;
&lt;br /&gt;
===リンクローカル (Bonjour/Zeroconf) チャット===&lt;br /&gt;
&lt;br /&gt;
Avahi を使って Linux で Bonjour プロトコルを使用することもできます。[[Wikipedia:Comparison of instant messaging clients]] や[[アプリケーション一覧/インターネット#インスタントメッセージ]]に Bonjour プロトコルをサポートしているクライアントが載っています。&lt;br /&gt;
&lt;br /&gt;
=== IPv4LL IP アドレスの取得 ===&lt;br /&gt;
デフォルトでは、DHCP を使って IP を取得するとき、{{Pkg|dhcpcd}} パッケージを使用します。DHCP で IP アドレスが取得できなかったときに IPv4LL アドレスを取得するようにすることができます。デフォルトではこのオプションは無効になっています。有効にするには noipv4ll をコメントアウトしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dhcpcd.conf|&lt;br /&gt;
...&lt;br /&gt;
#noipv4ll&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
もしくは {{ic|avahi-autoipd}} を実行してください:&lt;br /&gt;
 # avahi-autoipd -D&lt;br /&gt;
&lt;br /&gt;
== サービスの追加 ==&lt;br /&gt;
&lt;br /&gt;
Avahi は {{ic|/etc/avahi/services}} に {{ic|*.service}} ファイルが存在するサービスを喧伝します。{{ic|*.service}} ファイルが存在しないサービスを使いたい場合、簡単にサービスを作成することができます。&lt;br /&gt;
&lt;br /&gt;
例として、[http://tools.ietf.org/html/rfc865 RFC865] に基づく今日の格言 (QOTD) を表示するサービスを TCP の17番ポートで稼働させるとしましょう。&lt;br /&gt;
&lt;br /&gt;
まず最初に {{ic|&amp;lt;type&amp;gt;}} を決定する必要があります。{{ic|man avahi.service}} によればタイプは DNS-SD サービスタイプのどれかにする必要があります (例: {{ic|_http._tcp}})。[http://www.dns-sd.org/ServiceTypes.html DNS-SD のレジスタは2010年に IANA レジスタに統合] されたため、サービス名は [http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml IANA レジスタ] や {{ic|/etc/services}} ファイルで確認することができます。サービス名は {{ic|qotd}} となっています。QOTD は tcp で動作するため、サービスは {{ic|_qotd._tcp}} でありポート番号は 17 となります (IANA と RFC865 に準拠)。&lt;br /&gt;
&lt;br /&gt;
したがってサービスファイルは以下のようになります:&lt;br /&gt;
&lt;br /&gt;
{{hc|qotd.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&amp;lt;!--*-nxml-*--&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;name replace-wildcards=&amp;quot;yes&amp;quot;&amp;gt;%h&amp;lt;/name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_qotd._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;17&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
別のサーバーでサービスを動作させる場合や、DNS のサブタイプが異なる場合など、複雑なサービスについては {{ic|man avahi.service}} を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
Avahi には SSH サーバーを喧伝するサンプルサービスファイルが付属しています。有効化するには:&lt;br /&gt;
 # cp /usr/share/doc/avahi/ssh.service /etc/avahi/services/&lt;br /&gt;
&lt;br /&gt;
===ファイル共有===&lt;br /&gt;
&lt;br /&gt;
====NFS====&lt;br /&gt;
[[NFS]] 共有を設定している場合は、Avahi を使って Zeroconf が有効になっているブラウザ (KDE の Konqueror や macOS の Finder など) で共有を自動マウントすることができます。{{ic|/etc/avahi/services}} に以下の内容で {{ic|.service}} ファイルを作成してください:&lt;br /&gt;
{{hc|/etc/avahi/services/nfs_Zephyrus_Music.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
  &amp;lt;name replace-wildcards=&amp;quot;yes&amp;quot;&amp;gt;NFS Music Share on %h&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_nfs._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;2049&amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;path=/data/shared/Music&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/exports}} にオプションとして &#039;&#039;insecure&#039;&#039; を使っている場合ポートはこのままでいいですが、そうでない場合は変更する必要があります (macOS クライアントには &#039;&#039;insecure&#039;&#039; が必要です)。パスは export しているパスか、そのサブディレクトリになります。なんらかの理由で Leopard から自動マウント機能は削除されていますが、[http://www.macosxhints.com/article.php?story=20071116042238744 スクリプトを使うことができます]。このスクリプトは[http://ubuntuforums.org/showthread.php?p=4387032#post4387032 この投稿] に基づいています。&lt;br /&gt;
&lt;br /&gt;
====Samba====&lt;br /&gt;
サーバーとクライアントの両方で Avahi デーモンを動作させることで、クライアント側のファイルマネージャで自動的にサーバーが認識されます。&lt;br /&gt;
&lt;br /&gt;
====Vsftpd====&lt;br /&gt;
[[vsftpd]] などの通常の FTP サーバーを自動探知することもできます。{{Pkg|vsftpd}} パッケージをインストールして vsftpd の設定を自由に変更してください ([http://ubuntuforums.org/showthread.php?t=218630 ubuntuforums.org のスレッド] や {{ic|man vsftpd.conf}} を参照)。&lt;br /&gt;
&lt;br /&gt;
そして以下の内容で {{ic|/etc/avahi/services}} に {{ic|.service}} ファイルを作成:&lt;br /&gt;
{{hc|/etc/avahi/services/ftp.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;FTP file sharing&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_ftp._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;21&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
これで FTP サーバーが Avahi によって喧伝されるようになります。ネットワーク上の他のコンピュータからファイルマネージャを使って FTP サーバーに接続できるはずです。クライアント側で[[#ホスト名の解決|ホスト名の解決]]を有効にする必要があるかもしれません。&lt;br /&gt;
&lt;br /&gt;
===携帯デバイスからの Airprint===&lt;br /&gt;
Avahi と CUPS を組み合わせることで airprint に対応している携帯デバイスからプリンターに印刷をすることができます。印刷機能を有効にするには、{{ic|/etc/avahi/services/}} にプリンターの Avahi サービスファイルを作成してください。HP-Laserjet プリンターの場合、サービスファイルは以下のようになります。{{ic|name}}, {{ic|rp}}, {{ic|ty}}, {{ic|adminurl}}, {{ic|note}} フィールドは適切な値に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/avahi/services/airprint.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&amp;lt;!--*-nxml-*--&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;yourPrnterName&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_ipp._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;subtype&amp;gt;_universal._sub._ipp._tcp&amp;lt;/subtype&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;631&amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;txtver=1&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;qtotal=1&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;rp=printers/yourPrnterName&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;ty=yourPrnterName&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;adminurl=http://198.168.7.15:631/printers/yourPrnterName&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;note=Office Laserjet 4100n&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;priority=0&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;product=(GPL Ghostscript)&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;printer-state=3&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;printer-type=0x801046&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Transparent=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Binary=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Fax=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Color=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Duplex=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Staple=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Copies=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Collate=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Punch=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Bind=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Sort=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Scan=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;URF=W8,SRGB24,CP1,RS600&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
もしくは https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py を使って Avahi サービスファイルを生成することもできます。スクリプトは {{Pkg|python2}} と {{Pkg|python2-pycups}} に依存しており、以下のコマンドで使用することができます:&lt;br /&gt;
&lt;br /&gt;
 # python2 airprint-generate.py -d /etc/avahi/services&lt;br /&gt;
&lt;br /&gt;
{{Note|http://localhost:631/printers でプリンターが &amp;quot;Not Shared&amp;quot; になっている場合、上記の python スクリプトは {{ic|/etc/avahi/services}} に何もファイルを出力しません。その場合、CUPS のドロップダウンメニューから &amp;quot;Modify Printer&amp;quot; を選択して共有を有効にしてください。共有ができない場合、[[CUPS/プリンター共有]]を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
== サービスタイプデータベースの編集 ==&lt;br /&gt;
上に記述したとおり、Avahi にはサービスを確認することができるツールが付属しています。{{ic|avahi-browse}} と {{ic|avahi-discover}} はどちらもデータベースファイルを使用してサービスの説明を表示します。データベースにはほとんどのサービスの名前が含まれています (全てではありません)。&lt;br /&gt;
&lt;br /&gt;
残念ながら、作成したばかりの QOTD サービスはデータベースに含まれていないため {{ic|avahi-browse -a}} は以下のようなエントリを表示します:&lt;br /&gt;
&lt;br /&gt;
 + wlp2s0 IPv4 MyServer                                        _qotd._tcp local&lt;br /&gt;
&lt;br /&gt;
=== ソースの取得 === &lt;br /&gt;
&lt;br /&gt;
まずは [https://github.com/lathiat/avahi avahi の github ミラー] にある {{ic|service-type-database}} サブディレクトリから {{ic|build-db.in}} と {{ic|service-types}} ファイルをダウンロードしてビルドディレクトリに配置してください:&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/lathiat/avahi/master/service-type-database/build-db.in&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/lathiat/avahi/master/service-type-database/service-types&lt;br /&gt;
&lt;br /&gt;
=== ソースの修正 ===&lt;br /&gt;
&lt;br /&gt;
次に、以下のスクリプトを作成してください:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 sed -e &#039;s,@PYTHON\@,/usr/bin/python2.7,g&#039; \&lt;br /&gt;
     -e &#039;s,@DBM\@,gdbm,g&#039; &amp;lt; build-db.in &amp;gt; build-db&lt;br /&gt;
 chmod +x build-db&lt;br /&gt;
&lt;br /&gt;
上記のスクリプトは {{ic|build-db}} という名前のファイルを作成します:&lt;br /&gt;
&lt;br /&gt;
 $./whatever_you_named_the_script.sh&lt;br /&gt;
 $ ls&lt;br /&gt;
 build-db build-db.in service-types whatever_you_named_the_script.sh&lt;br /&gt;
&lt;br /&gt;
そして、{{ic|service-types}} ファイルに新しい QOTD サービスを追加してください。ファイルは1行毎に1エントリとなっており、{{ic|type:Human Readable Description}} という形式でエントリを記入します。説明には空白を入れることができます。&lt;br /&gt;
&lt;br /&gt;
例えば、ファイルの末尾に以下のエントリを追加します:&lt;br /&gt;
&lt;br /&gt;
 _qotd._tcp:Quote of the Day (QOTD) Server&lt;br /&gt;
&lt;br /&gt;
=== 新しいデータベースのビルドとインストール ===&lt;br /&gt;
&lt;br /&gt;
{{ic|build-db}} python スクリプトを実行してください (python3 ではなく python2 を使用します)。{{ic|service-types.db}} ファイルがビルドされます。ビルドされたら {{ic|gdbmtools}} を使って新しいデータベースがロードできること、新しいエントリが含まれていることを確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ /usr/bin/python2.7 build-db&lt;br /&gt;
 $ ls&lt;br /&gt;
 build-db build-db.in service-types service-types.db whatever_you_named_the_script.sh&lt;br /&gt;
 $ gdbmtool service-types.db&lt;br /&gt;
 &lt;br /&gt;
 Welcome to the gdbm tool.  Type ? for help.&lt;br /&gt;
 &lt;br /&gt;
 gdbmtool&amp;gt;fetch _qotd._tcp&lt;br /&gt;
 Quote of the Day (QOTD) Server&lt;br /&gt;
 gdbmtool&amp;gt;quit&lt;br /&gt;
&lt;br /&gt;
古いデータベースをバックアップしてから、新しいデータベースを移動して {{ic|avahi-browse}} で新しいエントリが認識されるようになったことを確認:&lt;br /&gt;
&lt;br /&gt;
 $ cp /usr/lib/avahi/service-types.db /backup-directory&lt;br /&gt;
 # cp /build-directory/service-types.db /usr/lib/avahi/service-types.db&lt;br /&gt;
 $ avahi-browse -b | grep QOTD&lt;br /&gt;
 Quote of the Day (QOTD) Server&lt;br /&gt;
&lt;br /&gt;
{{ic|avahi-browse}} のエントリは以下のようになります:&lt;br /&gt;
&lt;br /&gt;
 + wlp2s0 IPv4 MyServer                                        Quote of the Day (QOTD) Server local&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
* [http://avahi.org/ Avahi] - プロジェクトの公式ウェブサイト&lt;br /&gt;
* [[wikipedia:ja:Avahi]]&lt;br /&gt;
* [http://www.apple.com/support/downloads/bonjourforwindows.html Bonjour for Windows] - Windows で Zeroconf を有効化&lt;br /&gt;
* http://www.zeroconf.org/&lt;/div&gt;</summary>
		<author><name>Taskie</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Avahi&amp;diff=7984</id>
		<title>Avahi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Avahi&amp;diff=7984"/>
		<updated>2017-02-26T21:22:06Z</updated>

		<summary type="html">&lt;p&gt;Taskie: 英語版および現状の仕様に合わせて変更（Avahi の IPv6 サポートはデフォルトで有効になりました・hosts 行に resolve が追加されました）&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[en:Avahi]]&lt;br /&gt;
[[fr:Avahi]]&lt;br /&gt;
[[Wikipedia:ja:Avahi]] より:&lt;br /&gt;
:&#039;&#039;&amp;quot;[http://avahi.org/ Avahi] は、[[Wikipedia:ja:Zeroconf|Zeroconf]] (ゼロ・コンフィギュレーション・ネットワーキング) のフリーソフトウェア実装であり、マルチキャスト DNS/DNS-SD サービスディレクトリのためのシステムを含む。Avahi は、特定の構成情報のないローカルネットワーク上のサービスホストの発行と発見を可能とする。例えば、ネットワークに接続したとき、即座にプリンタを検出し、ファイルを探し出し、他者と会話できるようにする。GNU Lesser General Public License (LGPL) の条件でライセンス提供される。&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
[[公式リポジトリ]]にある {{Pkg|avahi}} を[[pacman|インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
Avahi のデーモンは [[systemd#ユニットを使う|systemd]] で {{ic|avahi-daemon.service}} を使うことで管理できます。&lt;br /&gt;
&lt;br /&gt;
== Avahi を使う ==&lt;br /&gt;
&lt;br /&gt;
=== ホスト名の解決 ===&lt;br /&gt;
Avahi には {{ic|&#039;&#039;hostname&#039;&#039;.local}} という名前を使ってローカルでホスト名を解決する機能があります。有効にするには {{Pkg|nss-mdns}} パッケージをインストールして {{ic|avahi-daemon.service}} を[[起動]]してください。&lt;br /&gt;
&lt;br /&gt;
その後、{{ic|/etc/nsswitch.conf}} ファイルを編集して、{{ic|resolve}} と {{ic|dns}} の前に {{ic|1=mdns_minimal [NOTFOUND=return]}} を含めるように変更してください:&lt;br /&gt;
 hosts: ... &#039;&#039;&#039;mdns_minimal [NOTFOUND=return]&#039;&#039;&#039; resolve [!UNAVAIL=return] dns ...&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|.local}} ホストの解決に時間がかかる場合、{{ic|mdns_minimal}} の代わりに {{ic|mdns4_minimal}} を使ってみてください。}}&lt;br /&gt;
&lt;br /&gt;
==== カスタム TLD を使用する場合の mDNS の設定 ====&lt;br /&gt;
&lt;br /&gt;
{{ic|mdns_minimal}} モジュールが {{ic|.local}} TLD の取り合わせを処理します。{{ic|&amp;lt;nowiki&amp;gt;[NOTFOUND=return]&amp;lt;/nowiki&amp;gt;}} と設定しているのは、{{ic|mdns_minimal}} が {{ic|*.local}} を見つけられなかったときに、{{ic|dns}} や {{ic|myhostname}} などで検索しないようにするためです。&lt;br /&gt;
&lt;br /&gt;
Avahi で他の TLD もサポートしたい場合、以下の設定を行ってください:&lt;br /&gt;
* {{ic|1=mdns_minimal [NOTFOUND=return]}} を {{ic|mdns}} に置き換えてください。IPv4 や IPv6 しか使わないモジュール {{ic|mdns[46](_minimal)}} も存在します。&lt;br /&gt;
* {{ic|/etc/avahi/avahi-daemon.conf}} の {{ic|domain-name}} をカスタマイズしてください。&lt;br /&gt;
* {{ic|/etc/mdns.allow}} で Avahi のカスタム TLD をホワイトリストに入れてください。&lt;br /&gt;
&lt;br /&gt;
==== ツール ====&lt;br /&gt;
&lt;br /&gt;
Avahi にはネットワーク上で動作しているサービスを探知するのに役立つユーティリティが複数含まれています。例えば、以下のコマンドを実行するとネットワーク上のサービスが表示されます:&lt;br /&gt;
 $ avahi-browse -alr&lt;br /&gt;
&lt;br /&gt;
Avahi Zeroconf Browser ({{ic|avahi-discover}}) はネットワーク上の様々なサービスを表示します。使用するには Avahi の任意依存パッケージである {{Pkg|pygtk}} と {{Pkg|python2-dbus}} のインストールが必要です。また、{{ic|bssh}} と {{ic|bvnc}} を使うことで SSH サーバーや VNC サーバーを探知することができます。&lt;br /&gt;
&lt;br /&gt;
Avahi をサポートしているソフトウェアのリストはウェブサイトを見てください: http://avahi.org/wiki/Avah4users&lt;br /&gt;
&lt;br /&gt;
=== ファイアウォール ===&lt;br /&gt;
&lt;br /&gt;
[[ファイアウォール]]を使っている場合は UDP ポート {{ic|5353}} を開いてください。&lt;br /&gt;
&lt;br /&gt;
===リンクローカル (Bonjour/Zeroconf) チャット===&lt;br /&gt;
&lt;br /&gt;
Avahi を使って Linux で Bonjour プロトコルを使用することもできます。[[Wikipedia:Comparison of instant messaging clients]] や[[アプリケーション一覧/インターネット#インスタントメッセージ]]に Bonjour プロトコルをサポートしているクライアントが載っています。&lt;br /&gt;
&lt;br /&gt;
=== IPv4LL IP アドレスの取得 ===&lt;br /&gt;
デフォルトでは、DHCP を使って IP を取得するとき、{{Pkg|dhcpcd}} パッケージを使用します。DHCP で IP アドレスが取得できなかったときに IPv4LL アドレスを取得するようにすることができます。デフォルトではこのオプションは無効になっています。有効にするには noipv4ll をコメントアウトしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dhcpcd.conf|&lt;br /&gt;
...&lt;br /&gt;
#noipv4ll&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
もしくは {{ic|avahi-autoipd}} を実行してください:&lt;br /&gt;
 # avahi-autoipd -D&lt;br /&gt;
&lt;br /&gt;
== サービスの追加 ==&lt;br /&gt;
&lt;br /&gt;
Avahi は {{ic|/etc/avahi/services}} に {{ic|*.service}} ファイルが存在するサービスを喧伝します。{{ic|*.service}} ファイルが存在しないサービスを使いたい場合、簡単にサービスを作成することができます。&lt;br /&gt;
&lt;br /&gt;
例として、[http://tools.ietf.org/html/rfc865 RFC865] に基づく今日の格言 (QOTD) を表示するサービスを TCP の17番ポートで稼働させるとしましょう。&lt;br /&gt;
&lt;br /&gt;
まず最初に {{ic|&amp;lt;type&amp;gt;}} を決定する必要があります。{{ic|man avahi.service}} によればタイプは DNS-SD サービスタイプのどれかにする必要があります (例: {{ic|_http._tcp}})。[http://www.dns-sd.org/ServiceTypes.html DNS-SD のレジスタは2010年に IANA レジスタに統合] されたため、サービス名は [http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml IANA レジスタ] や {{ic|/etc/services}} ファイルで確認することができます。サービス名は {{ic|qotd}} となっています。QOTD は tcp で動作するため、サービスは {{ic|_qotd._tcp}} でありポート番号は 17 となります (IANA と RFC865 に準拠)。&lt;br /&gt;
&lt;br /&gt;
したがってサービスファイルは以下のようになります:&lt;br /&gt;
&lt;br /&gt;
{{hc|qotd.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&amp;lt;!--*-nxml-*--&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;name replace-wildcards=&amp;quot;yes&amp;quot;&amp;gt;%h&amp;lt;/name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_qotd._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;17&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
別のサーバーでサービスを動作させる場合や、DNS のサブタイプが異なる場合など、複雑なサービスについては {{ic|man avahi.service}} を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
Avahi には SSH サーバーを喧伝するサンプルサービスファイルが付属しています。有効化するには:&lt;br /&gt;
 # cp /usr/share/doc/avahi/ssh.service /etc/avahi/services/&lt;br /&gt;
&lt;br /&gt;
===ファイル共有===&lt;br /&gt;
&lt;br /&gt;
====NFS====&lt;br /&gt;
[[NFS]] 共有を設定している場合は、Avahi を使って Zeroconf が有効になっているブラウザ (KDE の Konqueror や macOS の Finder など) で共有を自動マウントすることができます。{{ic|/etc/avahi/services}} に以下の内容で {{ic|.service}} ファイルを作成してください:&lt;br /&gt;
{{hc|/etc/avahi/services/nfs_Zephyrus_Music.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
  &amp;lt;name replace-wildcards=&amp;quot;yes&amp;quot;&amp;gt;NFS Music Share on %h&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_nfs._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;2049&amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;path=/data/shared/Music&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/exports}} にオプションとして &#039;&#039;insecure&#039;&#039; を使っている場合ポートはこのままでいいですが、そうでない場合は変更する必要があります (macOS クライアントには &#039;&#039;insecure&#039;&#039; が必要です)。パスは export しているパスか、そのサブディレクトリになります。なんらかの理由で Leopard から自動マウント機能は削除されていますが、[http://www.macosxhints.com/article.php?story=20071116042238744 スクリプトを使うことができます]。このスクリプトは[http://ubuntuforums.org/showthread.php?p=4387032#post4387032 この投稿] に基づいています。&lt;br /&gt;
&lt;br /&gt;
====Samba====&lt;br /&gt;
サーバーとクライアントの両方で Avahi デーモンを動作させることで、クライアント側のファイルマネージャで自動的にサーバーが認識されます。&lt;br /&gt;
&lt;br /&gt;
====Vsftpd====&lt;br /&gt;
[[vsftpd]] などの通常の FTP サーバーを自動探知することもできます。{{Pkg|vsftpd}} パッケージをインストールして vsftpd の設定を自由に変更してください ([http://ubuntuforums.org/showthread.php?t=218630 ubuntuforums.org のスレッド] や {{ic|man vsftpd.conf}} を参照)。&lt;br /&gt;
&lt;br /&gt;
そして以下の内容で {{ic|/etc/avahi/services}} に {{ic|.service}} ファイルを作成:&lt;br /&gt;
{{hc|/etc/avahi/services/ftp.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;FTP file sharing&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_ftp._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;21&amp;lt;/port&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
これで FTP サーバーが Avahi によって喧伝されるようになります。ネットワーク上の他のコンピュータからファイルマネージャを使って FTP サーバーに接続できるはずです。クライアント側で[[#ホスト名の解決|ホスト名の解決]]を有効にする必要があるかもしれません。&lt;br /&gt;
&lt;br /&gt;
===携帯デバイスからの Airprint===&lt;br /&gt;
Avahi と CUPS を組み合わせることで airprint に対応している携帯デバイスからプリンターに印刷をすることができます。印刷機能を有効にするには、{{ic|/etc/avahi/services/}} にプリンターの Avahi サービスファイルを作成してください。HP-Laserjet プリンターの場合、サービスファイルは以下のようになります。{{ic|name}}, {{ic|rp}}, {{ic|ty}}, {{ic|adminurl}}, {{ic|note}} フィールドは適切な値に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/avahi/services/airprint.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&#039;no&#039;?&amp;gt;&amp;lt;!--*-nxml-*--&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE service-group SYSTEM &amp;quot;avahi-service.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;service-group&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;yourPrnterName&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;service&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;_ipp._tcp&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;subtype&amp;gt;_universal._sub._ipp._tcp&amp;lt;/subtype&amp;gt;&lt;br /&gt;
    &amp;lt;port&amp;gt;631&amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;txtver=1&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;qtotal=1&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;rp=printers/yourPrnterName&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;ty=yourPrnterName&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;adminurl=http://198.168.7.15:631/printers/yourPrnterName&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;note=Office Laserjet 4100n&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;priority=0&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;product=(GPL Ghostscript)&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;printer-state=3&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;printer-type=0x801046&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Transparent=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Binary=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Fax=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Color=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Duplex=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Staple=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Copies=T&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Collate=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Punch=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Bind=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Sort=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;Scan=F&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
    &amp;lt;txt-record&amp;gt;URF=W8,SRGB24,CP1,RS600&amp;lt;/txt-record&amp;gt;&lt;br /&gt;
  &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/service-group&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
もしくは https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py を使って Avahi サービスファイルを生成することもできます。スクリプトは {{Pkg|python2}} と {{Pkg|python2-pycups}} に依存しており、以下のコマンドで使用することができます:&lt;br /&gt;
&lt;br /&gt;
 # python2 airprint-generate.py -d /etc/avahi/services&lt;br /&gt;
&lt;br /&gt;
{{Note|http://localhost:631/printers でプリンターが &amp;quot;Not Shared&amp;quot; になっている場合、上記の python スクリプトは {{ic|/etc/avahi/services}} に何もファイルを出力しません。その場合、CUPS のドロップダウンメニューから &amp;quot;Modify Printer&amp;quot; を選択して共有を有効にしてください。共有ができない場合、[[CUPS/プリンター共有]]を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
== サービスタイプデータベースの編集 ==&lt;br /&gt;
上に記述したとおり、Avahi にはサービスを確認することができるツールが付属しています。{{ic|avahi-browse}} と {{ic|avahi-discover}} はどちらもデータベースファイルを使用してサービスの説明を表示します。データベースにはほとんどのサービスの名前が含まれています (全てではありません)。&lt;br /&gt;
&lt;br /&gt;
残念ながら、作成したばかりの QOTD サービスはデータベースに含まれていないため {{ic|avahi-browse -a}} は以下のようなエントリを表示します:&lt;br /&gt;
&lt;br /&gt;
 + wlp2s0 IPv4 MyServer                                        _qotd._tcp local&lt;br /&gt;
&lt;br /&gt;
=== ソースの取得 === &lt;br /&gt;
&lt;br /&gt;
まずは [https://github.com/lathiat/avahi avahi の github ミラー] にある {{ic|service-type-database}} サブディレクトリから {{ic|build-db.in}} と {{ic|service-types}} ファイルをダウンロードしてビルドディレクトリに配置してください:&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/lathiat/avahi/master/service-type-database/build-db.in&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/lathiat/avahi/master/service-type-database/service-types&lt;br /&gt;
&lt;br /&gt;
=== ソースの修正 ===&lt;br /&gt;
&lt;br /&gt;
次に、以下のスクリプトを作成してください:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 sed -e &#039;s,@PYTHON\@,/usr/bin/python2.7,g&#039; \&lt;br /&gt;
     -e &#039;s,@DBM\@,gdbm,g&#039; &amp;lt; build-db.in &amp;gt; build-db&lt;br /&gt;
 chmod +x build-db&lt;br /&gt;
&lt;br /&gt;
上記のスクリプトは {{ic|build-db}} という名前のファイルを作成します:&lt;br /&gt;
&lt;br /&gt;
 $./whatever_you_named_the_script.sh&lt;br /&gt;
 $ ls&lt;br /&gt;
 build-db build-db.in service-types whatever_you_named_the_script.sh&lt;br /&gt;
&lt;br /&gt;
そして、{{ic|service-types}} ファイルに新しい QOTD サービスを追加してください。ファイルは1行毎に1エントリとなっており、{{ic|type:Human Readable Description}} という形式でエントリを記入します。説明には空白を入れることができます。&lt;br /&gt;
&lt;br /&gt;
例えば、ファイルの末尾に以下のエントリを追加します:&lt;br /&gt;
&lt;br /&gt;
 _qotd._tcp:Quote of the Day (QOTD) Server&lt;br /&gt;
&lt;br /&gt;
=== 新しいデータベースのビルドとインストール ===&lt;br /&gt;
&lt;br /&gt;
{{ic|build-db}} python スクリプトを実行してください (python3 ではなく python2 を使用します)。{{ic|service-types.db}} ファイルがビルドされます。ビルドされたら {{ic|gdbmtools}} を使って新しいデータベースがロードできること、新しいエントリが含まれていることを確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ /usr/bin/python2.7 build-db&lt;br /&gt;
 $ ls&lt;br /&gt;
 build-db build-db.in service-types service-types.db whatever_you_named_the_script.sh&lt;br /&gt;
 $ gdbmtool service-types.db&lt;br /&gt;
 &lt;br /&gt;
 Welcome to the gdbm tool.  Type ? for help.&lt;br /&gt;
 &lt;br /&gt;
 gdbmtool&amp;gt;fetch _qotd._tcp&lt;br /&gt;
 Quote of the Day (QOTD) Server&lt;br /&gt;
 gdbmtool&amp;gt;quit&lt;br /&gt;
&lt;br /&gt;
古いデータベースをバックアップしてから、新しいデータベースを移動して {{ic|avahi-browse}} で新しいエントリが認識されるようになったことを確認:&lt;br /&gt;
&lt;br /&gt;
 $ cp /usr/lib/avahi/service-types.db /backup-directory&lt;br /&gt;
 # cp /build-directory/service-types.db /usr/lib/avahi/service-types.db&lt;br /&gt;
 $ avahi-browse -b | grep QOTD&lt;br /&gt;
 Quote of the Day (QOTD) Server&lt;br /&gt;
&lt;br /&gt;
{{ic|avahi-browse}} のエントリは以下のようになります:&lt;br /&gt;
&lt;br /&gt;
 + wlp2s0 IPv4 MyServer                                        Quote of the Day (QOTD) Server local&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
* [http://avahi.org/ Avahi] - プロジェクトの公式ウェブサイト&lt;br /&gt;
* [[wikipedia:ja:Avahi]]&lt;br /&gt;
* [http://www.apple.com/support/downloads/bonjourforwindows.html Bonjour for Windows] - Windows で Zeroconf を有効化&lt;br /&gt;
* http://www.zeroconf.org/&lt;/div&gt;</summary>
		<author><name>Taskie</name></author>
	</entry>
</feed>