<?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=Ken</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=Ken"/>
	<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/Ken"/>
	<updated>2026-05-25T20:25:11Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Redis&amp;diff=37589</id>
		<title>Redis</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Redis&amp;diff=37589"/>
		<updated>2024-06-01T11:54:57Z</updated>

		<summary type="html">&lt;p&gt;Ken: 設定ファイル redis.conf の所在を /etc/redis.conf から /etc/redis/redis.conf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:データベース管理システム]]&lt;br /&gt;
[[en:Redis]]&lt;br /&gt;
[[Wikipedia:Redis]] より:&lt;br /&gt;
:&#039;&#039;Redis はデータ構造サーバーを実装するソフトウェアプロジェクトです。オープンソースでありネットワーク上にデプロイされ、オンメモリで動作し、冗長性を持ってキーを保存します。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
{{pkg|redis}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
その後 {{ic|redis.service}} を[[起動]]・[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
Redis の設定ファイルは {{ic|/etc/redis/redis.conf}} です。豊富なコメントが付いています。&lt;br /&gt;
&lt;br /&gt;
* デフォルトでは、&amp;quot;bind&amp;quot; 設定ディレクティブが指定されていないため、Redis は全てのネットワークインターフェイスからの接続を許可します。以下のように設定することで特定のホストからの接続だけを許可できます:&lt;br /&gt;
 bind 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
* デフォルトでは特定のポート ({{ic|6379}}) からの接続だけを許可していますが、{{ic|port 0}} を指定することで TCP の listen を無効にできます:&lt;br /&gt;
 port 6379 &lt;br /&gt;
&lt;br /&gt;
=== ソケットを使う ===&lt;br /&gt;
Redis で Unix ソケットを使うようにすることで TCP/IP を使う場合と比べて高い性能を発揮させることができます [http://redis.io/topics/benchmarks]。&lt;br /&gt;
&lt;br /&gt;
Unix ソケットを有効にするには {{ic|/etc/redis/redis.conf}} に以下の変更を加えてください:&lt;br /&gt;
&lt;br /&gt;
* Redis ソケットパスを有効化・更新:&lt;br /&gt;
 unixsocket /run/redis/redis.sock&lt;br /&gt;
&lt;br /&gt;
* ソケットのパーミッションを全て &#039;&#039;redis&#039;&#039; [[グループ]]のメンバーに設定:&lt;br /&gt;
 unixsocketperm 770&lt;br /&gt;
&lt;br /&gt;
* ソケットを保存するためのディレクトリを作成:&lt;br /&gt;
 # mkdir /run/redis&lt;br /&gt;
 # chown redis:redis /run/redis&lt;br /&gt;
 # chmod 755 /run/redis&lt;br /&gt;
&lt;br /&gt;
* ソケットを保存するためのディレクトリを設定する[[systemd#一時ファイル|一時ファイル]]を作成:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/tmpfiles.d/redis.conf|2=&lt;br /&gt;
d /run/redis 0755 redis redis -&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* ソケットにアクセス・使用できるようにユーザー (例: &#039;&#039;git&#039;&#039;, &#039;&#039;http&#039;&#039;) を &#039;&#039;redis&#039;&#039; [[グループ]]に追加。&lt;br /&gt;
&lt;br /&gt;
最後に {{ic|redis.service}} を再起動してください。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== Transparent Huge Pages (THP) の警告 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis.}} という警告メッセージが表示される場合、機能を無効化することで、警告を消すことができます:&lt;br /&gt;
{{hc|/etc/tmpfiles.d/redis.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
w /sys/kernel/mm/transparent_hugepage/enabled - - - - never&lt;br /&gt;
w /sys/kernel/mm/transparent_hugepage/defrag - - - - never&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== TCP バックログの警告 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.}} という警告メッセージを解決するには、値を増やしてください:&lt;br /&gt;
{{hc|/etc/sysctl.d/99-sysctl.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
net.core.somaxconn=512&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== overcommit_memory が 0 に設定されているという警告 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|overcommit_memory is set to 0! Background save may fail under low memory condition}} という警告メッセージを解決するには:&lt;br /&gt;
{{hc|/etc/sysctl.d/99-sysctl.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
vm.overcommit_memory=1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7/%E3%83%A6%E3%83%BC%E3%83%86%E3%82%A3%E3%83%AA%E3%83%86%E3%82%A3&amp;diff=18746</id>
		<title>アプリケーション一覧/ユーティリティ</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7/%E3%83%A6%E3%83%BC%E3%83%86%E3%82%A3%E3%83%AA%E3%83%86%E3%82%A3&amp;diff=18746"/>
		<updated>2020-12-27T07:03:30Z</updated>

		<summary type="html">&lt;p&gt;Ken: /* 統合開発環境 */ thonny のURLを修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:アプリケーション]]&lt;br /&gt;
[[Category:ソフトウェア一覧]]&lt;br /&gt;
[[en:List of applications/Utilities]]&lt;br /&gt;
[[es:List of applications/Utilities]]&lt;br /&gt;
[[it:List of applications/Utilities]]&lt;br /&gt;
[[ru:List of applications/Utilities]]&lt;br /&gt;
[[uk:List of applications/Utilities]]&lt;br /&gt;
[[zh-hans:List of applications/Utilities]]&lt;br /&gt;
[[zh-hant:List of applications/Utilities]]&lt;br /&gt;
{{List of Applications navigation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
== ユーティリティ ==&lt;br /&gt;
&lt;br /&gt;
=== パーティション分割ツール ===&lt;br /&gt;
&lt;br /&gt;
{{Box||参照: [[パーティショニング#パーティショニングツール|パーティショニングツール]]|#E5E5FF|#FCFCFC}}&lt;br /&gt;
&lt;br /&gt;
=== マウントツール ===&lt;br /&gt;
&lt;br /&gt;
* {{App|9mount|9p ファイルシステムをマウント。|http://sqweek.net/code/9mount/|{{AUR|9mount}}}}&lt;br /&gt;
* {{App|cryptmount|暗号化されたファイルシステムを通常ユーザーでマウント。|https://sourceforge.net/projects/cryptmount/|{{AUR|cryptmount}}}}&lt;br /&gt;
* {{App|ldm|&#039;&#039;udev&#039;&#039; を使ってドライブを自動的にマウントする軽量なデーモン。|https://github.com/LemonBoy/ldm|{{AUR|ldm}}}}&lt;br /&gt;
* {{App|pmount|通常ユーザーで&#039;&#039;ソース&#039;&#039;を自動的に作成する {{ic|/media/&#039;&#039;source_name&#039;&#039;}} にマウント。|https://pmount.alioth.debian.org/|{{AUR|pmount}}}}&lt;br /&gt;
* {{App|pmount-safe-removal|安全に取り除けるように通常ユーザーでリムーバブルデバイスをマウント。|https://mywaytoarch.tumblr.com/post/13111098534/pmount-safe-removal-of-usb-device|{{AUR|pmount-safe-removal}}}}&lt;br /&gt;
* {{App|udevil|通常ユーザーでリムーバブルデバイスをマウント。デバイス情報を表示して、デバイスの変更を監視。&#039;&#039;udev&#039;&#039; と glib にだけ依存。|https://ignorantguru.github.io/udevil|{{Pkg|udevil}}}}&lt;br /&gt;
* {{App|ws|Windows ネットワーク共有をマウント ([[Wikipedia:Server Message Block|CIFS]] と [[Wikipedia:Virtual file system|VFS]])。|https://sourceforge.net/projects/winshares/|{{AUR|ws}}}}&lt;br /&gt;
* {{App|zulucrypt|暗号化ボリュームを作成・管理・マウントする cryptsetup の GUI フロントエンド。[[EncFS]] もサポート。|https://mhogomchungu.github.io/zuluCrypt/|{{AUR|zulucrypt}}}}&lt;br /&gt;
&lt;br /&gt;
==== Udisks ====&lt;br /&gt;
&lt;br /&gt;
* {{App|bashmount|&#039;&#039;udisks2&#039;&#039; を使って通常ユーザーでリムーバブルデバイスをマウント・管理する bash スクリプト。|https://github.com/jamielinux/bashmount|{{AUR|bashmount}}}}&lt;br /&gt;
* {{App|udiskie|&#039;&#039;udisks2&#039;&#039; を使って自動的にディスクをマウントするサービス。|https://pypi.python.org/pypi/udiskie|{{Pkg|udiskie}}}}&lt;br /&gt;
* {{App|udisks_functions|&#039;&#039;udisks2&#039;&#039; の Bash 関数とエイリアス。|3=https://bbs.archlinux.org/viewtopic.php?id=109307|4={{AUR|udisks_functions}}{{Broken package link|{{aur-mirror|udisks_functions}}}}}}&lt;br /&gt;
* {{App|udisksvm|リムーバブルメディアの GUI &#039;&#039;udisks&#039;&#039; ラッパー。|3=https://bbs.archlinux.org/viewtopic.php?id=112397|4={{AUR|udisksvm}}}}&lt;br /&gt;
&lt;br /&gt;
=== 基本シェルコマンド ===&lt;br /&gt;
* {{App|[[Core Utilities]]|GNU オペレーティングシステムの基本ファイル・シェル・テキスト操作ユーティリティ|https://www.gnu.org/software/coreutils|{{Pkg|coreutils}}}}&lt;br /&gt;
&lt;br /&gt;
=== ターミナルエミュレータ ===&lt;br /&gt;
{{Wikipedia|List of terminal emulators}}&lt;br /&gt;
&lt;br /&gt;
端末エミュレータをよく使うパワーユーザーにとっては、X11 の端末エミュレータがたくさん存在していることは驚くに値しないかもしれません。それらエミュレータのほとんどは Xterm をエミュレートしていて、その Xterm は VT102 をエミュレートしていて、VT102 はタイプライターをエミュレートしています。このことについて詳しく知るには [[Wikipedia:Terminal emulator|Wikipedia の記事]]や[https://google.com/search?q=linux+terminal+emulators 他のソース]を読むといいかもしれません。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[Alacritty]]|クロスプラットフォームの GPU アクセラレーションターミナルエミュレータ。|https://github.com/jwilm/alacritty|{{Pkg|alacritty}}}}&lt;br /&gt;
* {{App|[[Wikipedia:aterm|aterm]]|透過をサポートした xterm 代替。2008年から urxvt に取って代わられて開発は停止しています。|http://aterm.sourceforge.net/|{{AUR|aterm}}}}&lt;br /&gt;
* {{App|Cool Retro Term|昔のブラウン管ディスプレイを模した見た目が良いターミナルエミュレータ。|https://github.com/Swordfish90/cool-retro-term|{{Pkg|cool-retro-term}}}}&lt;br /&gt;
* {{App|Eterm|[[Enlightenment]] デスクトップ向けに作られた xterm を代替するターミナルエミュレータ。|http://eterm.org|{{AUR|eterm}}}}&lt;br /&gt;
* {{App|Gate One|ウェブベースのターミナルエミュレータ、SSH クライアント。|https://github.com/liftoff/GateOne|{{AUR|gateone-git}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Konsole|Konsole]]|[[KDE]] デスクトップのターミナルエミュレータ。|http://kde.org/applications/system/konsole/|{{Pkg|konsole}}}}&lt;br /&gt;
* {{App|[[kitty]]|モダンで柔軟な設定が可能な OpenGL ベースのターミナルエミュレータ|https://github.com/kovidgoyal/kitty|{{Pkg|kitty}}}}&lt;br /&gt;
* {{App|mlterm|世界中の様々な文字セットやエンコーディングが使える多言語対応のターミナルエミュレータ。|https://sourceforge.net/projects/mlterm/|{{AUR|mlterm}}}}&lt;br /&gt;
* {{App|[[Wikipedia:mrxvt|Mrxvt]]|rxvt ベースのタブ式 X ターミナルエミュレータ。|http://materm.sourceforge.net/wiki/pmwiki.php|{{AUR|mrxvt}}{{Broken package link|{{aur-mirror|mrxvt}}}}}}&lt;br /&gt;
* {{App|QTerminal|軽量な Qt ベースのターミナルエミュレータ。|https://github.com/qterminal/qterminal|{{pkg|qterminal}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Rxvt|rxvt]]|xterm の人気代替。|http://rxvt.sourceforge.net/|{{AUR|rxvt}}}}&lt;br /&gt;
* {{App|shellinabox|ウェブベースの SSH ターミナル。|https://github.com/shellinabox/shellinabox|{{AUR|shellinabox-git}}}}&lt;br /&gt;
* {{App|[[st]]|X 向けのシンプルなターミナル実装。|http://st.suckless.org|{{AUR|st}}}}&lt;br /&gt;
* {{App|Terminal|マルチウィンドウやスクロールバッファなどの当然の機能を全てサポートするターミナルエミュレータ。GNUstep の一部。|http://gap.nongnu.org/terminal/index.html|{{aur|gnustep-terminal}}{{Broken package link|{{aur-mirror|gnustep-terminal}}}}}}&lt;br /&gt;
* {{App|Terminology|革新的な機能を備えた Enlightenment プロジェクトチームによるターミナルエミュレータ:ファイルのサムネイルとメディアは、メディアプレーヤーのように再生されます。|http://enlightenment.org/p.php?p&amp;amp;#61;about/terminology|{{Pkg|terminology}}}}&lt;br /&gt;
* {{App|[[Tilda]]|Quake, Doom, Half-Life などのファーストパーソンシューターゲームに登場するクラシックなターミナルにインスパイアされて出来た Linux ターミナル。|https://github.com/lanoxx/tilda/|{{Pkg|tilda}}}}&lt;br /&gt;
* {{App|[[urxvt]]|(Perl によって) 高い拡張性を持ちユニコードが使える rxvt クローンターミナルエミュレータ。タブ、URL 起動、Quake スタイルのドロップダウンモード、擬似透過をサポート。|http://software.schmorp.de/pkg/rxvt-unicode.html|{{Pkg|rxvt-unicode}}}}&lt;br /&gt;
* {{App|[[xterm]]|X Window System 用のシンプルなターミナルエミュレータ。ウィンドウシステムを直接使えないプログラム用に DEC VT102 や Tektronix 4014 互換のターミナルを提供します。|http://invisible-island.net/xterm/|{{Pkg|xterm}}}}&lt;br /&gt;
* {{App|[[Yakuake]]|Konsole ベースのドロップダウンターミナル (Quake スタイル) エミュレータ。|http://yakuake.kde.org/|{{Pkg|yakuake}}}}&lt;br /&gt;
&lt;br /&gt;
==== VTE ベース ====&lt;br /&gt;
[https://developer.gnome.org/vte/unstable/ VTE] (Virtual Terminal Emulator) は初期の GNOME で GNOME Terminal で使うために開発されたウィジェットです。VTE ができてから、似た機能を持つ数多くのターミナルが生まれました。&lt;br /&gt;
&lt;br /&gt;
* {{App|evilvte|高度にカスタマイズ可能なターミナルエミュレータ。タブ、オートハイド、複数エンコードをサポート。|http://calno.com/evilvte/|{{AUR|evilvte}}}}&lt;br /&gt;
* {{App|Germinal|ボーダーレスな最大化されたターミナルを表示する、最小主義のターミナルエミュレータ。デフォルトで tmux セッションにアタッチするので、タブやパネルが使えます。|http://www.imagination-land.org/tags/germinal.html|{{AUR|germinal}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:GNOME 端末|GNOME Terminal]]|[[GNOME]] デスクトップのターミナルエミュレータ。ユニコードと擬似透過をサポート。|https://wiki.gnome.org/Apps/Terminal|{{Pkg|gnome-terminal}}}}&lt;br /&gt;
* {{App|[[Guake]]|GNOME デスクトップ向けドロップダウンターミナル。|http://guake-project.org/|{{Pkg|guake}}}}&lt;br /&gt;
* {{App|LilyTerm|とても軽量で使いやすい X ターミナルエミュレータ。|http://lilyterm.luna.com.tw/|{{Pkg|lilyterm}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|LXTerminal|[[LXDE]] 向けのデスクトップ非依存のターミナルエミュレータ。|http://wiki.lxde.org/en/LXTerminal|{{Pkg|lxterminal}}}}&lt;br /&gt;
* {{App|MATE terminal|[[MATE]] デスクトップの [[Wikipedia:GNOME terminal|GNOME ターミナル]]のフォーク。|http://www.mate-desktop.org/|{{Pkg|mate-terminal}}}}&lt;br /&gt;
* {{App|Pantheon Terminal|[[Pantheon]] のターミナルエミュレータ。超軽量・美麗・シンプルなターミナル。デフォルト設定で使うように作られているので設定がほとんどありません。|https://launchpad.net/pantheon-terminal|{{Pkg|pantheon-terminal}}}}&lt;br /&gt;
* {{App|ROXTerm|場所をとらないタブ式ターミナルエミュレータ。|http://roxterm.sourceforge.net/|{{AUR|roxterm}}}}&lt;br /&gt;
* {{App|sakura|GTK+ と VTE ベースのターミナルエミュレータ。|http://www.pleyades.net/david/projects/sakura|{{Pkg|sakura}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Terminal (Xfce)|Terminal]]|[[Xfce]] デスクトップに含まれているターミナルエミュレータ。カラープロンプト、タブをサポート。|https://docs.xfce.org/apps/terminal/start|{{Pkg|xfce4-terminal}}}}&lt;br /&gt;
* {{App|[[terminator]]|マルチプルでリサイズ可能な端末パネルをサポートしたターミナルエミュレータ。|http://gnometerminator.blogspot.it/|{{Pkg|terminator}}}}&lt;br /&gt;
* {{App|Termit|vte ライブラリを使ったシンプルなターミナルエミュレータ。タブ、ブックマーク、エンコード方式の切り替えが可能。|https://github.com/nonstop/termit/wiki|{{AUR|termit-git}}}}&lt;br /&gt;
* {{App|[[Termite]]|キーボード中心の VTE ベースのターミナル。タイル型またはタブをサポートしているウィンドウマネージャで使われるように作られています。|https://github.com/thestinger/termite|{{Pkg|termite}}}}&lt;br /&gt;
* {{App|Terra|GTK+3.0 ベースのターミナルエミュレータ。使いやすいインターフェイスを持ち、縦横に分割できる画面でマルチターミナルをサポートしています (guake に類似)。|https://github.com/ozcan/terra-terminal|{{AUR|terra}}{{Broken package link|{{aur-mirror|terra}}}}}}&lt;br /&gt;
* {{App|Tilix|Linux 用のタイル型ターミナルエミュレータ。GTK+ 3 を使用。|https://github.com/gnunn1/tilix|{{Pkg|tilix}}, {{AUR|tilix-git}}}}&lt;br /&gt;
* {{App|tinyterm|VTE ベースの超軽量なターミナルエミュレータ。|https://github.com/lahwaacz/tinyterm|{{AUR|tinyterm-git}}}}&lt;br /&gt;
&lt;br /&gt;
==== KMS ベース ====&lt;br /&gt;
&lt;br /&gt;
以下のターミナルエミュレータは [[Kernel Mode Setting]] を使っており X がなくても起動できます。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[KMSCON]]|linux カーネルモードセッティング (KMS) がベースのシンプルなターミナルエミュレータ。|https://github.com/dvdhrm/kmscon|{{Pkg|kmscon}}}}&lt;br /&gt;
&lt;br /&gt;
==== フレームバッファベース ====&lt;br /&gt;
&lt;br /&gt;
GNU/Linux では、Linux カーネルの仮想デバイス (&#039;&#039;&#039;fbdev&#039;&#039;&#039;) や X の仮想フレームバッファシステム (&#039;&#039;&#039;xvfb&#039;&#039;&#039;) のことを[[Wikipedia:Framebuffer|フレームバッファ]]と呼ぶことがあります。このセクションでは主としてカーネルの仮想デバイス &#039;&#039;&#039;fbdev&#039;&#039;&#039; をベースにするターミナルエミュレータをリストアップしています。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[fbterm]]|大量の機能を備えている高速なフレームバッファベースのターミナルエミュレータ。開発は休止中です。|https://code.google.com/archive/p/fbterm/|{{Pkg|fbterm}}{{Broken package link|{{aur-mirror|fbterm}}}}}}&lt;br /&gt;
* {{App|yaft|X をなくても動かせるシンプルなターミナルエミュレータ。UCS2 文字、壁紙、256color をサポート。|https://github.com/uobikiemukot/yaft|{{AUR|yaft}}}}&lt;br /&gt;
&lt;br /&gt;
=== 統合開発環境 ===&lt;br /&gt;
{{Wikipedia|Comparison of integrated development environments}}&lt;br /&gt;
&lt;br /&gt;
* {{App|[[Anjuta]]|プロジェクト管理、アプリケーションウィザード、インタラクティブデバッガ、ソースエディタ、バージョンコントロールなど多数のツールを備えた多目的 IDE。|http://www.anjuta.org/|{{Pkg|anjuta}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Aptana|Aptana Studio]]|ウェブ開発を対象にしている Eclipse ベースの IDE。HTML, CSS, Javascript, Ruby on Rails, PHP, Adobe AIR などをサポート。|http://www.aptana.com/|{{AUR|aptana-studio}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Bluefish (text editor)|Bluefish]]|MDI インターフェース、シンタックスハイライト、Python プラグインをサポートした GTK+ エディタ / IDE。|http://bluefish.openoffice.nl/|{{Pkg|bluefish}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Bluej|Bluej]]|教育や初心者が主に使うことを目的とした完全な機能を備えた Java IDE。|https://bluej.org/|{{AUR|bluej}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Brackets_(text_editor)|Brackets]]|HTML, CSS, Javascript で書かれているフリーのオープンソースエディタ。主にウェブ開発に焦点を置いています。Adobe Systems によって作成され、MIT ライセンスで配布。現在は GitHub 上で開発中。|http://brackets.io/|{{AUR|brackets}}}}&lt;br /&gt;
* {{App|[[Wikipedia:GNOME Builder|Builder]]|GNOME の汎用 IDE。|https://wiki.gnome.org/Apps/Builder|{{Pkg|gnome-builder}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Code::Blocks|Code::Blocks]]|オープンソースでクロスプラットフォームな C/C++ IDE。|http://www.codeblocks.org/|{{Pkg|codeblocks}}}}&lt;br /&gt;
* {{App|[[Wikipedia:CodeLite|CodeLite]]|C++ で書かれた C/C++/PHP/Node.js のオープンソースなクロスプラットフォーム IDE。|http://www.codelite.org/|{{AUR|codelite}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Cloud9 IDE|Cloud9]]|ブラウザやクラウドで動く最新の IDE、どこでも・いつでもアプリケーションを実行・デバッグ・開発できます。|https://c9.io/|{{AUR|c9.core}}}}&lt;br /&gt;
* {{App|[[Eclipse]]|ユニバーサルな開発プラットフォームを提供することを目的にしているオープンソースコミュニティプロジェクト。|https://eclipse.org/|{{Pkg|eclipse-java}}, {{Pkg|eclipse-cpp}}, {{Pkg|eclipse-php}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Editra|Editra]]|使いやすいインターフェースとコード開発の補助機能に重点を置いて開発されたマルチプラットフォームのテキストエディタ。|http://www.editra.org|{{AUR|editra-svn}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Eric Python IDE|Eric]]|PyQt5 によるフル機能の Python 3.x / Ruby IDE。|https://eric-ide.python-projects.org/|{{Pkg|eric}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Gambas|Gambas]]|Basic インタプリタをベースにオブジェクト指向の拡張を加えたフリーの開発環境。|http://gambas.sourceforge.net/en/main.html|{{Pkg|gambas2-ide}}{{Broken package link|パッケージが存在しません}} {{Pkg|gambas3-ide}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Geany|Geany]]|基本的な統合開発環境の機能を持った GTK+ ツールキットを使うテキストエディタ。|https://geany.org|{{Pkg|geany}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:IntelliJ IDEA|IntelliJ IDEA]]|高度なリファクタリング機能を持つ Java, Groovy などのプログラミング言語向けの IDE。|https://www.jetbrains.com/idea/|{{Pkg|intellij-idea-community-edition}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:KDevelop|KDevelop]]|機能豊富なプラグインを使うことができる C/C++ などのプログラミング言語の IDE。|http://kdevelop.org/|{{Pkg|kdevelop}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Komodo_Edit|Komodo Edit]]|フリーの、多言語エディタ。|http://www.activestate.com/komodo-edit|{{AUR|komodo-edit}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Lazarus|Lazarus]]|Object Pascal のクロスプラットフォームの IDE。|http://lazarus.freepascal.org/|{{Pkg|lazarus}}}}&lt;br /&gt;
* {{App|LiteIDE|シンプルで、オープンソースの、クロスプラットフォームな Go の IDE。|https://github.com/visualfc/liteide|{{Pkg|liteide}}}}&lt;br /&gt;
* {{App|MonkeyStudio|Monkey Studio (MkS) は C++/Qt 4 で書かれたクロスプラットフォームの IDE です。22以上のプログラミング言語のシンタックスハイライトをサポート。|http://monkeystudio.org/|{{AUR|monkeystudio}}{{Broken package link|{{aur-mirror|monkeystudio}}}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:MonoDevelop|MonoDevelop]]|Mono や .NET フレームワークをターゲットにしているクロスプラットフォームの IDE。|http://monodevelop.com/|{{Pkg|monodevelop}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:MPLAB|MPLAB]]|Microchip PIC と dsPIC 開発のための IDE。|http://www.microchip.com/mplabx|{{AUR|microchip-mplabx-bin}}}}&lt;br /&gt;
* {{App|[[Netbeans]]|Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure などの言語で開発するための統合開発環境 (IDE)。|http://netbeans.org/|{{Pkg|netbeans}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Ninja-IDE|Ninja-IDE]]|再帰的頭字語: &amp;quot;Ninja-IDE Is Not Just Another IDE&amp;quot; (Ninja-IDE はただの IDE ではない) はクロスプラットフォームの統合開発環境 (IDE) です。Linux/X11, macOS, Windows OS で動作。Python の開発などに使えます。|http://ninja-ide.org/|{{AUR|ninja-ide}}}}&lt;br /&gt;
* {{App|[[PHP#PhpStorm|Phpstorm]]|JetBrains PhpStorm は PHP 向けの商用のクロスプラットフォーム IDE です。JetBrains の IntelliJ IDEA プラットフォームの上で動作し、PHP や JavaScript コードをオンザフライでコード解析したり、エラー補正や自動リファクタリングが行えるエディタを提供します。|https://www.jetbrains.com/phpstorm/|{{Aur|phpstorm}} {{Aur|phpstorm-eap}}}}&lt;br /&gt;
* {{App|[[Wikipedia:PyCharm|PyCharm]]|Python でのプログラミングに使われる IDE。コード解析、デバッグ、ユニットテスト、バージョンコントロール、Django によるウェブ開発をサポート。|https://www.jetbrains.com/pycharm/|{{AUR|pycharm-community}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Qt Creator|Qt Creator]]|Qt での開発に焦点をおいた軽量なクロスプラットフォームの C++ 統合開発環境。|https://www.qt.io/ide/|{{Pkg|qtcreator}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Scratch|Scratch]]|インタラクティブなプロジェクトやシンプルなスプライトベースのゲームを作成できる、教育とエンターテイメント用のマルチメディアオーサリングツール。[[Wikipedia:ja:イベント駆動型プログラミング|イベント駆動型プログラミング]]のエントリのように初心者 (子供など) を主に対象としています。&#039;&#039;Scratch&#039;&#039; は GPL2 と [http://wiki.scratch.mit.edu/wiki/Scratch_Source_Code_License Scratch Source Code License] のフリーソフトウェアです。|http://scratch.mit.edu|{{Pkg|scratch}} {{Aur|scratch2}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Spyder (software)|Spyder]]|MATLAB のような機能を提供する科学用 Python 開発環境。|https://github.com/spyder-ide/spyder|{{Pkg|spyder}}}}&lt;br /&gt;
* {{App|Thonny|初心者向けの Python IDE。|https://thonny.org/|{{AUR|thonny}}}}&lt;br /&gt;
&lt;br /&gt;
=== バージョン管理システム ===&lt;br /&gt;
&lt;br /&gt;
[[Wikipedia:Comparison of revision control software]] も参照してください。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[Bazaar]]|Distributed version control system that helps you track project history over time and to collaborate easily with others.|https://bazaar.canonical.com/|{{AUR|bzr}}}}&lt;br /&gt;
* {{App|[[CVS]]|Concurrent Versions System, a client-server revision control system.|http://cvs.nongnu.org/|{{Pkg|cvs}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Darcs|Darcs]]|Distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.|http://darcs.net/|{{Pkg|darcs}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Fossil (software)|Fossil]]|Distributed VCS with bug tracking, wiki, forum, and technotes.|https://www.fossil-scm.org/|{{Pkg|fossil}}}}&lt;br /&gt;
* {{App|[[Git]]|Distributed revision control and source code management system with an emphasis on speed.|https://git-scm.com/|{{Pkg|git}}}}&lt;br /&gt;
* {{App|[[Mercurial]]|Distributed version control system written in Python and similar in many ways to Git.|https://www.mercurial-scm.org/|{{Pkg|mercurial}}}}&lt;br /&gt;
* {{App|[[Subversion]]|Full-featured centralized version control system originally designed to be a better CVS.|https://subversion.apache.org/|{{Pkg|subversion}}}}&lt;br /&gt;
&lt;br /&gt;
=== ビルド自動化 ===&lt;br /&gt;
&lt;br /&gt;
{{Wikipedia|List of build automation software}}&lt;br /&gt;
&lt;br /&gt;
* {{App|Apache Ant|Java ライブラリとコマンドラインツール。相互に依存するターゲットや拡張ポイントにあわせてビルドファイルに書かれている手順を実行します。|http://ant.apache.org/|{{Pkg|apache-ant}}{{Broken package link|置換パッケージ: {{Pkg|ant}}}}}}&lt;br /&gt;
* {{App|Apache Maven|ソフトウェアプロジェクトの管理・解析ツール。|http://maven.apache.org/|{{Pkg|maven}}}}&lt;br /&gt;
* {{App|[[Wikipedia:CMake|CMake]]|ソフトウェアをビルド、テスト、パッケージ化するためのツール群。|https://cmake.org/|{{Pkg|cmake}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Make (software)|GNU make]]|プログラムのグループを管理するための、GNU make ユーティリティ。|http://www.gnu.org/software/make/|{{Pkg|make}} ({{Grp|base-devel}})の一部}}&lt;br /&gt;
* {{App|Gradle|JVM の強力なビルドシステム。|https://gradle.org/|{{Pkg|gradle}}}}&lt;br /&gt;
* {{App|Phing|あらゆる作業を自動化する PHP プログラム。|https://www.phing.info/|{{AUR|phing}}}}&lt;br /&gt;
&lt;br /&gt;
=== ファイル ===&lt;br /&gt;
&lt;br /&gt;
==== ファイルマネージャ ====&lt;br /&gt;
{{Wikipedia|Comparison of file managers}}&lt;br /&gt;
&lt;br /&gt;
===== コンソール =====&lt;br /&gt;
* {{App|Clex|フルスクリーンのユーザーインターフェイスを持つファイルマネージャ。|http://www.clex.sk/|{{Aur|clex}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Dired|Dired]]|[[Emacs]] と統合されたディレクトリエディタ。|https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html|{{pkg|emacs}}}}&lt;br /&gt;
* {{app|dired|1980年からある、太古のディレクトリエディタ。|http://fossies.org/linux/misc/old/|{{aur|dired}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|Last File Manager|curses インターフェイスを備えた Python 3 で書かれた強力なファイルマネージャ。|https://inigo.katxi.org/devel/lfm/|{{AUR|lfm}}}}&lt;br /&gt;
* {{App|[[Midnight Commander]]|コンソールベース、デュアルパネルのファイルマネージャー。|http://www.midnight-commander.org|{{Pkg|mc}}}}&lt;br /&gt;
* {{App|nffm|&amp;quot;Nothing Fancy File Manager&amp;quot;、C で書かれたマウスを使わない ncurses ファイルマネージャ。|https://github.com/mariostg/nffm|{{AUR|nffm-git}}}}&lt;br /&gt;
* {{App|Pilot|[[Alpine]] メールクライアントについてくるファイルマネージャー。|http://patches.freeiz.com/alpine/|{{AUR|alpine}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
* {{App|[[Ranger]]|vi バインディング、カスタマイズ性、多機能をもったコンソールベースのファイルマネージャー。|http://nongnu.org/ranger|{{Pkg|ranger}}}}&lt;br /&gt;
* {{App|[[Vifm]]|ncurses ベースの二曲ファイルマネージャー、vi ライクなキーバインド。|http://vifm.info|{{Pkg|vifm}}}}&lt;br /&gt;
&lt;br /&gt;
===== グラフィカル =====&lt;br /&gt;
* {{App|Andromeda|Qt ベースのクロスプラットフォームファイルマネージャー。|https://github.com/ABBAPOH/Andromeda/|{{AUR|andromeda}}{{Broken package link|{{aur-mirror|andromeda}}}}}}&lt;br /&gt;
* {{App|Caja|MATE デスクトップのファイルマネージャ。|https://github.com/mate-desktop/caja|{{Pkg|caja}}}}&lt;br /&gt;
* {{App|Deepin File Manager|[[Deepin]] 用に開発されたファイルマネージャ。|https://github.com/linuxdeepin/dde-file-manager|{{Pkg|deepin-file-manager}}}}&lt;br /&gt;
* {{App|Dino|Qt によって作成された使いやすくパワフルなファイルマネージャー。|http://dfm.sourceforge.net/|{{AUR|dino-dfm}}{{Broken package link|{{aur-mirror|dino-dfm}}}}}}&lt;br /&gt;
* {{App|[[Dolphin]]|KDE デスクトップのファイルマネージャー。|http://dolphin.kde.org/|{{Pkg|dolphin}}}}&lt;br /&gt;
* {{App|Double Commander|2つのパネルが並ぶファイルマネージャ。Total Commander にインスパイアされており新しいアイデアが実装されています。|http://doublecmd.sourceforge.net//|{{Pkg|doublecmd-gtk2}} {{Pkg|doublecmd-qt}}{{Broken package link|置換パッケージ: {{Pkg|doublecmd-qt5}}}}}}&lt;br /&gt;
* {{App|[[Wikipedia:emelFM2|emelFM2]]|人気の２パネルデザインを実装しているファイルマネージャー。|http://emelfm2.net/|{{Pkg|emelfm2}}}}&lt;br /&gt;
* {{App|Gentoo|GTK の軽量ファイルマネージャ。|http://www.obsession.se/gentoo/|{{AUR|gentoo}}}}&lt;br /&gt;
* {{App|[[Wikipedia:GNOME_Commander|GNOME Commander]]|GNOME デスクトップのデュアルパネルファイルマネージャ。|http://gcmd.github.io/|{{AUR|gnome-commander}}}}&lt;br /&gt;
* {{App|[[GNOME Files]]|拡張性のある、カスタムスクリプトをサポートしているヘビー級のファイルマネージャー。GNOME のデフォルト。|https://wiki.gnome.org/Apps/Nautilus|{{Pkg|nautilus}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Konqueror|Konqueror]]|KDE デスクトップ用ファイルマネージャー。|http://www.konqueror.org/|{{Pkg|konqueror}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Krusader|Krusader]]|KDE デスクトップ用の先進的なツインパネル (Midnight Commander スタイル) ファイルマネージャー。|http://www.krusader.org/|{{Pkg|krusader}}}}&lt;br /&gt;
* {{App|muCommander|軽量でクロスプラットフォームのファイルマネージャ。デュアルパネルのインターフェイスを持ち、Java で書かれています。|http://www.mucommander.com/|{{AUR|mucommander}}}}&lt;br /&gt;
* {{App|[[Nemo]]|Nemo は Cinnamon デスクトップのファイルマネージャです。GNOME Files の代わりとして使えます。|http://cinnamon.linuxmint.com/|{{Pkg|nemo}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Fox_toolkit|PathFinder]]|FOX ツールキットによるファイルブラウザ。|http://fox-toolkit.org/|{{Pkg|fox}}}}&lt;br /&gt;
* {{App|[[PCManFM]]|タブブラウズや壁紙の管理などの機能をもっている軽量ファイルマネージャー。|http://wiki.lxde.org/en/PCManFM|{{Pkg|pcmanfm}}}}&lt;br /&gt;
* {{App|qtFM|小さく軽量な、純粋に Qt ベースの Linux デスクトップ用ファイルマネージャー。|http://www.qtfm.org/|{{AUR|qtfm}}}}&lt;br /&gt;
* {{App|[[ROX]]|小さく高速なファイルマネージャー。壁紙やパネルの管理なども可能。|http://rox.sourceforge.net|{{Pkg|rox}}}}&lt;br /&gt;
* {{App|[[SpaceFM]]|GTK+ マルチパネルタブ式ファイルマネージャー。|http://ignorantguru.github.com/spacefm/|{{AUR|spacefm}}}}&lt;br /&gt;
* {{App|Sunflower|小さく細かく設定可能でプラグインをサポートしたツインパネルの Linux ファイルマネージャー。|http://sunflower-fm.org/|{{AUR|sunflower}}}}&lt;br /&gt;
* {{App|[[Thunar]]|高速に起動し素早くディレクトリを読み込むようにデーモンとして実行できるファイルマネージャー。|https://docs.xfce.org/xfce/thunar/start|{{Pkg|thunar}}}}&lt;br /&gt;
* {{App|Tux Commander|人気の Total Commander や Midnight Commander ファイルマネージャーに似た２つのパネルをもったウィンドウ型ファイルマネージャー。|http://tuxcmd.sourceforge.net/description.php|{{Pkg|tuxcmd}}}}&lt;br /&gt;
* {{App|Worker|高速、軽量、機能豊富な X Window System 向けファイルマネージャー。|http://www.boomerangsworld.de/worker/|{{AUR|worker}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Xfe|Xfe]]|Windows Explorer ライクの X 用ファイルマネージャー (X File Explorer)。|http://roland65.free.fr/xfe/|{{AUR|xfe}}}}&lt;br /&gt;
&lt;br /&gt;
==== ゴミ箱管理 ====&lt;br /&gt;
&lt;br /&gt;
* {{App|trash-cli|FreeDesktop.org の Trash 規格を実装するコマンドラインインターフェイス。|https://github.com/andreafrancia/trash-cli|{{Pkg|trash-cli}}}}&lt;br /&gt;
&lt;br /&gt;
==== ファイル同期 ====&lt;br /&gt;
&lt;br /&gt;
[[バックアッププログラム#データ同期]]も見てください。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[rsync]]|差分転送・同期プログラム。|http://rsync.samba.org|{{Pkg|rsync}}}}&lt;br /&gt;
* {{App|[[Syncthing]]|オープンな分散型のクラウド同期サービス。|https://syncthing.net|{{Pkg|syncthing}}}}&lt;br /&gt;
* {{App|[[Unison]]|双方向同期。VCS のように変更履歴を追跡。|https://www.cis.upenn.edu/~bcpierce/unison|{{Pkg|unison}}}}&lt;br /&gt;
&lt;br /&gt;
==== デスクトップ検索エンジン ====&lt;br /&gt;
{{Wikipedia/ja|検索エンジンの一覧}}&lt;br /&gt;
&lt;br /&gt;
* {{App|[[KDE#デスクトップ検索とセマンティックデスクトップ|Baloo]]|KDE のファイルインデックス作成・検索ソリューション。|https://community.kde.org/Baloo|{{Pkg|baloo}}}}&lt;br /&gt;
* {{App|Catfish|多目的のファイル検索ツール。|https://launchpad.net/catfish-search|{{Pkg|catfish}}}}&lt;br /&gt;
* {{App|Docfetcher|[[Java]] によるオープンソースのデスクトップ検索アプリケーション。|http://docfetcher.sourceforge.net|{{AUR|docfetcher}}}}&lt;br /&gt;
* {{App|fuzzy-find|ファイル検索でファジー補完。|https://github.com/silentbicycle/ff|{{AUR|ff-git}}}}&lt;br /&gt;
* {{App|[[fzf]]|多目的のコマンドライン曖昧検索ツール。|https://github.com/junegunn/fzf|{{Pkg|fzf}} {{AUR|fzf-git}}}}&lt;br /&gt;
* {{App|Gnome Search Tool|ファイルを検索するデフォルトの Gnome ユーティリティ。|http://gnome.org|{{Pkg|gnome-search-tool}}}}&lt;br /&gt;
* {{App|Gnome Search Tool No Nautilus|[[GNOME Files]] や &#039;&#039;gnome-desktop&#039;&#039; を使わずにファイルを検索する &#039;&#039;gnome-search-tool&#039;&#039;。||{{AUR|gnome-search-tool-no-nautilus}}}}&lt;br /&gt;
* {{App|Recoll|Xapian がバックエンドのフルテキスト検索ツール。|http://www.lesbonscomptes.com/recoll/|{{Pkg|recoll}}}}&lt;br /&gt;
* {{App|Searchmonkey|正規表現が使えるパワフルな GUI 検索ユーティリティ。|http://searchmonkey.sourceforge.net/|{{AUR|searchmonkey}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Tracker (search software)|Tracker]]|オールインワンのインデックス作成・検索ツールとメタデータのデータベース。|http://projects.gnome.org/tracker/index.html|{{Pkg|tracker}}}}&lt;br /&gt;
&lt;br /&gt;
==== 圧縮ツール ====&lt;br /&gt;
{{Wikipedia|Comparison of file archivers}}&lt;br /&gt;
&lt;br /&gt;
===== コンソール =====&lt;br /&gt;
* {{App|atool|様々な種類のアーカイブを管理するスクリプト。|https://www.nongnu.org/atool/|{{Pkg|atool}}}}&lt;br /&gt;
* {{App|arj|1990年代中頃に DOS/Windows で使われていたアーカイバ。そのオープンソースクローンです。|http://arj.sourceforge.net/|{{Pkg|arj}}}}&lt;br /&gt;
* {{App|[[Wikipedia:cpio|cpio]]|cpio と tar ファイル圧縮フォーマットをサポートする GNU ツール。|https://www.gnu.org/software/cpio|{{Pkg|cpio}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Dar (disk archiver)|dar]]|tar の欠点を補うアーカイブ・圧縮ユーティリティ。|[http://dar.linux.free.fr/ DAR - Disk ARchive]|{{AUR|dar}}}}&lt;br /&gt;
* {{App|lha|LH-7 形式の圧縮ファイルを作成するアーカイバ。32ビットオンリー (x86_64 で動かすには [[multilib]] が必要です)。|http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix|{{aur|lha}}}}&lt;br /&gt;
* {{App|lrzip|rzip/lzma, lzo, zpaq アルゴリズムを使用するマルチスレッドコンプレッサ。|http://lrzip.kolivas.org/|{{pkg|lrzip}}}}&lt;br /&gt;
* {{App|lz4|超高速圧縮アルゴリズム lz4 を使用するファイル圧縮ツール。|https://github.com/lz4/lz4|{{pkg|lz4}}}}&lt;br /&gt;
* {{App|lzop|lzo ライブラリを使用する高速なファイル圧縮ツール。|http://www.lzop.org/|{{pkg|lzop}}}}&lt;br /&gt;
* {{App|[[p7zip]]|7-Zip の、Linux を含む POSIX システム移植。コマンドラインツールの名前は &#039;&#039;&#039;7z&#039;&#039;&#039;。|http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}&lt;br /&gt;
* {{App|pixz|xz の欠点を補うマルチスレッドの圧縮ツール。|https://github.com/vasi/pixz|{{pkg|pixz}}}}&lt;br /&gt;
* {{App|[[tar]]|ユビキタスな tar アーカイブ (tarball) を操作する GNU ユーティリティ。|https://www.gnu.org/software/tar|{{Pkg|tar}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ZPAQ|zpaq]]|C++ で書かれた高圧縮率を誇るアーカイバ。Context-Model, LZ77, BWT アルゴリズムを使用。|http://mattmahoney.net/dc/zpaq.html|{{aur|zpaq}}}}&lt;br /&gt;
* {{App|zopfli|Google によって開発されている圧縮率が高いファイル圧縮ツール。zopfli という名前の deflate 互換のアルゴリズムを使用。|https://github.com/google/zopfli|{{aur|zopfli-git}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Zoo_(file_format)|zoo]]|PKZIP が登場するまで主として VMS で使われていたマイナーなアーカイバ。|http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm|{{aur|zoo}}}}&lt;br /&gt;
&lt;br /&gt;
===== グラフィカル =====&lt;br /&gt;
* {{App|[[Wikipedia:ja:Ark (コンピュータ)|Ark]]|KDE デスクトップのアーカイブツール。|http://kde.org/applications/utilities/ark/|{{Pkg|ark}}}}&lt;br /&gt;
* {{App|Engrampa|[[MATE]] のアーカイブマネージャ。|https://github.com/mate-desktop/engrampa|{{Pkg|engrampa}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:File Roller|File Roller]]|GNOME のデフォルト圧縮ファイルマネージャ。|http://fileroller.sourceforge.net/|{{Pkg|file-roller}}}}&lt;br /&gt;
* {{App|FreeArc|[[Haskell]] で書かれた多目的のアーカイバ。GTK2 による GUI が付属。今のところ32ビットプラットフォームでしか使えません (x86_64 環境で使うには [[multilib]] が必要)。|http://encode.ru/threads/43-FreeArc/|{{aur|freearc}}{{Broken package link|{{aur-mirror|freearc}}}}}}&lt;br /&gt;
* {{App|[[Wikipedia:PeaZip|PeaZip]]|オープンソースのファイル・アーカイブマネージャ。|http://www.peazip.org/peazip-linux.html|{{AUR|peazip-gtk2}} {{AUR|peazip-qt}}}}&lt;br /&gt;
* {{App|Squeeze|コマンドラインアーカイブツールのフェザー級フロントエンド。|http://squeeze.xfce.org/|{{AUR|squeeze-git}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Xarchiver|Xarchiver]]|GTK+ で作られた軽量なデスクトップ非依存のアーカイブマネージャ。|https://github.com/ib/xarchiver|{{Pkg|xarchiver}} または {{Pkg|xarchiver-gtk2}}}}&lt;br /&gt;
&lt;br /&gt;
==== マージツール ====&lt;br /&gt;
{{Wikipedia|Comparison of file comparison tools}}&lt;br /&gt;
&lt;br /&gt;
* {{App|colordiff|&#039;diff&#039; の Perl スクリプトラッパー。同じ出力にシンタックスハイライトを追加。|http://www.colordiff.org/|{{Pkg|colordiff}}}}&lt;br /&gt;
* {{App|Diffuse|Python で書かれた小さくてシンプルなテキストマージツール。|http://diffuse.sourceforge.net/|{{Pkg|diffuse}}}}&lt;br /&gt;
* {{App|KDiff3|KDE デスクトップのファイルとディレクトリの比較・マージツール。|http://kdiff3.sourceforge.net/|{{Pkg|kdiff3}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:Kompare|Kompare]]|ソースファイルの差を回覧・マージするための GUI フロントエンドプログラム。様々な diff フォーマットをサポートし、表示する情報レベルをカスタマイズするための多くのオプションがある。|http://www.caffeinated.me.uk/kompare/|{{Pkg|kompare}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Meld (software)|Meld]]|ビジュアル比較・マージツール。ファイル・ディレクトリ・プロジェクトのバージョンの比較が可能。|http://meldmerge.org/|{{Pkg|meld}}}}&lt;br /&gt;
* {{App|xxdiff|ファイルやディレクトリの差異を表示するグラフィカルブラウザ。|http://furius.ca/xxdiff/|{{AUR|xxdiff}}}}&lt;br /&gt;
[[Vim]] と [[Emacs]] にはそれぞれ [[Vim#ファイルのマージ (vimdiff)|vimdiff]] と {{ic|ediff}} というマージ機能があります。&lt;br /&gt;
&lt;br /&gt;
==== バッチ処理リネームプログラム ====&lt;br /&gt;
&lt;br /&gt;
* {{App|[[Wikipedia:GPRename|GPRename]]|ファイルとディレクトリの名前を変える GTK+ バッチ処理プログラム。|http://gprename.sourceforge.net|{{Pkg|gprename}}}}&lt;br /&gt;
* {{App|[[Wikipedia:KRename|KRename]]|KDE デスクトップ向けのとてもパワフルなバッチ処理リネームプログラム。|http://www.krename.net|{{Pkg|krename}}}}&lt;br /&gt;
* {{App|metamorphose2|wxPython ベースのバッチリネーマーで、正規表現や、メタデータによるマルチメディアファイルの名前変更などをサポートしています。|http://file-folder-ren.sourceforge.net|{{AUR|metamorphose2}}}}&lt;br /&gt;
* {{App|pyRenamer|大量のファイルのリネームのためのアプリケーション。|https://github.com/SteveRyherd/pyRenamer|{{AUR|pyrenamer}}}}&lt;br /&gt;
* {{App|rename.pl|perl regex ベースのバッチリネーマー。|http://search.cpan.org/~pederst/rename/bin/rename.PL|{{Pkg|perl-rename}}}}&lt;br /&gt;
&lt;br /&gt;
=== ディスクの消去 ===&lt;br /&gt;
&lt;br /&gt;
* {{App|[[Wikipedia:BleachBit|BleachBit]]|ディスク容量を開けてプライバシーを守ります。キャッシュやクッキー、インターネット履歴、一時ファイル、ログなどを消去。|http://bleachbit.sourceforge.net/|{{Pkg|bleachbit}} {{AUR|bleachbit-git}}}}&lt;br /&gt;
* {{App|gconf-cleaner|gconf データベースに居座っている不必要な gconf キーを消去。|https://code.google.com/archive/p/gconf-cleaner/|{{AUR|gconf-cleaner}}}}&lt;br /&gt;
* {{App|rmlint|重複するファイルを素早く見つけ出すツール (任意で削除も可能)。|https://rmlint.readthedocs.org/en/latest/|{{Pkg|rmlint}}}}&lt;br /&gt;
&lt;br /&gt;
=== ディスク使用量表示プログラム===&lt;br /&gt;
* {{App|[[Wikipedia:ja:Baobab|Disk Usage Analyzer]] (Baobab)|[[GNOME]] デスクトップ用のディスク使用量アナライザ。|http://www.marzocca.net/linux/baobab|{{Pkg|baobab}}}}&lt;br /&gt;
* {{App|duc|ディスク使用量を調査するためのライブラリとツールスイート。|http://duc.zevv.nl/|{{AUR|duc}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Filelight|Filelight]]|コンピュータのディスク使用量を、リング状のマップに視覚化するディスク使用量アナライザ。|http://methylblue.com/filelight/|{{Pkg|filelight}}}}&lt;br /&gt;
* {{App|GdMap|ファイルやディレクトリサイズにあわせて長方形を表示するディスク使用量アナライザ。|http://gdmap.sourceforge.net/|{{Pkg|gdmap}}}}&lt;br /&gt;
* {{App|gt5|差分が表示できる &amp;quot;du-browser&amp;quot;。|http://gt5.sourceforge.net|{{AUR|gt5}}}}&lt;br /&gt;
* {{App|ncdu|シンプルな ncurses ディスク使用量アナライザ。|http://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}}&lt;br /&gt;
&lt;br /&gt;
=== 時刻同期 ===&lt;br /&gt;
&lt;br /&gt;
* {{App|[[Network Time Protocol daemon|NTPd]]|Network Time Protocol のリファレンス実装。|http://support.ntp.org/bin/view/Main/WebHome#The_NTP_Project|{{Pkg|ntp}}}}&lt;br /&gt;
* {{App|[[Chrony]]|軽量な NTP クライアントとサーバー。|http://chrony.tuxfamily.org/|{{Pkg|chrony}}}}&lt;br /&gt;
* {{App|[[OpenNTPD]]|Network Time Protocol のフリーで使いやすい実装。|http://www.openntpd.org/|{{Pkg|openntpd}}}}&lt;br /&gt;
* {{App|[[systemd-timesyncd]]|ネットワークを介してシステム時刻を同期するためのデーモン。|https://www.freedesktop.org/wiki/Software/systemd/|{{Pkg|systemd}}}}&lt;br /&gt;
&lt;br /&gt;
=== システムメンテナンス ===&lt;br /&gt;
&lt;br /&gt;
*{{App|cylon|メニュードリブンな Bash スクリプトでアップデート・メンテナンス・アンチマルウェア・バックアップ・システムチェック。|https://github.com/gavinlyonsrepo/cylon|{{AUR|cylon}}}}&lt;br /&gt;
&lt;br /&gt;
=== システム監視 ===&lt;br /&gt;
&lt;br /&gt;
[[:カテゴリ:状態監視と通知]]も参照してください。&lt;br /&gt;
&lt;br /&gt;
* {{App|candybar|タイル型ウィンドウマネージャ用の WebKit ベースのステータスライン。|https://github.com/Lokaltog/candybar|{{AUR|candybar-git}}{{Broken package link|{{aur-mirror|candybar-git}}}}}}&lt;br /&gt;
* {{App|[[Conky]]|軽量でスクリプト式のシステムモニタ。|https://github.com/brndnmtthws/conky|{{Pkg|conky}}}}&lt;br /&gt;
* {{App|Collectd|[http://oss.oetiker.ch/rrdtool/ rrdtool] ベースのシンプルで拡張性のあるシステム監視デーモン。消費リソースが少なくて、スタンドアロンに、またはサーバー・クライアントアプリケーションとして設定できます。|https://collectd.org/|{{Pkg|collectd}}}}&lt;br /&gt;
* {{App|collectl|軽量なパフォーマンス監視ツール。対話式にレポートを作成したりディスクにログを出力できます。CPU やディスク、[[InfiniBand]]、Lustre、メモリ、ネットワーク、[[NFS]]、プロセスなどの統計情報を読みやすいフォーマットでまとめます。|http://collectl.sourceforge.net/|{{AUR|collectl}}}}&lt;br /&gt;
* {{App|dstat|多目的リソース統計ツール。|http://dag.wieers.com/home-made/dstat/|{{Pkg|dstat}}}}&lt;br /&gt;
* {{App|[[Wikipedia:ja:GKrellM|GKrellM]]|シンプルで柔軟性のある GTK+ 向けシステムモニタパッケージ。多くのプラグインが含まれている。|http://billw2.github.io/gkrellm/gkrellm.html|{{Pkg|gkrellm}}}}&lt;br /&gt;
* {{App|glances|Python 製の CLI curses ベース監視ツール。|http://nicolargo.github.io/glances|{{pkg|glances}}}}&lt;br /&gt;
* {{App|gnome-system-monitor|GNOME のシステムモニタ。|https://help.gnome.org/users/gnome-system-monitor/|{{Pkg|gnome-system-monitor}} {{aur|gnome-system-monitor-gtk2}}}}&lt;br /&gt;
* {{App|[[Wikipedia:Htop|htop]]|シンプルな、ncurses 対話式プロセスビューア。|http://htop.sourceforge.net/|{{Pkg|htop}}}}&lt;br /&gt;
* {{App|[[Wikipedia:KDE System Guard|KSysGuard]]|KDE のタスクマネージャ・パフォーマンスモニタ。別名 KSysguard。|http://htop.sourceforge.net/|{{Pkg|ksysguard}}}}&lt;br /&gt;
* {{App|linux process explorer|Linux 向けのグラフィカルプロセスエクスプローラー。|https://sourceforge.net/projects/procexp/|{{AUR|procexp}}}}&lt;br /&gt;
* {{App|LXTask|[[LXDE]] の軽量なタスクマネージャー。|http://wiki.lxde.org/en/LXTask|{{Pkg|lxtask}}}}&lt;br /&gt;
* {{app|mate-system-monitor|[[MATE]] の GTK2 システムモニター。|https://github.com/mate-desktop/mate-system-monitor|{{pkg|mate-system-monitor}}}}&lt;br /&gt;
* {{App|[[netdata]]|ウェブベースのリアルタイムパフォーマンスモニター。|https://github.com/firehol/netdata/wiki|{{Pkg|netdata}}}}&lt;br /&gt;
* {{app|Task Manager|[[Xfce]] の GTK2 プロセス管理アプリケーション。|https://goodies.xfce.org/projects/applications/xfce4-taskmanager|{{pkg|xfce4-taskmanager}}}}&lt;br /&gt;
* {{App|[[Paramano]]|軽量なバッテリモニター、CPU 周波数スケーラ。[http://trayfreq.sourceforge.net/ trayfreq] のフォーク。|https://github.com/phillid/paramano|{{AUR|paramano}}}}&lt;br /&gt;
* {{app|Sysstat|リソース管理ツールのコレクション: iostat, isag, mpstat, pidstat, sadf, sar。|http://pagesperso-orange.fr/sebastien.godard/|{{Pkg|sysstat}}}}&lt;br /&gt;
* {{App|xosview|SGI IRIX の gr_osview に似ているシステムモニター。|http://www.pogo.org.uk/~mark/xosview/|{{AUR|xosview}}}}&lt;br /&gt;
&lt;br /&gt;
=== システム情報ビューア ===&lt;br /&gt;
&lt;br /&gt;
==== コンソール ====&lt;br /&gt;
&lt;br /&gt;
* {{App|alsi|Arch Linux のシステム情報ツール。スクリプトのソースコードを修正しなくても他のシステム用に設定することが可能です。|http://trizenx.blogspot.ro/2012/08/alsi.html|{{AUR|alsi}}}}&lt;br /&gt;
* {{App|archey2|arch のロゴと基本情報を表示するシンプルな python のスクリプト。Python 2.x バージョン。|https://github.com/djmelik/archey|{{AUR|archey2}}}}&lt;br /&gt;
* {{App|[[archey3]]|Arch Linux のロゴとシステム情報を表示する Python スクリプト。|https://lclarkmichalek.github.io/archey3|{{pkg|archey3}}}}&lt;br /&gt;
* {{App|dmidecode|SMBIOS/DMI の仕様による BIOS に書かれているシステムのハードウェア情報を表示します。|https://www.nongnu.org/dmidecode/|{{Pkg|dmidecode}}}}&lt;br /&gt;
* {{App|hwdetect|{{ic|/sys}} によってエクスポートされたモジュールを表示するシンプルなスクリプト。[[archboot]] に含まれています。|https://projects.archlinux.org/|{{pkg|hwdetect}}}}&lt;br /&gt;
* {{App|hwinfo|openSUSE 由来のパワフルなハードウェア検出ツール。|https://github.com/openSUSE/hwinfo|{{pkg|hwinfo}}}}&lt;br /&gt;
* {{App|inxi|システム情報を取得するためのスクリプト。|https://github.com/smxi/inxi|{{AUR|inxi}}}}&lt;br /&gt;
* {{App|neofetch|w3m で画像を表示することができる高速・カスタマイズ可能なシステム情報スクリプト。|https://github.com/dylanaraps/neofetch|{{Pkg|neofetch}}, {{AUR|neofetch-git}}}}&lt;br /&gt;
* {{App|screenfetch|archey と似ていますがスクリーンショットを取得することができます。bash で書かれています。|https://github.com/KittyKatt/screenFetch|{{Pkg|screenfetch}}}}&lt;br /&gt;
&lt;br /&gt;
==== グラフィカル ====&lt;br /&gt;
&lt;br /&gt;
* {{App|CPU-G|ハードウェアに関する有益な情報を表示するアプリケーション。Windows の CPU-Z に似ています。|http://cpug.sourceforge.net/|{{AUR|cpu-g}}{{Broken package link|{{aur-mirror|cpu-g}}}}}}&lt;br /&gt;
* {{App|hardinfo|ハードウェアとオペレーティングシステムに関する情報を表示する小さなアプリケーション。Windows のデバイスマネージャに似ています。|http://hardinfo.berlios.de/HomePage|{{Pkg|hardinfo}}}}&lt;br /&gt;
* {{App|i-Nex|システムで利用できるハードウェアコンポーネントの情報を収集して Windows の人気ツール CPU-Z に似ているユーザーインターフェースで情報を表示するアプリケーション。|http://i-nex.linux.pl/|{{AUR|i-nex-git}}}}&lt;br /&gt;
* {{App|KDE Info Center|ハードウェアやソフトウェアの情報を表示。|https://www.kde.org/applications/system/kinfocenter/|{{Pkg|kinfocenter}}}}&lt;br /&gt;
* {{App|lshw|マシンのハードウェア設定に関する情報を詳しく表示する小さなツール。CLI と GTK のインターフェイス。|http://ezix.org/project/wiki/HardwareLiSter|{{Pkg|lshw}}}}&lt;br /&gt;
&lt;br /&gt;
==== その他 ====&lt;br /&gt;
&lt;br /&gt;
* {{App|tp-hdd-led|Think-Led で HDD の使用を監視。|http://timherbst.de/en/tp-hdd-led/|{{AUR|tp-hdd-led}}{{Broken package link|{{aur-mirror|tp-hdd-led}}}}}}&lt;br /&gt;
&lt;br /&gt;
=== キーボードレイアウトの切り替え ===&lt;br /&gt;
&lt;br /&gt;
* {{App|fbxkb|NETWM 互換のキーボードインジケータ・スイッチャー。システム領域にある現在のキーボードのフラグを表示し、他のキーボードに切り替えることが可能です。|http://fbxkb.sourceforge.net/|{{AUR|fbxkb}}}}&lt;br /&gt;
* {{App|xxkb|軽量なキーボードレイアウトインジケータ・スイッチャー。|https://sourceforge.net/projects/xxkb/|{{Pkg|xxkb}}}}&lt;br /&gt;
* {{App|qxkb|Qt で書かれているキーボード切り替えアプリケーション。|https://github.com/disels/qxkb|{{AUR|qxkb}}}}&lt;br /&gt;
* {{App|[[Wikipedia:X Neural Switcher|X Neural Switcher]]|テキストアナライザ。入力の言語を検出して必要に応じてキーボードレイアウトを修正します。|http://www.xneur.ru/|{{AUR|xneur}}, {{AUR|gxneur}} (GUI)}}&lt;br /&gt;
&lt;br /&gt;
=== 電源管理 ===&lt;br /&gt;
[[省電力設定#パッケージ]]を参照。&lt;br /&gt;
&lt;br /&gt;
=== クリップボードマネージャ ===&lt;br /&gt;
参照: [[クリップボード#クリップボードマネージャの一覧|クリップボードマネージャの一覧]]。&lt;br /&gt;
&lt;br /&gt;
=== パッケージ管理 ===&lt;br /&gt;
{{Box||参照: [[AUR ヘルパー]]と [[Pacman GUI フロントエンド]]|#E5E5FF|#FCFCFC}}&lt;br /&gt;
* {{App|Lostfiles|孤立したファイルを検知するスクリプト。|https://github.com/graysky2/lostfiles|{{Pkg|lostfiles}}}}&lt;br /&gt;
* {{App|[[Arch Linux の安定化#pacmatic の使用|Pacmatic]] |アップグレードの前に Arch ニュースをチェックして、設定ファイルの変更を警告する pacman ラッパ。|http://kmkeen.com/pacmatic|{{Pkg|pacmatic}}}}&lt;br /&gt;
* {{App|[[pkgfile]]|あるファイルを使っているパッケージが何かを見つけるツール。|https://github.com/falconindy/pkgfile|{{Pkg|pkgfile}}}}&lt;br /&gt;
* {{App|[[pkgtools]]|Arch Linux パッケージ用のスクリプトコレクション。|https://github.com/Daenyth/pkgtools|{{AUR|pkgtools}}}}&lt;br /&gt;
* {{App|srcpac|ソースからのパッケージのリビルドを自動化するシンプルなツール。|https://projects.archlinux.org/srcpac.git|{{Pkg|srcpac}}{{Broken package link|パッケージが存在しません}}}}&lt;br /&gt;
&lt;br /&gt;
===インプットメソッド===&lt;br /&gt;
[[国際化#インプットメソッド]]を見てください。&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=ACPI_%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB&amp;diff=15649</id>
		<title>ACPI モジュール</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=ACPI_%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB&amp;diff=15649"/>
		<updated>2020-02-08T01:32:45Z</updated>

		<summary type="html">&lt;p&gt;Ken: /* 適切なモジュールの選択 */ どのマシンが⇒どのモジュールがマシンで&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:電源管理]]&lt;br /&gt;
[[de:ACPI Module]]&lt;br /&gt;
[[en:ACPI modules]]&lt;br /&gt;
[[es:ACPI modules]]&lt;br /&gt;
[[it:ACPI modules]]&lt;br /&gt;
[[zh-hans:ACPI modules]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|acpid}}&lt;br /&gt;
{{Related|DSDT}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
[http://www.acpi.info/ ACPI のサイト] より:&lt;br /&gt;
:&#039;&#039;ACPI (Advanced Configuration and Power Interface) は Hewlett-Packard, Intel, Microsoft, Phoenix, Toshiba によって共同開発されたオープンな工業規格です。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ACPI モジュールは様々な ACPI パーツに対応するカーネルモジュールです。ACPI モジュールは特殊な ACPI の機能を有効にしたり {{ic|/proc}} や {{ic|/sys}} に情報を追加します。情報は [[acpid]] によって解析されてイベントなどを監視するアプリケーションで使われます。&lt;br /&gt;
&lt;br /&gt;
==利用可能なモジュール==&lt;br /&gt;
以下は ACPI カーネルモジュールの簡単なリストです:&lt;br /&gt;
* ac (電源コネクタの状態)&lt;br /&gt;
* asus-laptop (ASUS/medion のノートパソコンで使用)&lt;br /&gt;
* battery (バッテリーの状態)&lt;br /&gt;
* bay (ドライブベイの状態)&lt;br /&gt;
* button (LID や POWER BUTTON などのボタンイベント)&lt;br /&gt;
* container (コンテナの状態)&lt;br /&gt;
* dock (ドッキングステーションの状態)&lt;br /&gt;
* fan (ファンの状態)&lt;br /&gt;
* i2c_ec (EC SMBUs ドライバー)&lt;br /&gt;
* thinkpad_acpi (Lenovo Thinkpad ノートパソコンで使用)&lt;br /&gt;
* processor (プロセッサの状態)&lt;br /&gt;
* sbs (スマートバッテリーの状態)&lt;br /&gt;
* thermal (温度センサーの状態)&lt;br /&gt;
* toshiba_acpi (Toshiba ノートパソコンで使用)&lt;br /&gt;
* video (ビデオデバイスの状態)&lt;br /&gt;
&lt;br /&gt;
実行中のカーネルのモジュールリストを表示:&lt;br /&gt;
{{hc|$ ls -l /usr/lib/modules/$(uname -r)/kernel/drivers/acpi|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
total 112&lt;br /&gt;
-rw-r--r-- 1 root root  2808 Aug 29 23:58 ac.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  3021 Aug 29 23:58 acpi_ipmi.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  3354 Aug 29 23:58 acpi_memhotplug.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  4628 Aug 29 23:58 acpi_pad.ko.gz&lt;br /&gt;
drwxr-xr-x 2 root root  4096 Aug 29 23:59 apei&lt;br /&gt;
-rw-r--r-- 1 root root  7120 Aug 29 23:58 battery.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  3700 Aug 29 23:58 button.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  2181 Aug 29 23:58 container.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  1525 Aug 29 23:58 custom_method.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  1909 Aug 29 23:58 ec_sys.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  2001 Aug 29 23:58 fan.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  1532 Aug 29 23:58 hed.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  3241 Aug 29 23:58 pci_slot.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root 17742 Aug 29 23:58 processor.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  3073 Aug 29 23:58 sbshc.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  7098 Aug 29 23:58 sbs.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  6311 Aug 29 23:58 thermal.ko.gz&lt;br /&gt;
-rw-r--r-- 1 root root  8891 Aug 29 23:58 video.ko.gz&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
==適切なモジュールの選択== &lt;br /&gt;
どのモジュールがマシンで動作するのか確認してください:&lt;br /&gt;
 # modprobe &amp;lt;yourmodule&amp;gt;&lt;br /&gt;
それから以下のコマンドでモジュールをハードウェアがサポートしているかどうか確認してください:&lt;br /&gt;
 $ dmesg&lt;br /&gt;
{{Tip|grep 検索を使って結果を絞ると良いでしょう。}}&lt;br /&gt;
 $ dmesg | grep acpi&lt;br /&gt;
 [    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)&lt;br /&gt;
 [    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x04] enabled)&lt;br /&gt;
 [    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)&lt;br /&gt;
 [    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x05] enabled)&lt;br /&gt;
 [    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])&lt;br /&gt;
 [    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])&lt;br /&gt;
 [    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])&lt;br /&gt;
 [    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])&lt;br /&gt;
 [    5.066752] ACPI: acpi_idle yielding to intel_idle&lt;br /&gt;
 [    5.438998] acpi device:04: registered as cooling_device4&lt;br /&gt;
&lt;br /&gt;
動作するモジュールを {{ic|/etc/modules-load.d}} の設定ファイルに追加してください。詳しくは[[カーネルモジュール#/etc/modprobe.d/ 内のファイルを使う]]を参照。&lt;br /&gt;
&lt;br /&gt;
== 情報の取得 == &lt;br /&gt;
バッテリー情報を読み出すには、[[公式リポジトリ]]の {{pkg|acpi}} パッケージを[[インストール]]して次を実行:&lt;br /&gt;
 acpi -i&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.24 から {{ic|/proc}} を使うことで無効になっている ACPI 情報を保存できます。同じデータは {{ic|/sys}} から扱うこともでき、netlink 経由でカーネルからの ACPI イベントを取得できます。例えば、バッテリーの場合:&lt;br /&gt;
 /sys/class/power_supply/BAT0/&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
===DSDT の修正===&lt;br /&gt;
適切なモジュールをロードしているのに電源管理に問題が発生する場合、Linux フレンドリーではない [https://ja.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#.E6.A7.8B.E6.88.90.E8.A6.81.E7.B4.A0 DSDT] が原因かもしれません。詳しくは [[DSDT]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
===ノートパソコンの ACPI の修正===&lt;br /&gt;
ときどき &amp;quot;ACPI: EC: input buffer is not empty, aborting transaction&amp;quot; と表示されることがあります。これは ACPI の問題で、BIOS の非互換性が原因です。問題を解決する方法は4つあります:&lt;br /&gt;
&lt;br /&gt;
1. BIOS をアップデートする。[[Linux から BIOS を書き換える]]や製造元からの情報を参照してください。&lt;br /&gt;
&lt;br /&gt;
2. [[カーネルパラメータ]]に {{ic|1=acpi=off}} を追加する。ただしバッテリーの充電や省電力機能などの全ての ACPI 機能が使えなくなります。&lt;br /&gt;
&lt;br /&gt;
3. 以下のコマンドを実行し、[[DPMS]] を無効にすることで問題が解決することもあります [https://ubuntuforums.org/showthread.php?p=8030130#10]。ただし、画面の輝度を変更できなくなります。&lt;br /&gt;
 $ xset dpms force off&lt;br /&gt;
&lt;br /&gt;
4. [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/578506 bugs.launchpad.net] にあるパッチを当てて[[カーネル#コンパイル|カーネルをビルド]]する。&lt;br /&gt;
&lt;br /&gt;
ノートパソコンが起動しない場合、AC アダプタとバッテリーを5秒間ほど取り外してからバッテリーを使って再度起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [[Wikipedia:ja:Advanced Configuration and Power Interface]]&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=ClamAV&amp;diff=15640</id>
		<title>ClamAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=ClamAV&amp;diff=15640"/>
		<updated>2020-01-25T08:05:23Z</updated>

		<summary type="html">&lt;p&gt;Ken: /* オンアクセススキャン */ サービス名をclamav-daemon.serviceに修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:セキュリティ]]&lt;br /&gt;
[[en:ClamAV]]&lt;br /&gt;
[[es:ClamAV]]&lt;br /&gt;
[[fr:CLAMAV]]&lt;br /&gt;
[[it:ClamAV]]&lt;br /&gt;
[[ko:ClamAV]]&lt;br /&gt;
[[pt:ClamAV]]&lt;br /&gt;
[[ru:ClamAV]]&lt;br /&gt;
[[sr:ClamAV]]&lt;br /&gt;
[[zh-hans:ClamAV]]&lt;br /&gt;
[https://www.clamav.net Clam AntiVirus] は UNIX 用のオープンソースの (GPL) アンチウイルスツールキットです。柔軟性がありマルチスレッドで動作するデーモンやコマンドラインスキャナー、データベースを自動的に更新するツールなど、さまざまなユーティリティが含まれています。ClamAV は主として Windows デスクトップのためのファイル・メールサーバーで使われることを想定しているので、基本的には Windows のウイルスやマルウェアを検知します。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
ClamAV は {{Pkg|clamav}} パッケージで[[pacman|インストール]]できます。さらに以下のパッケージをインストールすることもできます:&lt;br /&gt;
* {{Pkg|clamtk}} - ClamAV の GUI フロントエンド&lt;br /&gt;
* アドオン&lt;br /&gt;
** {{AUR|clamtk-gnome}} - [[Nautilus]] ファイルマネージャでファイルやフォルダを右クリックしてコンテキストメニューからスキャンできるようにする ClamTk のプラグイン。&lt;br /&gt;
** {{AUR|thunar-sendto-clamtk}} - [[Thunar]] でファイルやフォルダを右クリックしてスキャンできるようにするシンプルなプラグイン。&lt;br /&gt;
&lt;br /&gt;
== データベースの更新 ==&lt;br /&gt;
&lt;br /&gt;
次のコマンドでウイルス定義を更新します:&lt;br /&gt;
 # freshclam&lt;br /&gt;
&lt;br /&gt;
データベースのファイルは以下に保存されます:&lt;br /&gt;
 /var/lib/clamav/daily.cvd&lt;br /&gt;
 /var/lib/clamav/main.cvd&lt;br /&gt;
 /var/lib/clamav/bytecode.cvd&lt;br /&gt;
&lt;br /&gt;
ウイルス定義をアップデートするサービスは {{ic|clamav-freshclam.service}} です。このサービスを起動・有効化することでウイルス定義が最新になります。&lt;br /&gt;
&lt;br /&gt;
== デーモンの起動 ==&lt;br /&gt;
&lt;br /&gt;
サービスを起動する前にデータベースを更新しないと問題が発生して ClamAV が正しく起動できなくなります。&lt;br /&gt;
&lt;br /&gt;
サービスの名前は {{ic|clamav-daemon.service}} です。サービスを起動する方法などは[[デーモン]]を読んでください。サービスを起動する前に {{ic|freshclam}} を実行してください。&lt;br /&gt;
&lt;br /&gt;
== ソフトウェアのテスト ==&lt;br /&gt;
&lt;br /&gt;
ClamAV とウイルス定義が正しくインストールされているかどうか確かめるには、clamscan で [https://www.eicar.org/86-0-Intended-use.html EICAR テストファイル] (ウイルスコードは含まれていない無害な署名です) をスキャンします。&lt;br /&gt;
&lt;br /&gt;
 $ curl https://www.eicar.org/download/eicar.com.txt | clamscan -&lt;br /&gt;
&lt;br /&gt;
以下が出力されれば検出成功です:&lt;br /&gt;
&lt;br /&gt;
 stdin: Eicar-Test-Signature FOUND&lt;br /&gt;
&lt;br /&gt;
上記の表示が出ない場合、トラブルシューティングを読むか、あるいは [https://bbs.archlinux.jp/ Arch フォーラム] に投稿してください。&lt;br /&gt;
&lt;br /&gt;
== データベースや署名リポジトリの追加 ==&lt;br /&gt;
&lt;br /&gt;
ClamAV は他のリポジトリやセキュリティベンダーから提供されたデータベースや署名を使うことができます。&lt;br /&gt;
&lt;br /&gt;
{{AUR|clamav-unofficial-sigs}} をインストールして {{ic|/etc/clamav-unofficial-sigs/user.conf}} で設定するだけで MalwarePatrol, SecuriteInfo, Yara, Linux Malware Detect などの署名・データベースを追加できます。データベースについては [https://github.com/extremeshok/clamav-unofficial-sigs#description GitHub リポジトリの説明] を読んでください。&lt;br /&gt;
&lt;br /&gt;
=== clamav-unofficial-sigs の設定 ===&lt;br /&gt;
&lt;br /&gt;
まず {{ic|/etc/clamav-unofficial-sigs/user.conf}} を編集して以下の行を変えてください:&lt;br /&gt;
&lt;br /&gt;
 # Uncomment the following line to enable the script&lt;br /&gt;
 user_configuration_complete=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
そして以下のコマンドを実行して非公式の署名サービスを有効化 (マニュアルページやログローテーション、cron ジョブなどが含まれています):&lt;br /&gt;
&lt;br /&gt;
 # clamav-unofficial-sigs.sh --install-all&lt;br /&gt;
&lt;br /&gt;
ClamAV で署名アップデートを行うために {{ic|clamav-daemon}} サービスは動作させ続ける必要があります。&lt;br /&gt;
&lt;br /&gt;
clamav-unofficial-sigs スクリプトで使われているデータベースと {{ic|/etc/clamav-unofficial-sigs}} の設定ファイルで設定されているデータベースから署名が更新されます。手動でデータベースから署名を更新するには、以下のコマンドを実行:&lt;br /&gt;
&lt;br /&gt;
 # clamav-unofficial-sigs.sh&lt;br /&gt;
&lt;br /&gt;
cron ジョブの実行を止めるには {{ic|/etc/cron.d/clamav-unofficial-sigs}} ファイルを削除してください。&lt;br /&gt;
&lt;br /&gt;
==== MalwarePatrol データベース ====&lt;br /&gt;
&lt;br /&gt;
MalwarePatrol データベースを使用したい場合 https://www.malwarepatrol.net/ でアカウントを登録してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/clamav-unofficial-sigs/user.conf}} の以下の行を変えることで有効にできます:&lt;br /&gt;
&lt;br /&gt;
 malwarepatrol_receipt_code=&amp;quot;YOUR-RECEIPT-NUMBER&amp;quot; # enter your receipt number here&lt;br /&gt;
 malwarepatrol_product_code=&amp;quot;8&amp;quot; # Use 8 if you have a Free account or 15 if you are a Premium customer.&lt;br /&gt;
 malwarepatrol_list=&amp;quot;clamav_basic&amp;quot; # clamav_basic or clamav_ext&lt;br /&gt;
 malwarepatrol_free=&amp;quot;yes&amp;quot; # Set to yes if you have a Free account or no if you are a Premium customer.&lt;br /&gt;
&lt;br /&gt;
詳しくは https://www.malwarepatrol.net/clamav-configuration-guide/ を参照。&lt;br /&gt;
&lt;br /&gt;
== ウイルスのスキャン ==&lt;br /&gt;
&lt;br /&gt;
{{ic|clamscan}} を使って特定のファイルやホームディレクトリ、もしくはシステム全体をスキャンすることができます:&lt;br /&gt;
&lt;br /&gt;
 $ clamscan myfile&lt;br /&gt;
 $ clamscan --recursive --infected /home # or -r -i&lt;br /&gt;
 $ clamscan --recursive --infected --exclude-dir=&#039;^/sys|^/dev&#039; /&lt;br /&gt;
&lt;br /&gt;
感染しているファイルを {{ic|clamscan}} に削除して欲しい場合はコマンドに {{ic|--remove}} オプションを使って下さい。隔離したい場合は {{ic|1=--move=/dir}} を使います。&lt;br /&gt;
&lt;br /&gt;
{{ic|clamscan}} で巨大なファイルをスキャンするときは、コマンドに {{ic|1=--max-filesize=4000M}} や {{ic|1=--max-scansize=4000M}} オプションを追加してください。4000M というサイズは最大値です。必要に応じて低い値に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|-l &#039;&#039;path/to/file&#039;&#039;}} オプションを使うと {{ic|clamscan}} のログがテキストファイルに出力されます。&lt;br /&gt;
&lt;br /&gt;
== milter を使う ==&lt;br /&gt;
&lt;br /&gt;
Milter を使ってメールにウイルスが含まれていないか sendmail サーバーでスキャンすることができます。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/clamav/clamav-milter.conf.sample}} を {{ic|/etc/clamav/clamav-milter.conf}} にコピーして必要に応じて編集してください。例:&lt;br /&gt;
 &lt;br /&gt;
{{hc|/etc/clamav/clamav-milter.conf|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
MilterSocket /run/clamav/clamav-milter.sock&lt;br /&gt;
MilterSocketMode 660&lt;br /&gt;
FixStaleSocket yes&lt;br /&gt;
User clamav&lt;br /&gt;
PidFile /run/clamav/clamav-milter.pid&lt;br /&gt;
TemporaryDirectory /tmp&lt;br /&gt;
ClamdSocket unix:/var/lib/clamav/clamd.sock&lt;br /&gt;
LogSyslog yes&lt;br /&gt;
LogInfected Basic&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/systemd/system/clamav-milter.service}} を作成:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/clamav-milter.service|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=&#039;ClamAV Milter&#039;&lt;br /&gt;
After=clamd-daemon.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
ExecStart=/usr/bin/clamav-milter --config-file /etc/clamav/clamav-milter.conf&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
サービス {{ic|clamav-milter.service}} を[[有効化]]して[[起動]]してください。&lt;br /&gt;
&lt;br /&gt;
== オンアクセススキャン ==&lt;br /&gt;
オンアクセススキャンはファイルを読み書き実行した際にスキャンを実行する機能です。&lt;br /&gt;
&lt;br /&gt;
オンアクセススキャンを使うには &#039;&#039;fanotify&#039;&#039; を有効にしてコンパイルしたカーネルが必要です (カーネル 3.8 以上)。オンアクセススキャンを有効にする前に &#039;&#039;fanotify&#039;&#039; が有効になっているか確認してください:&lt;br /&gt;
 $ zgrep FANOTIFY /proc/config.gz&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/clamav/clamd.conf}} を編集することでオンアクセススキャンを有効にできます:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/clamav/clamd.conf|&lt;br /&gt;
# Enable son-access scan, required clamd service running&lt;br /&gt;
ScanOnAccess true&lt;br /&gt;
&lt;br /&gt;
# Set the mount point where to recursively perform the scan,&lt;br /&gt;
# this could be every path or multiple path (one line for path)&lt;br /&gt;
OnAccessMountPath /usr&lt;br /&gt;
OnAccessMountPath /home/&lt;br /&gt;
OnAccessExcludePath /var/log/&lt;br /&gt;
&lt;br /&gt;
# flag fanotify to block any events on monitored files to perform the scan&lt;br /&gt;
OnAccessPrevention false&lt;br /&gt;
&lt;br /&gt;
# perform scans on newly created, moved, or renamed files&lt;br /&gt;
OnAccessExtraScanning true&lt;br /&gt;
&lt;br /&gt;
# check the UID from the event of fanotify&lt;br /&gt;
OnAccessExcludeUID 0&lt;br /&gt;
&lt;br /&gt;
# action to perform when clamav detects a malicious file&lt;br /&gt;
# it is possibile to specify ad inline command too&lt;br /&gt;
VirusEvent /etc/clamav/detected.zsh&lt;br /&gt;
&lt;br /&gt;
# WARNING: clamd should run as root&lt;br /&gt;
User root&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
以下のファイルを作成してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/clamav/detected.sh|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
PATH=/usr/bin&lt;br /&gt;
&lt;br /&gt;
alert=&amp;quot;Signature detected: $CLAM_VIRUSEVENT_VIRUSNAME in $CLAM_VIRUSEVENT_FILENAME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Send the alert to systemd logger if exist, othewise to /var/log&lt;br /&gt;
if [[ -z $(command -v systemd-cat) ]]; then&lt;br /&gt;
	echo &amp;quot;$(date) - $alert&amp;quot; &amp;gt;&amp;gt; /var/log/clamav/infected.log&lt;br /&gt;
else&lt;br /&gt;
	# as &amp;quot;emerg&amp;quot;, this could cause your DE to show a visual alert. Happen in Plasma. but the next visual alert is much nicer&lt;br /&gt;
	echo &amp;quot;$alert&amp;quot; | /usr/bin/systemd-cat -t clamav -p emerg&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#send an alrt to all graphical user&lt;br /&gt;
XUSERS=($(who|awk &#039;{print $1$NF}&#039;|sort -u))&lt;br /&gt;
&lt;br /&gt;
for XUSER in $XUSERS; do&lt;br /&gt;
    NAME=(${XUSER/(/ })&lt;br /&gt;
    DISPLAY=${NAME[1]/)/}&lt;br /&gt;
    DBUS_ADDRESS=unix:path=/run/user/$(id -u ${NAME[0]})/bus&lt;br /&gt;
    echo &amp;quot;run $NAME - $DISPLAY - $DBUS_ADDRESS -&amp;quot; &amp;gt;&amp;gt; /tmp/testlog &lt;br /&gt;
    /usr/bin/sudo -u ${NAME[0]} DISPLAY=${DISPLAY} \&lt;br /&gt;
                       DBUS_SESSION_BUS_ADDRESS=${DBUS_ADDRESS} \&lt;br /&gt;
                       PATH=${PATH} \&lt;br /&gt;
                       /usr/bin/notify-send -i dialog-warning &amp;quot;clamAV&amp;quot; &amp;quot;$alert&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[AppArmor]] を使用している場合、clamd を root で実行できるように設定してください:&lt;br /&gt;
&lt;br /&gt;
 # aa-complain clamd&lt;br /&gt;
&lt;br /&gt;
設定後 {{ic|clamv-daemon.service}} を[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
詳しくは http://blog.clamav.net/2016/03/configuring-on-access-scanning-in-clamav.html を参照。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== Error: Clamd was NOT notified ===&lt;br /&gt;
&lt;br /&gt;
freshclam を実行した後に以下のメッセージが表示される場合:&lt;br /&gt;
{{bc|&lt;br /&gt;
WARNING: Clamd was NOT notified: Cannot connect to clamd through &lt;br /&gt;
/var/lib/clamav/clamd.sock connect(): No such file or directory&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ClamAV の sock ファイルを追加してください:&lt;br /&gt;
{{bc|&lt;br /&gt;
# touch /var/lib/clamav/clamd.sock&lt;br /&gt;
# chown clamav:clamav /var/lib/clamav/clamd.sock&lt;br /&gt;
}}&lt;br /&gt;
それから、{{Ic|/etc/clamav/clamd.conf}} を編集して次の行をアンコメントしてください:&lt;br /&gt;
 LocalSocket /var/lib/clamav/clamd.sock&lt;br /&gt;
ファイルを保存して[[デーモン|デーモンを再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== Error: No supported database files found ===&lt;br /&gt;
&lt;br /&gt;
デーモンを起動した時に次のエラーが表示される場合:&lt;br /&gt;
{{bc|&lt;br /&gt;
LibClamAV Error: cli_loaddb(): No supported database files found&lt;br /&gt;
in /var/lib/clamav ERROR: Not supported data format&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
この問題は {{ic|/etc/freshclam.conf}} の {{ic|DatabaseDirectory}} の設定と {{ic|/etc/clamd.conf}} の {{ic|DatabaseDirectory}} の設定が一致していないことが原因です。{{ic|/etc/freshclam.conf}} が {{ic|/var/lib/clamav}} を指定しているのに、{{ic|/etc/clamd.conf}} (デフォルトディレクトリ) は {{ic|/usr/share/clamav}} など別のディレクトリを指定してしまっています。{{ic|/etc/clamd.conf}} を編集して DatabaseDirectory が {{ic|/etc/freshclam.conf}} と同じになるようにしてください。設定後 clamav は問題なく起動するはずです。&lt;br /&gt;
&lt;br /&gt;
=== Error: Can&#039;t create temporary directory ===&lt;br /&gt;
&lt;br /&gt;
次のエラーが UID と GID の番号を含む &#039;HINT&#039; と一緒に表示される場合:&lt;br /&gt;
 # can&#039;t create temporary directory&lt;br /&gt;
&lt;br /&gt;
パーミッションを直して下さい:&lt;br /&gt;
 # chown UID:GID /var/lib/clamav &amp;amp; chmod 755 /var/lib/clamav&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [[Wikipedia:ja:Clam AntiVirus]]&lt;br /&gt;
* [[ClamSMTP]]&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Msmtp&amp;diff=15226</id>
		<title>Msmtp</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Msmtp&amp;diff=15226"/>
		<updated>2019-11-27T02:49:50Z</updated>

		<summary type="html">&lt;p&gt;Ken: /* Cronie のデフォルトメールクライアント */ aliasesとcrontabとの設定を二者択一にするために「または：」を挿入。cronのページと同一表現とした。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
[[Category:メールクライアント]]&lt;br /&gt;
[[en:Msmtp]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|mutt}}&lt;br /&gt;
{{Related|OfflineIMAP}}&lt;br /&gt;
{{Related|SSMTP}}&lt;br /&gt;
{{Related|S-nail}}&lt;br /&gt;
{{Related|OpenSMTPD}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
[http://msmtp.sourceforge.net/ msmtp] はとてもシンプルで使いやすい SMTP クライアントです。[[sendmail]] と完全な互換性があります。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|msmtp}} パッケージで[[インストール]]できます。さらに {{Pkg|msmtp-mta}} をインストールすることで msmtp に sendmail エイリアスが作成されます。&lt;br /&gt;
&lt;br /&gt;
==基本設定==&lt;br /&gt;
&lt;br /&gt;
以下は msmtp の設定例です (パッケージに含まれている、{{ic|/usr/share/doc/msmtp/msmtprc-user.example}} にある通常ユーザーのサンプルが基になっています。システム設定ファイルは {{ic|/etc/msmtprc}} にあり、サンプルは {{ic|/usr/share/doc/msmtp/msmtprc-system.example}} にあります):&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.msmtprc|&lt;br /&gt;
# Set default values for all following accounts.&lt;br /&gt;
defaults&lt;br /&gt;
auth           on&lt;br /&gt;
tls            on&lt;br /&gt;
tls_trust_file /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
logfile        ~/.msmtp.log&lt;br /&gt;
&lt;br /&gt;
# Gmail&lt;br /&gt;
account        gmail&lt;br /&gt;
host           smtp.gmail.com&lt;br /&gt;
port           587&lt;br /&gt;
from           &#039;&#039;username&#039;&#039;@gmail.com&lt;br /&gt;
user           &#039;&#039;username&#039;&#039;&lt;br /&gt;
password       &#039;&#039;plain-text-password&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# A freemail service&lt;br /&gt;
account        freemail&lt;br /&gt;
host           smtp.freemail.example&lt;br /&gt;
from           joe_smith@freemail.example&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
# Set a default account&lt;br /&gt;
account default : gmail&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|SSL/TLS を使っていて &amp;quot;Server sent empty reply&amp;quot; エラーメッセージが表示される場合、[[#Server sent empty reply]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
ユーザーの設定ファイルは所有者が読み書きできるように明示的に設定しないと msmtp がエラーを吐きます:&lt;br /&gt;
&lt;br /&gt;
 $ chmod 600 ~/.msmtprc&lt;br /&gt;
&lt;br /&gt;
設定ファイルに平文でパスワードを保存したくない場合、&#039;&#039;passwordeval&#039;&#039; を使って外部プログラムを起動するか、あるいは下の[[#パスワード管理|パスワード管理]]セクションを見てください。以下は [[GnuPG]] を使ってパスワードを暗号化する例です:&lt;br /&gt;
&lt;br /&gt;
 $ echo -e &amp;quot;password\n&amp;quot; | gpg --encrypt -o .msmtp-gmail.gpg # enter id (email...)&lt;br /&gt;
&lt;br /&gt;
{{Warning|ほとんどのシェルはコマンド履歴を保存します (例: {{ic|.bash_history}} や {{ic|.zhistory}})。GPG でシェルの標準入力を使いたくない場合 {{ic|gpg --encrypt -o .msmtp-gmail.gpg -r &amp;lt;email&amp;gt; -}} コマンドを使ってください。最後のダッシュは打ち間違えではなく標準入力を使うために必要な文字です。コマンドを実行したら、パスワードを入力してから Control-d を押せば GPG によってパスワードが暗号化されます。}}&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.msmtprc|&lt;br /&gt;
passwordeval    &amp;quot;gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/.msmtp-gmail.gpg&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==mail コマンドを使う==&lt;br /&gt;
&lt;br /&gt;
{{ic|mail}} コマンドを使ってメールを送信するには {{Pkg|s-nail}} パッケージをインストールする必要があります。それに加えて {{ic|sendmail}} 互換の MTA が必要です。{{Pkg|msmtp-mta}} をインストールするか {{ic|/etc/mail.rc}} を編集して sendmail クライアントを設定してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/mail.rc|2=set mta=/usr/bin/msmtp}}&lt;br /&gt;
&lt;br /&gt;
システム共通の {{ic|/etc/msmtprc}} ファイルを使用するか、{{ic|.msmtprc}} ファイルをメールを送信したい全てのユーザーのホームディレクトリに配置する必要があります。&lt;br /&gt;
&lt;br /&gt;
msmtp ではエイリアスが使えます。以下の行を msmtprc のデフォルトセクションかローカルの設定ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/msmtprc|2=aliases               /etc/aliases}}&lt;br /&gt;
&lt;br /&gt;
そして {{ic|/etc}} にエイリアスファイルを作成してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/aliases|2=# Example aliases file&lt;br /&gt;
     &lt;br /&gt;
# Send root to Joe and Jane&lt;br /&gt;
root: joe_smith@example.com, jane_chang@example.com&lt;br /&gt;
   &lt;br /&gt;
# Send everything else to admin&lt;br /&gt;
default: admin@domain.example}}&lt;br /&gt;
&lt;br /&gt;
==動作のテスト==&lt;br /&gt;
&lt;br /&gt;
アカウントオプション ({{ic|1=--account=,-a}}) で送信元として使用するアカウントを指定します:&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;hello there username.&amp;quot; | msmtp -a default &#039;&#039;username&#039;&#039;@domain.com&lt;br /&gt;
&lt;br /&gt;
もしくは、ファイルにアドレスを書いて使用するには:&lt;br /&gt;
&lt;br /&gt;
 To: &#039;&#039;username&#039;&#039;@domain.com&lt;br /&gt;
 From: &#039;&#039;username&#039;&#039;@gmail.com&lt;br /&gt;
 Subject: A test&lt;br /&gt;
 &lt;br /&gt;
 Hello there.&lt;br /&gt;
&lt;br /&gt;
 $ cat test.mail | msmtp -a default &amp;lt;username&amp;gt;@domain.com&lt;br /&gt;
&lt;br /&gt;
{{Tip|Gmail を使用する場合、以下のどちらかの設定が必要です:&lt;br /&gt;
* 2段階認証を使用する場合: [https://myaccount.google.com/apppasswords アプリパスワードを作成する]。&lt;br /&gt;
* 使用しない場合: [https://myaccount.google.com/lesssecureapps セキュアでないアプリを許可する] (非推奨)。&lt;br /&gt;
}}&lt;br /&gt;
{{Tip|&#039;&#039;-a default&#039;&#039; の代わりに &#039;&#039;--read-envelope-from&#039;&#039; を使うことで送信するメッセージの &#039;&#039;From:&#039;&#039; に使われるアカウントが自動的に選択されます。}}&lt;br /&gt;
&lt;br /&gt;
==Cronie のデフォルトメールクライアント==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|cronie}} で sendmail ではなく msmtp を使うようにするには、{{Pkg|msmtp-mta}} をインストールするか、{{ic|cronie.service}} systemd ユニットを編集してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/cronie.service.d/msmtp.conf|[Service]&lt;br /&gt;
ExecStart&amp;amp;#61;&lt;br /&gt;
ExecStart&amp;amp;#61;/usr/bin/crond -n -m &#039;/usr/bin/msmtp -t&#039;}}&lt;br /&gt;
&lt;br /&gt;
それから cronie あるいは msmtp にメールアドレスを設定してください:&lt;br /&gt;
&lt;br /&gt;
*{{ic|/etc/msmtprc}} に追加: {{bc|aliases /etc/aliases}} それから {{ic|/etc/aliases}} を作成: {{bc|your_username: email@address.com}}または：&lt;br /&gt;
*crontab の {{ic|MAILTO}} 行に追加: {{bc|MAILTO&amp;amp;#61;email@address.com}}&lt;br /&gt;
&lt;br /&gt;
==パスワード管理==&lt;br /&gt;
&lt;br /&gt;
msmtp のパスワードはプレーンテキスト・暗号化ファイル・キーリングのどれかに保存できます [http://msmtp.sourceforge.net/doc/msmtp.html#Authentication]。&lt;br /&gt;
&lt;br /&gt;
===GNOME Keyring===&lt;br /&gt;
&lt;br /&gt;
[[GNOME Keyring]] にパスワードを保存することができます。Wiki ページに従ってキーリングを設定したら {{Pkg|libsecret}} をインストールしてください。以下のコマンドでパスワードを保存できます:&lt;br /&gt;
&lt;br /&gt;
 $ secret-tool store --label=msmtp host &#039;&#039;smtp.your.domain&#039;&#039; service smtp user &#039;&#039;yourusername&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
msmtp は自動的にパスワードを確認します。&lt;br /&gt;
&lt;br /&gt;
===GnuPG===&lt;br /&gt;
&lt;br /&gt;
{{Ic|password}} ディレクティブは省略できます。省略した場合、アカウントの {{Ic|auth}} を {{Ic|off}} 以外の値に設定することで、インタラクティブシェルから msmtp を起動したときにメールの送信前にパスワードが要求されるようになります。[[Mutt]] などの他のアプリケーションから呼び出されたときは msmtp はパスワードを要求しません。そのようなときは {{ic|--passwordeval}} パラメータを使って [[GnuPG]] などの外部のキーリングツールを使用することができます。&lt;br /&gt;
&lt;br /&gt;
[[GnuPG]] と [[GnuPG#gpg-agent|gpg-agent]] を設定してパスワードを毎回入力しなくてもよいようにしてください。それから、以下のように msmtp 用に暗号化したパスワードファイルを作成してください。{{ic|700}} パーミッションで [[tmpfs]] 上にディレクトリを作成することで、ディスクに暗号化されていないパスワードが書き込まれないようにすることができます。ディレクトリの中にはメールアカウントのパスワードを記述したプレーンテキストファイルを作成してください。そして、秘密鍵を使ってファイルを暗号化してください:&lt;br /&gt;
&lt;br /&gt;
 $ gpg --default-recipient-self -e &#039;&#039;/path/to/plain/password&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
プレーンテキストファイルを削除して、暗号化したファイルを適切なディレクトリに移動してください (例: {{ic|~/.mail/.msmtp-credentials.gpg}})。{{ic|~/.msmtprc}} に以下を追加:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.msmtprc|passwordeval  &amp;quot;gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/.mail/.msmtp-credentials.gpg&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
[[Mutt]] などからメールを送信するときに GUI のパスワードプロンプトを表示するだけなら上記で十分です。gpg によってパスフレーズのプロンプトが表示されない場合、先に [[GPG#gpg-agent|gpg-agent]] を起動してください。muttrc に {{ic| ` command ` }} のようにバッククォートを使って外部コマンドを指定することでエージェントを起動できます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|muttrc|set my_msmtp_pass&amp;amp;#61;`gpg -d mypwfile.gpg`}}&lt;br /&gt;
&lt;br /&gt;
Mutt will execute this when it starts, gpg-agent will cache your password, msmtp will be happy and you can send mail. &lt;br /&gt;
&lt;br /&gt;
{{Note| If you do this, you will have to restart mutt after gpg-agent clears the password to start sending emails again}}&lt;br /&gt;
&lt;br /&gt;
An alternative is to place passwords in {{ic|~/.netrc}}, a file that can act as a common pool for msmtp, [[OfflineIMAP]], and associated tools.&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
===msmtp をオフラインで使う===&lt;br /&gt;
&lt;br /&gt;
msmtp は素晴らしいツールですが、使用するにはオンラインになる必要があります。インターネットに常時接続することができないノートパソコンなどではあまり好ましくありません。この問題を解決するためのスクリプトが複数存在し、まとめて msmtpqueue と呼ばれます。&lt;br /&gt;
&lt;br /&gt;
スクリプトは {{ic|/usr/share/doc/msmtp/msmtpqueue}} にインストールされます。スクリプトはどこか便利な場所にコピーすると良いでしょう ({{ic|/usr/local/bin}} を推奨します)。&lt;br /&gt;
&lt;br /&gt;
そして MUA でメールを送信するときに msmtp のかわりに msmtp-enqueue.sh を使うようにしてください。デフォルトでは、キューに入ったメッセージは {{ic|~/.msmtpqueue}} に保存されます。保存場所を変更したい場合はスクリプトの {{ic|QUEUEDIR&amp;amp;#61;$HOME/.msmtpqueue}} 行を変更してください (もしくは行を削除して、{{ic|.bash_profile}} で QUEUEDIR 変数をエクスポートしてください: {{ic|export QUEUEDIR&amp;amp;#61;&amp;quot;$XDG_DATA_HOME/msmtpqueue&amp;quot;}})。&lt;br /&gt;
&lt;br /&gt;
作成したメールを送信したいときは以下のコマンドを実行:&lt;br /&gt;
 $ /usr/local/bin/msmtp-runqueue.sh&lt;br /&gt;
&lt;br /&gt;
{{ic|/usr/local/bin}} を PATH に追加することでキーストロークを少なくすることができます。スクリプトに付属している README ファイルには有用な情報が載っているため、読むことを推奨します。&lt;br /&gt;
&lt;br /&gt;
===Vim のシンタックスハイライト===&lt;br /&gt;
msmtp のソースディストリビューションには [[Vim]] 用の {{ic|msmtprc}} のシンタックスハイライトスクリプトが含まれています。{{ic|/usr/share/vim/vimfiles/syntax/msmtp.vim}} で利用できます。ファイルタイプは自動的に認識されません。[http://vimdoc.sourceforge.net/htmldoc/options.html#modeline modeline] をファイルの一番上あるいは下に追加するのが簡単です:&lt;br /&gt;
&lt;br /&gt;
 # vim:filetype=msmtp&lt;br /&gt;
&lt;br /&gt;
===msmtp を使って PHP でメールを送信===&lt;br /&gt;
{{ic|php.ini}} の &#039;&#039;sendmail_path&#039;&#039; オプションを以下のように編集してください:&lt;br /&gt;
{{bc|1=&lt;br /&gt;
sendmail_path = &amp;quot;/usr/bin/msmtp -C /path/to/your/config -t&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Note that you &#039;&#039;&#039;can not&#039;&#039;&#039; use a user configuration file (ie: one under ~/) if you plan on using msmtp as a sendmail replacement with php or something similar.&lt;br /&gt;
In that case just create /etc/msmtprc, and remove your user configuration (or not if you plan on using it for something else). Also make sure it&#039;s readable by whatever you&#039;re using it with (php, django, etc...)&lt;br /&gt;
&lt;br /&gt;
From the msmtp manual: &#039;&#039;Accounts defined in the user configuration file override accounts from the system configuration file. The user configuration file must have no more permissions than user read/write&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So it&#039;s impossible to have a conf file under ~/ and have it still be readable by the php user.&lt;br /&gt;
&lt;br /&gt;
To test it place this file in your php enabled server or using php-cli.&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
mail(&amp;quot;your@email.com&amp;quot;, &amp;quot;Test email from PHP&amp;quot;, &amp;quot;msmtp as sendmail for PHP&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Gmail で XOAUTH2 認証を使う===&lt;br /&gt;
msmtp は現在 OAUTH2 認証をサポートしていません。Gmail で XOAUTH2 認証を使うには ([https://developers.google.com/gmail/imap/xoauth2-protocol 公式情報] を参照)、AUR の {{AUR|msmtp-oauth2}} パッケージをインストールしてください。平文認証で {{ic|AUTH PLAIN ...}} の代わりに {{ic|AUTH XOAUTH2 password}} を送信するというハックが含まれており、平文認証が無効になり XOAUTH2 が有効になります。設定例:&lt;br /&gt;
{{bc|&lt;br /&gt;
account gmail&lt;br /&gt;
host smtp.gmail.com&lt;br /&gt;
port 587&lt;br /&gt;
from your@gmail_login_email&lt;br /&gt;
tls on&lt;br /&gt;
tls_starttls on&lt;br /&gt;
tls_certcheck off&lt;br /&gt;
auth plain&lt;br /&gt;
user any_thing_here&lt;br /&gt;
passwordeval &amp;quot;get-gmail-token&amp;quot;&lt;br /&gt;
logfile ~/.msmtp.log&lt;br /&gt;
}}&lt;br /&gt;
The {{ic|get-gmail-token}} script can be found from the source files of the AUR package. See more information on [https://www.bytereef.org/howto/oauth2/getmail.html getmail link] about how this works. And see [https://developers.google.com/gmail/api/quickstart/python Gmail API quickstart] for instruction on registering a Gmail APP and authorizing it to access emails.&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
===TLS の問題===&lt;br /&gt;
以下のエラーメッセージが表示される場合:&lt;br /&gt;
 msmtp: TLS certificate verification failed: the certificate hasn&#039;t got a known issuer&lt;br /&gt;
おそらく tls_trust_file が正しくありません。&lt;br /&gt;
&lt;br /&gt;
Just follow the [http://msmtp.sourceforge.net/doc/msmtp.html#Transport-Layer-Security fine manual]. It explains you how to find out the server certificate issuer of a given smtp server. Then you can explore the {{ic|/usr/share/ca-certificates/}} directory to find out if by any chance, the certificate you need is there. If not, you will have to get the certificate on your own. If you are using your own certificate, you can make msmtp trust it by adding the following to your {{ic|~/.msmtprc}}:&lt;br /&gt;
&lt;br /&gt;
 tls_fingerprint &amp;lt;SHA1 (recommended) or MD5 fingerprint of the certificate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are trying to send mail through GMail and are receiving this error, have a look at [https://www.mail-archive.com/msmtp-users@lists.sourceforge.net/msg00141.html this] thread or just use the second GMail example above.&lt;br /&gt;
&lt;br /&gt;
If you are completely desperate, but are 100% sure you are communicating with the right server, you can always temporarily disable the cert check:&lt;br /&gt;
 $ msmtp --tls-certcheck off&lt;br /&gt;
&lt;br /&gt;
以下のメッセージが表示される場合:&lt;br /&gt;
  msmtp: TLS handshake failed: the operation timed out&lt;br /&gt;
{{Bug|44994}} のバグが原因です。{{ic|1=--with-ssl=openssl}} を使って msmtp を再コンパイルしてください (デフォルトでは GnuTLS が有効になっています)。&lt;br /&gt;
&lt;br /&gt;
===Server sent empty reply===&lt;br /&gt;
&amp;quot;server sent empty reply&amp;quot; エラーが表示される場合、メールサーバーがポート 587 での STARTTLS を許可しておらず、非標準のポート 465 での SSL/TLS を必要としています [https://www.fastmail.com/help/technical/ssltlsstarttls.html]。&lt;br /&gt;
&lt;br /&gt;
msmtp でポート 465 の SSL/TLS を使うには、以下の行を {{ic|~/.msmtprc}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 tls_starttls off&lt;br /&gt;
&lt;br /&gt;
===GSSAPI の問題===&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 GNU SASL: GSSAPI error in client while negotiating security context in gss_init_sec_context() in SASL library.  This is most likely due insufficient credentials or malicious interactions.&lt;br /&gt;
&lt;br /&gt;
.msmtprc ファイルの auth 設定を gssapi から plain に変更してみてください [https://bbs.archlinux.org/viewtopic.php?id=138727]:&lt;br /&gt;
&lt;br /&gt;
 auth plain&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Nginx&amp;diff=13324</id>
		<title>Nginx</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Nginx&amp;diff=13324"/>
		<updated>2018-08-29T12:36:27Z</updated>

		<summary type="html">&lt;p&gt;Ken: 自己署名証明書を作成するディレクトリを /etc/nginx から /etc/nginx/sslに修正 。これによりnginxのserverブロックの記載に合わせた。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
[[Category:ウェブサーバー]]&lt;br /&gt;
[[de:Nginx]]&lt;br /&gt;
[[en:Nginx]]&lt;br /&gt;
[[ru:Nginx]]&lt;br /&gt;
[[zh-hans:Nginx]]&lt;br /&gt;
[[Wikipedia:ja:nginx|nginx]] (&amp;quot;エンジンエックス&amp;quot;と発音します)は2005年から Igor Sysoev（ロシア）によって開発されている、フリーでオープンソースかつハイパフォーマンスな HTTP サーバーかつリバースプロクシで、IMAP/POP3 プロクシサーバーとしても機能します。Netcraft の [http://news.netcraft.com/archives/2014/01/03/january-2014-web-server-survey.html January 2014 Web Server Survey] によると、世界中の全てのドメインのうち 14.4% は Nginx によってホストされています。一方、[[Apache]] は41.64%をホストしています。Nginx は主に、その安定性・多機能・単純な設定・低リソース消費によって知られています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
[[公式リポジトリ]]から {{Pkg|nginx-mainline}} (最新の機能、アップデート、バグ修正が適用された最新版)か {{Pkg|nginx}} (重要な修正のみを適応した安定版) を[[Pacman|インストール]]できます。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
基本的には[https://www.nginx.com/blog/nginx-1-6-1-7-released/ 最新版の利用が推奨されています]が、&lt;br /&gt;
* サードパーティ製のモジュールとの互換性&lt;br /&gt;
* 新規に追加された機能の未知のバグ&lt;br /&gt;
などによる影響が懸念される場合は、安定版を使用することを検討してください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ruby on Rails&#039;&#039; のためにインストールするには、[[Ruby on Rails#Rails パーフェクトセットアップ]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
セキュリティを向上させるために chroot によるインストールをするには、[[#chroot でインストール]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== サービスの開始 ==&lt;br /&gt;
&lt;br /&gt;
Nginx サービスを走らせるには:&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
&lt;br /&gt;
スタートアップ時に Nginx サービスを起動するには:&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
http://127.0.0.1 にデフォルトで表示されるページは:&lt;br /&gt;
 /usr/share/nginx/html/index.html&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
nginx における最初の手順は [http://nginx.org/en/docs/beginners_guide.html 公式のビギナーズガイド] で説明されています。{{ic|/etc/nginx/}} にあるファイルを編集することで Nginx の設定ができます。メインの設定ファイルは {{ic|/etc/nginx/nginx.conf}} です。&lt;br /&gt;
&lt;br /&gt;
より詳しい解説はこちら: 公式の [http://nginx.org/en/docs/ ドキュメント] にある [http://wiki.nginx.org/Configuration Nginx Configuration Examples]。&lt;br /&gt;
&lt;br /&gt;
=== 一般設定 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|worker_processes}} の適当な値を探って下さい。この設定は最終的に nginx が受け入れる接続の数と利用できるプロセスの数を定義します。通常、システムのハードウェアのスレッド数にすると良いでしょう。また、バージョン 1.3.8 と 1.2.5 から {{ic|worker_processes}} には {{ic|auto}} と設定することができ、最適な値を自動的に検出します ([http://nginx.org/en/docs/ngx_core_module.html#worker_processes ソース])。&lt;br /&gt;
&lt;br /&gt;
nginx が受け入れる最大接続数は {{ic|1=max_clients = worker_processes * worker_connections}} で計算できます。&lt;br /&gt;
&lt;br /&gt;
==== サーバーブロック ====&lt;br /&gt;
&lt;br /&gt;
{{ic|server}} ブロックを使うことで複数のドメインを利用することができます。&amp;quot;バーチャルホスト&amp;quot;とも呼ばれますが、これは [[Apache]] の用語です。{{ic|server}} ブロックの利用方法は [http://wiki.nginx.org/ServerBlockExample Apache] とは異なっています。&lt;br /&gt;
&lt;br /&gt;
以下の例では2つのドメインの接続をサーバーが待機します: {{ic|domainname1.dom}} と {{ic|domainname2.dom}}:&lt;br /&gt;
{{hc|/etc/nginx/nginx.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name domainname1.dom;&lt;br /&gt;
        root /usr/share/nginx/domainname1.dom/html;&lt;br /&gt;
        location / {&lt;br /&gt;
           index index.php index.html index.htm;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
        listen 80;&lt;br /&gt;
        server_name domainname2.dom;&lt;br /&gt;
        root /usr/share/nginx/domainname2.dom/html;&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
...&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|nginx.service}} を[[再起動]]して変更を適用します。&lt;br /&gt;
&lt;br /&gt;
クライアントからの接続時にこれらのドメイン名を解決するには、[[BIND]] や [[dnsmasq]] などのDNSサーバーを設定する必要があります。&lt;br /&gt;
&lt;br /&gt;
ローカルマシンでバーチャルホストをテストするには、{{ic|/etc/hosts}} ファイルにバーチャルネームを追加してください:&lt;br /&gt;
 127.0.0.1 domainname1.dom &lt;br /&gt;
 127.0.0.1 domainname2.dom&lt;br /&gt;
&lt;br /&gt;
==== TLS/SSL ====&lt;br /&gt;
SSL を使用するには、{{pkg|openssl}} をインストールする必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* SSL を設定する前に [http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate ngx_http_ssl_module] のドキュメントを読むことを推奨します。&lt;br /&gt;
* [[Let’s Encrypt]] は無料の、自動化されたオープンな証明局です。{{Pkg|letsencrypt-nginx}}{{Broken package link|置換パッケージ: {{Pkg|certbot-nginx}}}} をインストールすることで nginx プラグインを利用してコマンドラインから直接 SSL 証明書を作成して自動で設定することができます。}}&lt;br /&gt;
&lt;br /&gt;
自己署名証明書を作成してください (キーのサイズや効力の日数は変更できます):&lt;br /&gt;
 # mkdir /etc/nginx/ssl&lt;br /&gt;
 # cd /etc/nginx/ssl&lt;br /&gt;
 # openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out cert.key&lt;br /&gt;
 # chmod 600 cert.key&lt;br /&gt;
 # openssl req -new -key cert.key -out cert.csr&lt;br /&gt;
 # openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.crt&lt;br /&gt;
&lt;br /&gt;
{{Note|その他の &#039;&#039;openssl&#039;&#039; オプションに関しては、 OpenSSL の [https://www.openssl.org/docs/apps/openssl.html man page] か [https://www.openssl.org/docs/ extensive documentation] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|If you plan on implementing SSL/TLS, know that some variations and implementations are [https://weakdh.org/#affected still] [[wikipedia:Transport_Layer_Security#Attacks_against_TLS.2FSSL|vulnerable to attack]]. For details on these current vulnerabilities within SSL/TLS and how to apply appropriate changes to nginx, visit http://disablessl3.com/ and https://weakdh.org/sysadmin.html}}&lt;br /&gt;
&lt;br /&gt;
TLS/SSL を用いる場合の {{ic|nginx.conf}} 設定サンプル:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/nginx/nginx.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
http {&lt;br /&gt;
        ssl_ciphers &amp;quot;EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH&amp;quot;;&lt;br /&gt;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
        ssl_prefer_server_ciphers on;&lt;br /&gt;
        ssl_session_cache shared:SSL:10m;&lt;br /&gt;
        add_header Strict-Transport-Security &amp;quot;max-age=63072000; includeSubdomains; preload&amp;quot;;&lt;br /&gt;
        add_header X-Frame-Options DENY;&lt;br /&gt;
        add_header X-Content-Type-Options nosniff;&lt;br /&gt;
        ssl_session_tickets off;&lt;br /&gt;
        ssl_stapling on;&lt;br /&gt;
        ssl_stapling_verify on;&lt;br /&gt;
        resolver 8.8.8.8 8.8.4.4 valid=300s; # Google DNS Servers&lt;br /&gt;
        resolver_timeout 5s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
        #listen 80; # Uncomment to also listen for HTTP requests&lt;br /&gt;
        listen 443 ssl;&lt;br /&gt;
        server_name localhost;&lt;br /&gt;
&lt;br /&gt;
        ssl_certificate ssl/server.crt;&lt;br /&gt;
        ssl_certificate_key ssl/server.key;&lt;br /&gt;
&lt;br /&gt;
        root /usr/share/nginx/html;&lt;br /&gt;
        location / {&lt;br /&gt;
            index  index.html index.htm;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* Mozilla は有用な [https://wiki.mozilla.org/Security/Server_Side_TLS SSL/TLS の記事] を用意しており、[https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx nginx] の設定ガイドラインや、セキュアな設定を助ける [https://mozilla.github.io/server-side-tls/ssl-config-generator/ 自動化ツール] が載っています。&lt;br /&gt;
* [https://cipherli.st Cipherli.st] には大半のモダンなサーバーに対応する強力な SSL の実装例とチュートリアルが載っています。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|nginx.service}} を再起動して変更を適用します。&lt;br /&gt;
&lt;br /&gt;
=== FastCGI ===&lt;br /&gt;
&lt;br /&gt;
FastCGI、または FCGI はウェブサーバーでインタラクティブなプログラムを動作させるためのプロトコルです。FastCGI は Common Gateway Interface (CGI) の変種で、ウェブサーバーと CGI プログラムのオーバーヘッドを減らすよう設計されていて、サーバーはより多くのウェブページのリクエストを一度に捌くことができます。&lt;br /&gt;
&lt;br /&gt;
Nginx には FastCGI が組み込まれており多くの外部ツールが動きます、例えば Perl、[[PHP]]、[[Python]] など。これらを使うためにはまず FastCGI サーバーを動かす必要があります。&lt;br /&gt;
&lt;br /&gt;
==== PHP を動かす ====&lt;br /&gt;
&lt;br /&gt;
PHP のために FastCGI サーバーを動かす方法は複数あります。ここでは推奨方法として php-fpm を使う方法を記載しています。&lt;br /&gt;
&lt;br /&gt;
===== 手順1: PHP の設定 =====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|php}} をインストールしてください。{{ic|/etc/php/php.ini}} の中にある {{Ic|open_basedir}} に PHP ファイルが含まれているベースディレクトリを （{{ic|/srv/http/}} や {{ic|/usr/share/webapps/}} のような感じで）指定しなくてはなりません:&lt;br /&gt;
 open_basedir = /usr/share/webapps/:/srv/http/:/home/:/tmp/:/usr/share/pear/&lt;br /&gt;
&lt;br /&gt;
そうしたら必要なモジュールを設定しましょう。例えば sqlite3 を使うなら {{Pkg|php-sqlite}} をインストールして、{{ic|/etc/php/php.ini}} の次の行をアンコメントして有効にします:&lt;br /&gt;
 extension=sqlite3.so&lt;br /&gt;
&lt;br /&gt;
{{Note|chroot 環境で nginx を動かしている場合 (chroot は {{ic|/srv/nginx-jail}} で、ウェブページは {{ic|/srv/nginx-jail/www}}) です。{{ic|/etc/php/php-fpm.conf}} ファイルを編集して {{ic|chroot /srv/nginx-jail}} と {{ic|1=listen = /srv/nginx-jail/run/php-fpm/php-fpm.sock}} ディレクティブを pool セクション (デフォルトは {{ic|[www]}}) の中に記述する必要があります。ソケットファイルのディレクトリが存在しない場合は作成してください。}}&lt;br /&gt;
&lt;br /&gt;
====== MariaDB ======&lt;br /&gt;
[[MariaDB]] で説明されているようにして MySQL/MariaDB を設定してください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/php/php.ini}} の以下の行の [http://www.php.net/manual/en/mysqlinfo.api.choosing.php 少なくともどれか一つ] をアンコメント:&lt;br /&gt;
 extension=pdo_mysql.so&lt;br /&gt;
 extension=mysqli.so&lt;br /&gt;
{{Warning|PHP 5.5 から、{{ic|mysql.so}} は [http://www.php.net/manual/de/migration55.deprecated.php 廃止] されログファイルにエラーが表示されます。}}&lt;br /&gt;
&lt;br /&gt;
ウェブスクリプトのために最小権限の MySQL ユーザーを追加することができます。また、{{ic|/etc/mysql/my.cnf}} を編集して {{ic|skip-networking}} 行をアンコメントすると MySQL サーバーはローカルホストからしかアクセスできなくなります。変更を適用するには MySQL を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|データベースを利用するために [[phpMyAdmin]], [[Adminer]], {{Pkg|mysql-workbench}} などのツールをインストールしても良いでしょう。}}&lt;br /&gt;
&lt;br /&gt;
===== 手順2: php-fpm =====&lt;br /&gt;
&lt;br /&gt;
* http://php-fpm.org&lt;br /&gt;
&lt;br /&gt;
{{Pkg|php-fpm}} をインストールします:&lt;br /&gt;
 # pacman -S php-fpm&lt;br /&gt;
&lt;br /&gt;
設定ファイルは {{ic|/etc/php/php-fpm.conf}} です。&lt;br /&gt;
&lt;br /&gt;
サービスを動かします:&lt;br /&gt;
 # systemctl start php-fpm&lt;br /&gt;
&lt;br /&gt;
{{Ic|php-fpm}} をスタートアップ時に有効にします:&lt;br /&gt;
 # systemctl enable php-fpm.service&lt;br /&gt;
&lt;br /&gt;
===== 手順3: Nginx の設定 =====&lt;br /&gt;
&lt;br /&gt;
それぞれの {{ic|server}} ブロックの中の {{ic|location}} ブロックに PHP アプリケーションを次のように記述します: &lt;br /&gt;
&lt;br /&gt;
 location ~ \.php$ {&lt;br /&gt;
      fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;&lt;br /&gt;
      fastcgi_index  index.php;&lt;br /&gt;
      include        fastcgi.conf;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
{{Ic|/etc/nginx/php.conf}} を作って設定をそこに書く場合、このファイルを {{Ic|server}} ブロックに入れて下さい。&lt;br /&gt;
 server = {&lt;br /&gt;
     ...&lt;br /&gt;
     include  php.conf;&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
.html や .htm ファイルを PHP として処理したい場合は、以下のようにしてください:&lt;br /&gt;
 location ~ \.(php&#039;&#039;&#039;|html|htm&#039;&#039;&#039;)$ {&lt;br /&gt;
      fastcgi_pass  unix:/run/php-fpm/php-fpm.sock;&lt;br /&gt;
      fastcgi_index  index.php;&lt;br /&gt;
      include        fastcgi.conf;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
拡張子が .php でないファイルを php-fpm で動かすことを {{Ic|/etc/php/php-fpm.conf}} で有効にする必要があります:&lt;br /&gt;
 security.limit_extensions = .php .html .htm&lt;br /&gt;
&lt;br /&gt;
設定を変えた後は php-fpm デーモンを再起動してください。&lt;br /&gt;
 # systemctl restart php-fpm&lt;br /&gt;
&lt;br /&gt;
{{Note|{{Ic|fastcgi_pass}} 引数に&#039;&#039;&#039;注意を払って下さい&#039;&#039;&#039;、FastCGI サーバーの設定ファイルで定義された TCP や Unix ソケットでなくてはなりません。&#039;&#039;&#039;デフォルトの&#039;&#039;&#039; {{Ic|php-fpm}} (Unix) ソケットは&lt;br /&gt;
 fastcgi_pass unix:/run/php-fpm/php-fpm.sock;&lt;br /&gt;
&#039;&#039;&#039;デフォルトの代わりに&#039;&#039;&#039;、通常の TCP ソケットを使うこともできます&lt;br /&gt;
 fastcgi_pass 127.0.0.1:9000;&lt;br /&gt;
ただし Unix ドメインソケットの方が高速です。}}&lt;br /&gt;
&lt;br /&gt;
Nginx のための FastCGI 設定がある {{Ic|fastcgi.conf}} か {{Ic|fastcgi_params}} が含まれていますが、後者は使われなくなりました。これらのファイルは Nginx をインストールしたときに作られます。&lt;br /&gt;
&lt;br /&gt;
最後に、Nginx が動作している場合は再起動してください:&lt;br /&gt;
 # systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
FastCGI をテストしたい場合は、{{ic|/usr/share/nginx/html/index.php}} を次の内容で作成して&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
   phpinfo();&lt;br /&gt;
 ?&amp;gt; &lt;br /&gt;
ブラウザで http://127.0.0.1/index.php を開いて下さい。&lt;br /&gt;
&lt;br /&gt;
以下は実際の設定例です。例の中では {{ic|root}} パスは {{ic|server}} の下に直接指定されており (デフォルト設定のように) {{ic|location}} の中には置いていません。&lt;br /&gt;
&lt;br /&gt;
 server {&lt;br /&gt;
     listen 80;&lt;br /&gt;
     server_name localhost;&lt;br /&gt;
     root /usr/share/nginx/html;&lt;br /&gt;
     location / {&lt;br /&gt;
         index index.html index.htm index.php;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     location ~ \.php$ {&lt;br /&gt;
         #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)&lt;br /&gt;
         fastcgi_pass unix:/run/php-fpm/php-fpm.sock;&lt;br /&gt;
         fastcgi_index index.php;&lt;br /&gt;
         include fastcgi.conf;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==== CGI を動かす ====&lt;br /&gt;
&lt;br /&gt;
この実装は CGI アプリケーションに必要です。&lt;br /&gt;
&lt;br /&gt;
===== 手順1: fcgiwrap =====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|fcgiwrap}} をインストールしてください。&lt;br /&gt;
設定ファイルは {{ic|/usr/lib/systemd/system/fcgiwrap.socket}} です。&lt;br /&gt;
[[systemd]] の &#039;&#039;fcgiwrap.socket&#039;&#039; を有効化・起動します。&lt;br /&gt;
&lt;br /&gt;
この systemd ユニットファイルは現在 [https://bugs.archlinux.org/task/31696 ArchLinux のタスクページ]で議論されています。思い通りに動くか確認するためにユニットファイルを自分で検査すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
====== マルチワーカースレッド ======&lt;br /&gt;
&lt;br /&gt;
複数のワーカースレッドを生成したい場合は、{{AUR|multiwatch}} を使用するのが推奨されています。これはクラッシュした子スレッドの再起動の面倒をみてくれます。multiwatch は systemd が作成したソケットを管理できないため、unix ソケットを作成するには {{ic|spawn-fcgi}} を使う必要がありますが、ユニットファイルから直接実行した場合は fcgiwrap には問題が生じません。&lt;br /&gt;
&lt;br /&gt;
{{ic|/usr/lib/systemd/system/fcgiwrap.service}} から {{ic|/etc/systemd/system/fcgiwrap.service}} にユニットファイルをコピーして (存在する場合は {{ic|fcgiwrap.socket}} ユニットも)、{{ic|ExecStart}} 行を必要に応じて修正してください。以下は {{AUR|multiwatch}} を使用するユニットファイルです。{{ic|fcgiwrap.socket}} が実行中だったり有効になっていないことを確認してください、このユニットと衝突してしまうからです:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/fcgiwrap.service|2=&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Simple CGI Server&lt;br /&gt;
After=nss-user-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStartPre=/bin/rm -f /run/fcgiwrap.socket&lt;br /&gt;
ExecStart=/usr/bin/spawn-fcgi -u http -g http -s /run/fcgiwrap.sock -n -- /usr/bin/multiwatch -f 10 -- /usr/sbin/fcgiwrap&lt;br /&gt;
ExecStartPost=/usr/bin/chmod 660 /run/fcgiwrap.sock&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
Restart=on-failure&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|-f 10}} は生成する子スレッドの数に変更してください。&lt;br /&gt;
&lt;br /&gt;
{{Warning|The ExecStartPost line is required because of strange behaviour I&#039;m seeing when I use the {{ic|-M 660}} option for {{ic|spawn-fcgi}}.  The wrong mode is set.  This may be a bug?}}&lt;br /&gt;
&lt;br /&gt;
===== 手順2: Nginx の設定 =====&lt;br /&gt;
&lt;br /&gt;
CGI ウェブアプリケーションを置くそれぞれの {{Ic|server}} ブロックには以下のような {{Ic|location}} ブロックを記述します:&lt;br /&gt;
&lt;br /&gt;
 location ~ \.cgi$ {&lt;br /&gt;
      root           /path/to/server/cgi-bin;&lt;br /&gt;
      fastcgi_pass   unix:/run/fcgiwrap.sock;&lt;br /&gt;
      include        fastcgi.conf;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
{{Ic|fcgiwrap}} の&#039;&#039;&#039;デフォルト&#039;&#039;&#039; (Unix) ソケットは &#039;&#039;/run/fcgiwrap.sock&#039;&#039; です。&lt;br /&gt;
&lt;br /&gt;
== chroot でインストール ==&lt;br /&gt;
&lt;br /&gt;
[[chroot]] に Nginx をインストールすることでセキュリティレイヤーを追加することができます。セキュリティを最大限に高めるために、Nginx サーバーを動かすのに必要なファイルだけを入れて、全てのファイルは出来る限り最小限の権限にします。例えば、なるべく root が所有するようにして、{{ic|/usr/bin}} などのディレクトリは読み書きできないようにするなど。&lt;br /&gt;
&lt;br /&gt;
Arch はデフォルトでサーバーを実行するための {{ic|http}} ユーザーとグループが設定されています。chroot は {{ic|/srv/http}} で動作させます。&lt;br /&gt;
&lt;br /&gt;
この牢獄を作るための perl スクリプトが [https://gist.github.com/4365696 jail.pl gist] にあります。このスクリプトを使用するか、またはこの記事の指示に従って作成するか選ぶことができます。スクリプトは root で実行してください。変更を適用する前に行をアンコメントする必要があります。&lt;br /&gt;
&lt;br /&gt;
=== 必要なデバイスを作成 ===&lt;br /&gt;
&lt;br /&gt;
Nginx には {{ic|/dev/null}}, {{ic|/dev/random}}, {{ic|/dev/urandom}} が必要です。これらを chroot にインストールするために {{ic|/dev/}} フォルダを作成してデバイスを mknod で追加します。chroot が危険になったときでも、攻撃者が {{ic|/dev/sda1}} などの重要なデバイスにアクセスするには chroot から脱出しなくてはならないようにするために、{{ic|/dev/}} を全てマウントはしません。&lt;br /&gt;
&lt;br /&gt;
{{Tip|mknod の引数については {{ic|man mknod}} や {{ic|&amp;lt;nowiki&amp;gt;ls -l /dev/{null,random,urandom}&amp;lt;/nowiki&amp;gt;}} を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
 # export JAIL=/srv/http&lt;br /&gt;
 # mkdir $JAIL/dev&lt;br /&gt;
 # mknod -m 0666 $JAIL/dev/null c 1 3&lt;br /&gt;
 # mknod -m 0666 $JAIL/dev/random c 1 8&lt;br /&gt;
 # mknod -m 0444 $JAIL/dev/urandom c 1 9&lt;br /&gt;
&lt;br /&gt;
=== 必要なフォルダを作成 ===&lt;br /&gt;
&lt;br /&gt;
Nginx を適切に実行するためにはたくさんのファイルが必要になります。それらをコピーする前に、ファイルを保存するためのフォルダを作成してください。ここでは Nginx のドキュメントルートが {{ic|/srv/http/www}} であると仮定します。&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p $JAIL/etc/nginx/logs&lt;br /&gt;
 # mkdir -p $JAIL/usr/{lib,bin}&lt;br /&gt;
 # mkdir -p $JAIL/usr/share/nginx&lt;br /&gt;
 # mkdir -p $JAIL/var/{log,lib}/nginx&lt;br /&gt;
 # mkdir -p $JAIL/www/cgi-bin&lt;br /&gt;
 # mkdir -p $JAIL/{run,tmp}&lt;br /&gt;
 # cd $JAIL; ln -s usr/lib lib &lt;br /&gt;
&lt;br /&gt;
{{Note|64ビットのカーネルを使っている場合 {{ic|usr/lib}} に {{ic|lib64}} と {{ic|usr/lib64}} のシンボリックリンクを作成する必要があります: {{ic|cd $JAIL; ln -s usr/lib lib64}} と {{ic|cd $JAIL/usr; ln -s lib lib64}}。}}&lt;br /&gt;
&lt;br /&gt;
そして {{ic|$JAIL/tmp}} と {{ic|$JAIL/run}} を tmpfs でマウントします。攻撃者が RAM を全て喰いつくせないようにサイズを制限すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
 # mount -t tmpfs none $JAIL/run -o &#039;noexec,size=1M&#039;&lt;br /&gt;
 # mount -t tmpfs none $JAIL/tmp -o &#039;noexec,size=100M&#039;&lt;br /&gt;
&lt;br /&gt;
再起動してもマウントが維持されるように、以下のエントリを {{ic|/etc/fstab}} に追加します:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/fstab|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 tmpfs   /srv/http/run   tmpfs   rw,noexec,relatime,size=1024k   0       0&lt;br /&gt;
 tmpfs   /srv/http/tmp   tmpfs   rw,noexec,relatime,size=102400k 0       0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== chroot に移住 ===&lt;br /&gt;
&lt;br /&gt;
まず平易なファイルをコピーします。&lt;br /&gt;
&lt;br /&gt;
 # cp -r /usr/share/nginx/* $JAIL/usr/share/nginx&lt;br /&gt;
 # cp -r /usr/share/nginx/html/* $JAIL/www&lt;br /&gt;
 # cp /usr/bin/nginx $JAIL/usr/bin/&lt;br /&gt;
 # cp -r /var/lib/nginx $JAIL/var/lib/nginx&lt;br /&gt;
&lt;br /&gt;
そして必要なライブラリをコピーします。ldd を使ってライブラリを確認して適当な場所にコピーして下さい。ハードリンクよりはコピーが推奨されます。攻撃者が書き込み権限を得たときに本当のシステムファイルが破壊されたり改変される可能性があるためです。&lt;br /&gt;
&lt;br /&gt;
 {{hc|$ ldd /usr/bin/nginx|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
   linux-vdso.so.1 (0x00007fffc41fe000)&lt;br /&gt;
   libpthread.so.0 =&amp;gt; /usr/lib/libpthread.so.0 (0x00007f57ec3e8000)&lt;br /&gt;
   libcrypt.so.1 =&amp;gt; /usr/lib/libcrypt.so.1 (0x00007f57ec1b1000)&lt;br /&gt;
   libstdc++.so.6 =&amp;gt; /usr/lib/libstdc++.so.6 (0x00007f57ebead000)&lt;br /&gt;
   libm.so.6 =&amp;gt; /usr/lib/libm.so.6 (0x00007f57ebbaf000)&lt;br /&gt;
   libpcre.so.1 =&amp;gt; /usr/lib/libpcre.so.1 (0x00007f57eb94c000)&lt;br /&gt;
   libssl.so.1.0.0 =&amp;gt; /usr/lib/libssl.so.1.0.0 (0x00007f57eb6e0000)&lt;br /&gt;
   libcrypto.so.1.0.0 =&amp;gt; /usr/lib/libcrypto.so.1.0.0 (0x00007f57eb2d6000)&lt;br /&gt;
   libdl.so.2 =&amp;gt; /usr/lib/libdl.so.2 (0x00007f57eb0d2000)&lt;br /&gt;
   libz.so.1 =&amp;gt; /usr/lib/libz.so.1 (0x00007f57eaebc000)&lt;br /&gt;
   libGeoIP.so.1 =&amp;gt; /usr/lib/libGeoIP.so.1 (0x00007f57eac8d000)&lt;br /&gt;
   libgcc_s.so.1 =&amp;gt; /usr/lib/libgcc_s.so.1 (0x00007f57eaa77000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /usr/lib/libc.so.6 (0x00007f57ea6ca000)&lt;br /&gt;
   /lib64/ld-linux-x86-64.so.2 (0x00007f57ec604000)&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
 # cp /lib64/ld-linux-x86-64.so.2 $JAIL/lib&lt;br /&gt;
&lt;br /&gt;
{{ic|/usr/lib}} の中にあるファイルについては次のワンライナーが使えます:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;# cp $(ldd /usr/bin/nginx | grep /usr/lib | sed -sre &#039;s/(.+)(\/usr\/lib\/\S+).+/\2/g&#039;) $JAIL/usr/lib&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|linux-vdso.so}} をコピーしないでください – 実際のライブラリではなく {{ic|/usr/lib}} には存在しません。64ビット環境の場合 {{ic|ld-linux-x86-64.so}} も {{ic|/lib64}} にあるように表示されます。}}&lt;br /&gt;
&lt;br /&gt;
必要なライブラリとシステムファイル以外のファイルをコピーします。&lt;br /&gt;
&lt;br /&gt;
{{bc|# cp /usr/lib/libnss_* $JAIL/usr/lib&lt;br /&gt;
# cp -rfvL /etc/{services,localtime,nsswitch.conf,nscd.conf,protocols,hosts,ld.so.cache,ld.so.conf,resolv.conf,host.conf,nginx} $JAIL/etc}}&lt;br /&gt;
 &lt;br /&gt;
Create restricted user/group files for the chroot. This way only the&lt;br /&gt;
users needed for the chroot to function exist as far as the chroot&lt;br /&gt;
knows, and none of the system users/groups are leaked to attackers&lt;br /&gt;
should they gain access to the chroot.&lt;br /&gt;
&lt;br /&gt;
{{hc|$JAIL/etc/group|&lt;br /&gt;
http:x:33:&lt;br /&gt;
nobody:x:99:&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{hc|$JAIL/etc/passwd|&lt;br /&gt;
http:x:33:33:http:/:/bin/false&lt;br /&gt;
nobody:x:99:99:nobody:/:/bin/false&lt;br /&gt;
}}&lt;br /&gt;
  &lt;br /&gt;
{{hc|$JAIL/etc/shadow|&lt;br /&gt;
http:x:14871::::::&lt;br /&gt;
nobody:x:14871::::::&lt;br /&gt;
}}&lt;br /&gt;
  &lt;br /&gt;
{{hc|$JAIL/etc/gshadow|&lt;br /&gt;
http:::&lt;br /&gt;
nobody:::&lt;br /&gt;
}}&lt;br /&gt;
  &lt;br /&gt;
 # touch $JAIL/etc/shells&lt;br /&gt;
 # touch $JAIL/run/nginx.pid&lt;br /&gt;
&lt;br /&gt;
Finally make set very restrictive permissions. As much as possible&lt;br /&gt;
should be owned by root and set unwritable.&lt;br /&gt;
&lt;br /&gt;
 # chown -R root:root $JAIL/&lt;br /&gt;
  &lt;br /&gt;
 # chown -R http:http $JAIL/www&lt;br /&gt;
 # chown -R http:http $JAIL/etc/nginx&lt;br /&gt;
 # chown -R http:http $JAIL/var/{log,lib}/nginx&lt;br /&gt;
 # chown http:http $JAIL/run/nginx.pid&lt;br /&gt;
  &lt;br /&gt;
 # find $JAIL/ -gid 0 -uid 0 -type d -print | xargs sudo chmod -rw&lt;br /&gt;
 # find $JAIL/ -gid 0 -uid 0 -type d -print | xargs sudo chmod +x&lt;br /&gt;
 # find $JAIL/etc -gid 0 -uid 0 -type f -print | xargs sudo chmod -x&lt;br /&gt;
 # find $JAIL/usr/bin -type f -print | xargs sudo chmod ug+rx&lt;br /&gt;
 # find $JAIL/ -group http -user http -print | xargs sudo chmod o-rwx&lt;br /&gt;
 # chmod +rw $JAIL/tmp&lt;br /&gt;
 # chmod +rw $JAIL/run&lt;br /&gt;
&lt;br /&gt;
If your server will bind port 80 (or any port 0-1024), give the&lt;br /&gt;
chrooted executable permission to bind these ports without root.&lt;br /&gt;
&lt;br /&gt;
 # setcap &#039;cap_net_bind_service=+ep&#039; $JAIL/usr/bin/nginx&lt;br /&gt;
&lt;br /&gt;
=== nginx.service を変更して chroot を起動 ===&lt;br /&gt;
&lt;br /&gt;
Before modifying the nginx.service unit file, it may be a good idea to copy it to&lt;br /&gt;
{{ic|/etc/systemd/system/}} since the unit files there take priority over those in {{ic|/usr/lib/systemd/system/}}. &lt;br /&gt;
This means upgrading nginx would not modify your custom .service file. &lt;br /&gt;
 # cp /usr/lib/systemd/system/nginx.service /etc/systemd/system/nginx.service&lt;br /&gt;
&lt;br /&gt;
The systemd unit must be changed to start up Nginx in the chroot, as&lt;br /&gt;
the http user, and store the pid file in the chroot &lt;br /&gt;
{{Note|I&#039;m not sure if the pid file needs to be stored in the chroot jail.}}&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/nginx.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=A high performance web server and a reverse proxy server&lt;br /&gt;
 After=syslog.target network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=forking&lt;br /&gt;
 PIDFile=/srv/http/run/nginx.pid&lt;br /&gt;
 ExecStartPre=/usr/bin/chroot --userspec=http:http /srv/http /usr/bin/nginx -t -q -g &#039;pid /run/nginx.pid; daemon on; master_process on;&#039;&lt;br /&gt;
 ExecStart=/usr/bin/chroot --userspec=http:http /srv/http /usr/bin/nginx -g &#039;pid /run/nginx.pid; daemon on; master_process on;&#039;&lt;br /&gt;
 ExecReload=/usr/bin/chroot --userspec=http:http /srv/http /usr/bin/nginx -g &#039;pid /run/nginx.pid; daemon on; master_process on;&#039; -s reload&lt;br /&gt;
 ExecStop=/usr/bin/chroot --userspec=http:http /srv/http /usr/bin/nginx -g &#039;pid /run/nginx.pid;&#039; -s quit&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Upgrading nginx with pacman will not upgrade the chrooted nginx installation. You have to take care of the updates manually by repeating some of the steps above. Do not forget to also update the libraries it links against. }}&lt;br /&gt;
&lt;br /&gt;
You can now safely get rid of the non-chrooted nginx installation. &lt;br /&gt;
 # pacman -Rsc nginx&lt;br /&gt;
&lt;br /&gt;
If you do not remove the non-chrooted nginx installation, you may want to make sure that the running nginx process is in fact the chrooted one. You can do so by checking where {{ic|/proc/{PID}/root}} symmlinks to. If should link to {{ic|/srv/http}} instead of {{ic|/}}. &lt;br /&gt;
 # ps -C nginx | awk &#039;{print $1}&#039; | sed 1d | while read -r PID; do ls -l /proc/$PID/root; done&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== 設定の確認 ===&lt;br /&gt;
 # nginx -t&lt;br /&gt;
&lt;br /&gt;
結果:&lt;br /&gt;
&lt;br /&gt;
 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok&lt;br /&gt;
 nginx: configuration file /etc/nginx/nginx.conf test is successful&lt;br /&gt;
&lt;br /&gt;
=== ローカル IP へのアクセスが localhost にリダイレクトされる ===&lt;br /&gt;
&lt;br /&gt;
Arch Linux [https://bbs.archlinux.org/viewtopic.php?pid=780561#p780561 フォーラム]からの解決法があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/nginx/nginx.conf}} を開き、&amp;quot;server_name localhost&amp;quot; の前の # を取り除き、以下を付け加えます:&lt;br /&gt;
 server_name_in_redirect off;&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、nginx は設定にある server_name へのリクエストをすべてリダイレクトします。&lt;br /&gt;
&lt;br /&gt;
=== Error: 403 (Permission error) ===&lt;br /&gt;
&lt;br /&gt;
This is most likely a permission error. Are you sure whatever user configured in the Nginx configuration is able to read the correct files?&lt;br /&gt;
&lt;br /&gt;
If the files are located within a home directory, (e.g. {{ic|/home/arch/public/webapp}}) and you are sure the user running Nginx has the right permissions (you can temporarily chmod all the files to 777 in order to determine this), {{ic|/home/arch}} might be &#039;&#039;&#039;chmod 750&#039;&#039;&#039;, simply {{Ic|chmod}} it to &#039;&#039;751&#039;&#039;, and it should work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you have changed your document root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are sure that permissions are as they should be, make sure that your document root directory is not empty. Try creating index.html in there.&lt;br /&gt;
&lt;br /&gt;
=== Error: 404 (Pathinfo error) ===&lt;br /&gt;
&lt;br /&gt;
いくつかのフレームワーク （thinkphp、cakephp など）や CMS では pathinfo が必要です。&lt;br /&gt;
&lt;br /&gt;
1. {{ic|/etc/php/php.ini}} ファイルを開き、次のように付け加えます&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
2. {{ic|/etc/nginx/nginx.conf}} を開き、次の部分をコメントアウトします&lt;br /&gt;
&lt;br /&gt;
 location ~ \.php$ {&lt;br /&gt;
 ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
を&lt;br /&gt;
&lt;br /&gt;
 #location ~ \.php$ {&lt;br /&gt;
 #...&lt;br /&gt;
 #}&lt;br /&gt;
&lt;br /&gt;
そして以下を加えます&lt;br /&gt;
 location ~ ^(.+\.php)(.*)$ {&lt;br /&gt;
   root   /srv/http/nginx;&lt;br /&gt;
   fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock; 	&lt;br /&gt;
   #fastcgi_pass   127.0.0.1:9000; #Un-comment this and comment &amp;quot;fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;&amp;quot; if you are not using php-fpm.&lt;br /&gt;
   fastcgi_index  index.php;&lt;br /&gt;
   set $document_root2 $document_root;&lt;br /&gt;
   if ($document_root2 ~ &amp;quot;^(.*\\\\).*?[\\\\|\/]\.\.\/(.*)$&amp;quot;) { set $document_root2 $1$2; }&lt;br /&gt;
   if ($document_root2 ~ &amp;quot;^(.*\\\\).*?[\\\\|\/]\.\.\/(.*)$&amp;quot;) {	set $document_root2 $1$2; }&lt;br /&gt;
   if ($document_root2 ~ &amp;quot;^(.*\\\\).*?[\\\\|\/]\.\.\/(.*)$&amp;quot;) {	set $document_root2 $1$2; }&lt;br /&gt;
   if ($document_root2 ~ &amp;quot;^(.*\\\\).*?[\\\\|\/]\.\.\/(.*)$&amp;quot;) {	set $document_root2 $1$2; }&lt;br /&gt;
   if ($document_root2 ~ &amp;quot;^(.*\\\\).*?[\\\\|\/]\.\.\/(.*)$&amp;quot;) {	set $document_root2 $1$2; }&lt;br /&gt;
   fastcgi_split_path_info ^(.+\.php)(.*)$;&lt;br /&gt;
   fastcgi_param	SCRIPT_FILENAME	$document_root2$fastcgi_script_name;&lt;br /&gt;
   fastcgi_param	PATH_INFO	$fastcgi_path_info;&lt;br /&gt;
   fastcgi_param	PATH_TRANSLATED	$document_root2$fastcgi_path_info;&lt;br /&gt;
   include	fastcgi_params;&lt;br /&gt;
   fastcgi_param  DOCUMENT_ROOT      $document_root2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
try_files を使う方法もあります:&lt;br /&gt;
 server {&lt;br /&gt;
 ..&lt;br /&gt;
    root /usr/share/nginx/html;&lt;br /&gt;
    index index.php;&lt;br /&gt;
    location / {&lt;br /&gt;
      try_files $uri $uri/ /index.php?$args;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Error: The page you are looking for is temporarily unavailable. Please try again later. ===&lt;br /&gt;
&lt;br /&gt;
FastCGI サーバーが動作していないか、ソケットが間違ったパーミッションに設定されています。&lt;br /&gt;
&lt;br /&gt;
=== Error: No input file specified ===&lt;br /&gt;
&lt;br /&gt;
おそらくスクリプトのフルパスを含んだ SCRIPT_FILENAME がありません。&lt;br /&gt;
nginx の設定 (fastcgi_param  SCRIPT_FILENAME) が完全でも、このエラーは php が requestd スクリプトをロードできないことを意味しています。これは単純にパーミッションの問題であることが普通で、root で php-cgi を実行するか&lt;br /&gt;
 # spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/bin/php-cgi&lt;br /&gt;
php-cgi を起動するグループとユーザーを作成する必要があります。例えば:&lt;br /&gt;
 # groupadd www&lt;br /&gt;
 # useradd -g www www&lt;br /&gt;
 # chmod +w /srv/www/nginx/html&lt;br /&gt;
 # chown -R www:www /srv/www/nginx/html&lt;br /&gt;
 # spawn-fcgi -a 127.0.0.1 -p 9000 -u www -g www -f /usr/bin/php-cgi&lt;br /&gt;
&lt;br /&gt;
他の可能性としては、{{ic|nginx.conf}} 内の &amp;quot;location ~ \.php$&amp;quot; セクションの &amp;quot;root&amp;quot; 引数が間違っていることがありえます。&amp;quot;root&amp;quot; が同じサーバーの &amp;quot;location /&amp;quot; と同じディレクトリを示しているか確認してください。もしくは root をグローバルに設定するには、location セクションで定義しないでください。&lt;br /&gt;
&lt;br /&gt;
Also keep in mind that your php script path was defined as {{ic|/srv/http}} by default using the variable &amp;quot;open_basedir&amp;quot; in {{ic|/etc/php/php.ini}}; you can change them if you need.&lt;br /&gt;
&lt;br /&gt;
Also notice that not only php script should have read permission, but also the entire directory structure should have execute permission so that PHP user can traverse the path.&lt;br /&gt;
&lt;br /&gt;
=== Error: FastCGI で空のページが表示される ===&lt;br /&gt;
&lt;br /&gt;
access.log にエラーが表示されず、コード200が返されるのに以下のような空のページが表示される場合:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
   &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
   &amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://beutelevision.com/blog2/2013/08/26/nginx-with-php-fpm-generating-blank-page/ Thomas Beutel のブログ] に書かれた解決方法:&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/nginx/nginx.conf}} を編集して php の {{ic|location}} セクションに {{ic|fastcgi_param}} という行を追加:&lt;br /&gt;
&lt;br /&gt;
     location ~ \.php$ {&lt;br /&gt;
          ...&lt;br /&gt;
          include fastcgi_params;&lt;br /&gt;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;&lt;br /&gt;
          ...&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
php_fpm では PHP ファイルのパスを認識するために以上のように設定する必要があります。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [http://nginx.org/ Nginx 公式サイト]&lt;br /&gt;
* [http://calomel.org/nginx.html Nginx HowTo]&lt;br /&gt;
* [http://wiki.gotux.net/config:nginx Easy Config Files]&lt;br /&gt;
* [http://www.tecmint.com/install-nginx-php-mysql-with-mariadb-engine-and-phpmyadmin-in-arch-linux/ Installing LEMP (Nginx, PHP, MySQL with MariaDB engine and PhpMyAdmin) in Arch Linux]&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=ArchWiki:%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=13291</id>
		<title>ArchWiki:サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=ArchWiki:%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=13291"/>
		<updated>2018-08-07T20:23:09Z</updated>

		<summary type="html">&lt;p&gt;Ken: 練習（文章の加筆）&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test&lt;br /&gt;
&amp;lt;pre&amp;gt;do not use this&amp;lt;/pre&amp;gt;arch linux{{bc|use this}}テストオンライン&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Nano&amp;diff=13290</id>
		<title>Nano</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Nano&amp;diff=13290"/>
		<updated>2018-08-07T19:39:22Z</updated>

		<summary type="html">&lt;p&gt;Ken: /* 機能の切り替え */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
[[Category:テキストエディタ]]&lt;br /&gt;
[[de:Nano]]&lt;br /&gt;
[[en:Nano]]&lt;br /&gt;
[[es:Nano]]&lt;br /&gt;
[[it:Nano]]&lt;br /&gt;
[[ru:Nano]]&lt;br /&gt;
[http://www.nano-editor.org/ GNU nano] (もしくは nano) はシンプルなインターフェイスと直感的なコマンドオプションが特徴のコンソールベースのテキストエディタです。カラーのシンタックスハイライト・DOS/Mac ファイルタイプ変換・スペルチェック・[[Wikipedia:ja:UTF-8|UTF-8]] エンコードなどの機能をサポートしています。空のバッファで開かれた nano のメモリ使用量は 4 MB 以下です。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|nano}} パッケージで[[インストール]]することができます。{{grp|base}} グループに含まれているため、基本的には全てのシステムでインストールされています。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
nano の外観や機能は基本的にコマンドライン引数か {{ic|~/.config/nano/nanorc}} ファイルの設定コマンドのどちらかで設定します。&lt;br /&gt;
&lt;br /&gt;
プログラムのインストール時にサンプル設定ファイルが {{Ic|/etc/nanorc}} にインストールされます。nano の設定をカスタマイズするには、まず {{ic|~/.config/nano/nanorc}} にローカルコピーを作成して下さい:&lt;br /&gt;
&lt;br /&gt;
 $ cp /etc/nanorc ~/.config/nano/nanorc&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/nano/nanorc}} ファイルの中でコマンドを設定して nano のコンソール環境を確立してください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{man|5|nanorc}} に nano で利用可能な設定コマンドの完全なリストが載っています。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|コマンドラインの引数は {{ic|~/.config/nano/nanorc}} 内の設定コマンドよりも優先されます。}}&lt;br /&gt;
&lt;br /&gt;
=== シンタックスハイライト ===&lt;br /&gt;
&lt;br /&gt;
nano には定義済みの[[wikipedia:Syntax highlighting|シンタックスハイライト]]ルールが付属しており、{{ic|/usr/share/nano/*.nanorc}} に保存されています。シンタックスハイライトを有効にするには、以下の行を {{ic|~/.config/nano/nanorc}} または {{ic|/etc/nanorc}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;/usr/share/nano/*.nanorc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
デフォルトのシンタックスハイライトは AUR の {{AUR|nano-syntax-highlighting-git}} パッケージで拡張できます。[[Forth]] のハイライトについては [https://paste.xinu.at/wc17YG/] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== PKGBUILD ====&lt;br /&gt;
&lt;br /&gt;
* https://paste.xinu.at/4ss/ ([https://projects.archlinux.org/svntogit/packages.git/tree svntogit-server]) を {{ic|/etc/nano/pkgbuild.nanorc}} に保存して {{ic|~/.config/nano/nanorc}} に以下のように記述してください:&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;/etc/nano/pkgbuild.nanorc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* {{AUR|nano-syntax-highlighting-git}} には別バージョンが含まれています。&lt;br /&gt;
&lt;br /&gt;
=== サスペンド ===&lt;br /&gt;
多くの対話式プログラムと異なり、デフォルトではサスペンドは無効にされています。変更するには、{{Ic|/etc/nanorc}} 内の &#039;set suspend&#039; の行をアンコメントしてください。{{ic|Ctrl+z}} を使って nano をバックグラウンドに送ることができるようになります。&lt;br /&gt;
&lt;br /&gt;
=== 文章を折り返さない ===&lt;br /&gt;
他のテキストエディタと違って、&#039;&#039;nano&#039;&#039; はテキストを折り返します。折り返しを無効化するには以下を {{ic|~/.config/nano/nanorc}} で設定してください:&lt;br /&gt;
 set nowrap&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
=== 特別な関数 ===&lt;br /&gt;
* nano の画面下部にはよく使われる機能が表示されますが {{Ic|^}}　は {{ic|Ctrl}} キーで修飾することを表しています。&lt;br /&gt;
* {{Ic|Meta}} (通常は {{ic|Alt}}) や {{ic|Esc}} キーで修飾することで追加機能を対話式に切り替えることができます。&lt;br /&gt;
&lt;br /&gt;
==== ショートカットリスト ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! キー1 !! キー2 !! コマンド !! 説明&lt;br /&gt;
|-&lt;br /&gt;
|^G || F1 || Get Help || セッションウィンドウの中にオンラインのヘルプファイルを表示します。&lt;br /&gt;
|-&lt;br /&gt;
|^X || F2 || Exit || nano を終了する。&lt;br /&gt;
|-&lt;br /&gt;
|^O || F3 || WriteOut || 現在のファイルバッファの内容をディスク上のファイルに保存する。&lt;br /&gt;
|-&lt;br /&gt;
|^J || F4 || Justify || コンソールウィンドウにあわせてテキストを整列させる。&lt;br /&gt;
|-&lt;br /&gt;
|^R || F5 || Read File || カーソル位置に他のファイルを挿入する。&lt;br /&gt;
|-&lt;br /&gt;
|^W || F6 || Where || 大文字小文字を区別する文字・正規表現検索を実行する。&lt;br /&gt;
|-&lt;br /&gt;
|^Y || F7 || Prev Page || 前のバッファ画面を表示する。&lt;br /&gt;
|-&lt;br /&gt;
|^V || F8 || Next Page || 次のバッファ画面を表示する。&lt;br /&gt;
|-&lt;br /&gt;
|^K || F9 || Cut Text || 現在の行の冒頭から最後まで切り取って保存する。&lt;br /&gt;
|-&lt;br /&gt;
|^U || F10 || UnCut Text || カットバッファの中身を現在のカーソル位置にペーストする。&lt;br /&gt;
|-&lt;br /&gt;
|^C || F11 || Cur Pos || 現在のカーソルの行・桁・文字の位置情報を表示する。&lt;br /&gt;
|-&lt;br /&gt;
|^T || F12 || To Spell || 内蔵されている {{Ic|spell}} を使用してバッファの中身をスペルチェック。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Tip|nano のオンラインヘルプファイルは nano の中で {{ic|Ctrl+g}} を使うことで見ることができます。また、[https://www.nano-editor.org/dist/latest/nano.html nano コマンドマニュアル] に完全な説明と追加のサポートが記載されています。}}&lt;br /&gt;
&lt;br /&gt;
==== 機能の切り替え ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! キー1 !! キー2 !! 説明&lt;br /&gt;
|-&lt;br /&gt;
|Meta+c || Esc+c || 行・桁・文字の位置情報の表示機能のオンオフ。&lt;br /&gt;
|-&lt;br /&gt;
|Meta+i || Esc+i || 自動インデント機能のオンオフ。&lt;br /&gt;
|-&lt;br /&gt;
|Meta+k || Esc+k || 現在のカーソル位置から行の最後まで文章をカットする機能のオンオフ。&lt;br /&gt;
|-&lt;br /&gt;
|Meta+m || Esc+m || マウスを使ってカーソルの移動やマーク、ショートカットする機能のオンオフ。&lt;br /&gt;
|-&lt;br /&gt;
|Meta+x || Esc+x || nano の画面の一番下にショートカットリストを表示する機能のオンオフ。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Tip|[https://www.nano-editor.org/dist/latest/nano.html#Feature-Toggles Feature Toggles] に nano で利用できる機能が載っています。}}&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== vi を nano で置き換える ===&lt;br /&gt;
ライトユーザーにとっては {{Ic|vi}} よりは {{Ic|nano}} の方が使いやすく感じるでしょう。[[sudo#visudo を使う|visudo]] などのコマンドでもデフォルトのテキストエディタとして nano を使いたくなるかもしれません。&lt;br /&gt;
&lt;br /&gt;
{{ic|VISUAL}} と {{ic|EDITOR}} [[環境変数#変数の定義|環境変数]]を設定することで多くのアプリケーションで nano が使用できます。例:&lt;br /&gt;
&lt;br /&gt;
 export VISUAL=nano&lt;br /&gt;
 export EDITOR=nano&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== キーバインドのハイジャック ===&lt;br /&gt;
&lt;br /&gt;
ウィンドウマネージャのキーバインドが nano とかぶってしまうことがあります (例: {{ic|Alt+Enter}})。{{ic|Super}} などを使うように設定して ({{Pkg|mutter}} なら {{Pkg|dconf}}、{{Pkg|marco}} なら {{Pkg|muffin}} を使用して設定) ウィンドウマネージャを再起動してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 == &lt;br /&gt;
&lt;br /&gt;
* [[wikipedia:ja:nano (テキストエディタ)|nano (テキストエディタ)]] - Wikipedia エントリ&lt;br /&gt;
* [https://www.nano-editor.org/ GNU nano ホームページ] - 公式サイト&lt;br /&gt;
* [https://savannah.gnu.org/bugs/?group=nano GNU nano Bugs] バグレポート&lt;br /&gt;
* [https://github.com/scopatz/nanorc Nano シンタックスハイライトファイル]&lt;/div&gt;</summary>
		<author><name>Ken</name></author>
	</entry>
</feed>