<?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=Blackle0pard</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=Blackle0pard"/>
	<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/Blackle0pard"/>
	<updated>2026-04-06T21:31:10Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=36313</id>
		<title>利用者:Blackle0pard</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=36313"/>
		<updated>2024-02-21T03:40:09Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* ArchLinuxの利用環境 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==編集について==&lt;br /&gt;
* ArchWikiに記載されているとおりのコマンド・設定が実機で実行できない場合、内容の確認・編集を実施します。&lt;br /&gt;
* 英語が得意なわけでもなく、スキルが高いわけではないので。自分が気づいた箇所、自分に出来る範囲で取り組みます。&lt;br /&gt;
* 自分の編集箇所に間違い等があれば、指摘頂けると嬉しいです。&lt;br /&gt;
==連絡方法==    &lt;br /&gt;
* Slack(archlinuxjp): blackle0pard  &lt;br /&gt;
* Twitter : [https://twitter.com/blackle0pard_/ @blackle0pard_]&lt;br /&gt;
==ArchLinuxの利用環境==&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=MediaWiki&amp;diff=25197</id>
		<title>MediaWiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=MediaWiki&amp;diff=25197"/>
		<updated>2022-04-24T12:25:57Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: アップグレードの項目を追記&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ウィキソフトウェア]]&lt;br /&gt;
[[en:MediaWiki]]&lt;br /&gt;
[https://www.mediawiki.org/wiki/MediaWiki MediaWiki] は PHP で書かれたフリーでオープンソースのウィキソフトウェアです。元は Wikipedia のために開発されました。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Note|[[LAMP]] ではなく XAMPP を使う場合、インストール後に必要な設定が変わってきます。詳しくは [https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki_on_XAMPP こちら] を参照。}}&lt;br /&gt;
&lt;br /&gt;
MediaWiki を動かすには以下の3つが必要です:&lt;br /&gt;
&lt;br /&gt;
* {{pkg|mediawiki}} パッケージ&lt;br /&gt;
* ウェブサーバー – [[Apache]], [[Nginx]], [[Lighttpd]]&lt;br /&gt;
* データベースシステム – [[MariaDB]], [[PostgreSQL]], [[SQLite]], [[MySQL]]&lt;br /&gt;
&lt;br /&gt;
任意で、サムネイルを表示するには {{pkg|imagemagick}} または {{pkg|php-gd}} パッケージを、Unicode 正規化を使うには {{pkg|php-intl}} パッケージもインストールしてください。&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
MediaWiki を動かすには PHP の設定や MediaWiki の設定スニペットの追加などを行います。&lt;br /&gt;
&lt;br /&gt;
===PHP===&lt;br /&gt;
&lt;br /&gt;
まず、{{ic|/etc/php/php.ini}} の {{ic|open_basedir}} を変更して mediawiki のデータディレクトリ (デフォルトでは {{ic|/var/lib/mediawiki}}) を記述してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/php/php.ini|2=&lt;br /&gt;
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/var/lib/mediawiki/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして、同じく {{ic|/etc/php/php.ini}} の以下の行をアンコメントします ({{ic|Dynamic Extensions}} セクションの下):&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
 extension=intl.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* データベースとして SQLite を使いたいときは、{{ic|1=extension=pdo_sqlite.so}} もアンコメントしてください。&lt;br /&gt;
* データベースとして MariaDB を使いたいときは、{{ic|1=extension=mysqli.so}} もアンコメントしてください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、{{ic|session.save_path}} パスでセッションの処理を変更します。この設定を行わないと致命的なエラーが表示されることがあります ({{ic|PHP Fatal error: session_start(): Failed to initialize storage module[...]}})。{{ic|/var/lib/php/sessions}} や {{ic|/tmp/}} に設定するのが良いでしょう。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/php/php.ini|2=&lt;br /&gt;
session.save_path = &amp;quot;/var/lib/php/sessions&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ディレクトリが存在していない場合はディレクトリを作成してパーミッションを設定してください:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# mkdir -p /var/lib/php/sessions/&lt;br /&gt;
# chown http:http /var/lib/php/sessions&lt;br /&gt;
# chmod go-rwx /var/lib/php/sessions&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ウェブサーバー ===&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/webapps/mediawiki/apache.example.conf}} を {{ic|/etc/httpd/conf/extra/mediawiki.conf}} にコピーして必要に応じて編集してください。&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|/etc/httpd/conf/httpd.conf}} に追加:&lt;br /&gt;
 Include conf/extra/mediawiki.conf&lt;br /&gt;
&lt;br /&gt;
{{ic|httpd.service}} デーモンを[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|デフォルトファイルの {{ic|/etc/webapps/mediawiki/apache.example.conf}} は PHP の open_basedir 設定を上書きするため、他のページに干渉することがあります。{{ic|php_admin_value}} から始まる行を {{ic|&amp;lt;nowiki&amp;gt;&amp;lt;Directory&amp;gt;&amp;lt;/nowiki&amp;gt;}} タグの間に移動することで挙動を変更できます。さらに、同一サーバー上で複数のアプリケーションを動かす場合、{{ic|/etc/httpd/conf/extra/mediawiki.conf}} ではなく {{ic|/etc/php/php.ini}} の open_basedir に値を追加する方法もあります。}}&lt;br /&gt;
&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
&lt;br /&gt;
[[Nginx]] で MediaWiki を動作させるには、以下のファイルを作成してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/nginx/mediawiki.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
location / {&lt;br /&gt;
   index index.php;&lt;br /&gt;
   try_files $uri $uri/ @mediawiki;&lt;br /&gt;
}&lt;br /&gt;
location @mediawiki {&lt;br /&gt;
   rewrite ^/(.*)$ /index.php;&lt;br /&gt;
}&lt;br /&gt;
location ~ \.php5?$ {&lt;br /&gt;
   include /etc/nginx/fastcgi_params;&lt;br /&gt;
   fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;&lt;br /&gt;
   fastcgi_index index.php5;&lt;br /&gt;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;&lt;br /&gt;
   try_files $uri @mediawiki;&lt;br /&gt;
}&lt;br /&gt;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {&lt;br /&gt;
   try_files $uri /index.php;&lt;br /&gt;
   expires max;&lt;br /&gt;
   log_not_found off;&lt;br /&gt;
}&lt;br /&gt;
# Restrictions based on the .htaccess files&lt;br /&gt;
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {&lt;br /&gt;
   deny all;&lt;br /&gt;
}&lt;br /&gt;
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {&lt;br /&gt;
   internal;&lt;br /&gt;
}&lt;br /&gt;
location ^~ /images/ {&lt;br /&gt;
   try_files $uri /index.php;&lt;br /&gt;
}&lt;br /&gt;
location ~ /\. {&lt;br /&gt;
   access_log off;&lt;br /&gt;
   log_not_found off; &lt;br /&gt;
   deny all;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Pkg|php-fpm}} をインストール・[[起動]]します。&lt;br /&gt;
&lt;br /&gt;
以下のような server ディレクティブを記述してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/nginx/nginx.conf|&lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name mediawiki;&lt;br /&gt;
  root /usr/share/webapps/mediawiki;&lt;br /&gt;
  index index.php;&lt;br /&gt;
  charset utf-8;&lt;br /&gt;
# For correct file uploads&lt;br /&gt;
  client_max_body_size    100m; # Equal or more than upload_max_filesize in /etc/php/php.ini&lt;br /&gt;
  client_body_timeout     60;&lt;br /&gt;
  include mediawiki.conf;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|nginx.service}} と {{ic|php-fpm.service}} デーモンを[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
==== Lighttpd ====&lt;br /&gt;
&lt;br /&gt;
インストール・設定済みの [[Lighttpd]] が必要です。lighttpd の server.modules に &amp;quot;mod_alias&amp;quot; と &amp;quot;mod_rewrite&amp;quot; が必要になります。lighttpd の設定ファイルに以下の行を追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
alias.url += (&amp;quot;/mediawiki&amp;quot; =&amp;gt; &amp;quot;/usr/share/webapps/mediawiki/&amp;quot;)&lt;br /&gt;
url.rewrite-once += (&lt;br /&gt;
                &amp;quot;^/mediawiki/wiki/upload/(.+)&amp;quot; =&amp;gt; &amp;quot;/mediawiki/wiki/upload/$1&amp;quot;,&lt;br /&gt;
                &amp;quot;^/mediawiki/wiki/$&amp;quot; =&amp;gt; &amp;quot;/mediawiki/index.php&amp;quot;,&lt;br /&gt;
                &amp;quot;^/mediawiki/wiki/([^?]*)(?:\?(.*))?&amp;quot; =&amp;gt; &amp;quot;/mediawiki/index.php?title=$1&amp;amp;$2&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|lighttpd.service}} デーモンを[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== データベース ===&lt;br /&gt;
&lt;br /&gt;
データベースサーバーが既にセットアップされている場合、MediaWiki は[[#LocalSettings.php|次のステップ]]で (設定されたデータベースの root パスワードを使って) 自動的にデータベースを作成します。自動的に作成しない場合、手動でデータベースを作成する必要があります。[https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki#Create_a_database 上流の指示] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== LocalSettings.php ===&lt;br /&gt;
&lt;br /&gt;
ブラウザで wiki の url (通常は {{ic|http://&#039;&#039;your_server&#039;&#039;/mediawiki/}}) を開いて初期設定を行って下さい。[https://www.mediawiki.org/wiki/Manual:Config_script 上流の指示] に従って下さい。&lt;br /&gt;
&lt;br /&gt;
{{ic|LocalSettings.php}} ファイルが生成されるので、ダウンロードして {{ic|/usr/share/webapps/mediawiki/LocalSettings.php}} に保存します。このファイルには wiki の設定が定義されています。{{pkg|mediawiki}} パッケージをアップグレードしても、上書きされることはありません。&lt;br /&gt;
&lt;br /&gt;
== アップグレード ==&lt;br /&gt;
&lt;br /&gt;
[[mw:Manual:Upgrading]]を参照してください。また、下記のコマンドを忘れずに実行してください。&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/share/webapps/mediawiki&lt;br /&gt;
 # php maintenance/update.php&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== Mathematics (texvc) ===&lt;br /&gt;
&lt;br /&gt;
通常通りに {{Pkg|texvc}} をインストールして設定で有効にするだけで使えます:&lt;br /&gt;
&lt;br /&gt;
 $wgUseTeX = true;&lt;br /&gt;
&lt;br /&gt;
問題が発生したら、シェルコマンドの制限を増やして下さい:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
$wgMaxShellMemory = 8000000;&lt;br /&gt;
$wgMaxShellFileSize = 1000000;&lt;br /&gt;
$wgMaxShellTime = 300;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Unicode ===&lt;br /&gt;
&lt;br /&gt;
php, apache, mysql が UTF-8 を使っていることを確認してください。エンコードが不一致だとおかしなバグが発生することがあります。&lt;br /&gt;
&lt;br /&gt;
=== VisualEditor ===&lt;br /&gt;
&lt;br /&gt;
MediaWiki の VisualEditor 拡張は MediaWiki にリッチテキストエディタを装備します。[https://www.mediawiki.org/wiki/Extension:VisualEditor こちらのページ] に従ってインストールしてください。&lt;br /&gt;
&lt;br /&gt;
Node.js バックエンドの [https://www.mediawiki.org/wiki/Parsoid Parsoid] も必要です。[[AUR]] の {{AUR|parsoid-git}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|/usr/share/webapps/parsoid/api/localsettings.js}} の MediaWiki のパスを調整してください:&lt;br /&gt;
&lt;br /&gt;
 parsoidConfig.setInterwiki( &#039;localhost&#039;, &#039;&amp;lt;nowiki&amp;gt;http://localhost/mediawiki/api.php&amp;lt;/nowiki&amp;gt;&#039; );&lt;br /&gt;
&lt;br /&gt;
その後 {{ic|parsoid.service}} を起動・[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
もしくは {{AUR|parsoid}} パッケージを使用して yaml ファイルでサービスを設定することもできます。以下の行が必要です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/usr/share/webapps/parsoid/config.yaml|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uri: `&#039;http://localhost/mediawiki/api.php&#039;`&lt;br /&gt;
domain: &#039;localhost&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
mediawiki の設定も合わせてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/usr/share/webapps/mediawiki/LocalSettings.php|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$wgVirtualRestConfig[&#039;modules&#039;][&#039;parsoid&#039;] = array(&lt;br /&gt;
	// URL to the Parsoid instance&lt;br /&gt;
	// Use port 8142 if you use the Debian package&lt;br /&gt;
	&#039;url&#039; =&amp;gt; &#039;http://localhost:8000&#039;,&lt;br /&gt;
	// Parsoid &amp;quot;domain&amp;quot;, see below (optional)&lt;br /&gt;
	&#039;domain&#039; =&amp;gt; &#039;localhost&#039;,&lt;br /&gt;
	// Parsoid &amp;quot;prefix&amp;quot;, see below (optional)&lt;br /&gt;
	&#039;prefix&#039; =&amp;gt; &#039;localhost&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
設定後、{{ic|parsoid}} サービスを起動・有効化してください。&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=MediaWiki&amp;diff=25196</id>
		<title>MediaWiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=MediaWiki&amp;diff=25196"/>
		<updated>2022-04-24T12:17:55Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* インストール */  対応するデータベースシステムにMariaDBを追記&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ウィキソフトウェア]]&lt;br /&gt;
[[en:MediaWiki]]&lt;br /&gt;
[https://www.mediawiki.org/wiki/MediaWiki MediaWiki] は PHP で書かれたフリーでオープンソースのウィキソフトウェアです。元は Wikipedia のために開発されました。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Note|[[LAMP]] ではなく XAMPP を使う場合、インストール後に必要な設定が変わってきます。詳しくは [https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki_on_XAMPP こちら] を参照。}}&lt;br /&gt;
&lt;br /&gt;
MediaWiki を動かすには以下の3つが必要です:&lt;br /&gt;
&lt;br /&gt;
* {{pkg|mediawiki}} パッケージ&lt;br /&gt;
* ウェブサーバー – [[Apache]], [[Nginx]], [[Lighttpd]]&lt;br /&gt;
* データベースシステム – [[MariaDB]], [[PostgreSQL]], [[SQLite]], [[MySQL]]&lt;br /&gt;
&lt;br /&gt;
任意で、サムネイルを表示するには {{pkg|imagemagick}} または {{pkg|php-gd}} パッケージを、Unicode 正規化を使うには {{pkg|php-intl}} パッケージもインストールしてください。&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
MediaWiki を動かすには PHP の設定や MediaWiki の設定スニペットの追加などを行います。&lt;br /&gt;
&lt;br /&gt;
===PHP===&lt;br /&gt;
&lt;br /&gt;
まず、{{ic|/etc/php/php.ini}} の {{ic|open_basedir}} を変更して mediawiki のデータディレクトリ (デフォルトでは {{ic|/var/lib/mediawiki}}) を記述してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/php/php.ini|2=&lt;br /&gt;
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/var/lib/mediawiki/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
そして、同じく {{ic|/etc/php/php.ini}} の以下の行をアンコメントします ({{ic|Dynamic Extensions}} セクションの下):&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
 extension=intl.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* データベースとして SQLite を使いたいときは、{{ic|1=extension=pdo_sqlite.so}} もアンコメントしてください。&lt;br /&gt;
* データベースとして MariaDB を使いたいときは、{{ic|1=extension=mysqli.so}} もアンコメントしてください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、{{ic|session.save_path}} パスでセッションの処理を変更します。この設定を行わないと致命的なエラーが表示されることがあります ({{ic|PHP Fatal error: session_start(): Failed to initialize storage module[...]}})。{{ic|/var/lib/php/sessions}} や {{ic|/tmp/}} に設定するのが良いでしょう。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/php/php.ini|2=&lt;br /&gt;
session.save_path = &amp;quot;/var/lib/php/sessions&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ディレクトリが存在していない場合はディレクトリを作成してパーミッションを設定してください:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# mkdir -p /var/lib/php/sessions/&lt;br /&gt;
# chown http:http /var/lib/php/sessions&lt;br /&gt;
# chmod go-rwx /var/lib/php/sessions&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ウェブサーバー ===&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/webapps/mediawiki/apache.example.conf}} を {{ic|/etc/httpd/conf/extra/mediawiki.conf}} にコピーして必要に応じて編集してください。&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|/etc/httpd/conf/httpd.conf}} に追加:&lt;br /&gt;
 Include conf/extra/mediawiki.conf&lt;br /&gt;
&lt;br /&gt;
{{ic|httpd.service}} デーモンを[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|デフォルトファイルの {{ic|/etc/webapps/mediawiki/apache.example.conf}} は PHP の open_basedir 設定を上書きするため、他のページに干渉することがあります。{{ic|php_admin_value}} から始まる行を {{ic|&amp;lt;nowiki&amp;gt;&amp;lt;Directory&amp;gt;&amp;lt;/nowiki&amp;gt;}} タグの間に移動することで挙動を変更できます。さらに、同一サーバー上で複数のアプリケーションを動かす場合、{{ic|/etc/httpd/conf/extra/mediawiki.conf}} ではなく {{ic|/etc/php/php.ini}} の open_basedir に値を追加する方法もあります。}}&lt;br /&gt;
&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
&lt;br /&gt;
[[Nginx]] で MediaWiki を動作させるには、以下のファイルを作成してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/nginx/mediawiki.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
location / {&lt;br /&gt;
   index index.php;&lt;br /&gt;
   try_files $uri $uri/ @mediawiki;&lt;br /&gt;
}&lt;br /&gt;
location @mediawiki {&lt;br /&gt;
   rewrite ^/(.*)$ /index.php;&lt;br /&gt;
}&lt;br /&gt;
location ~ \.php5?$ {&lt;br /&gt;
   include /etc/nginx/fastcgi_params;&lt;br /&gt;
   fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;&lt;br /&gt;
   fastcgi_index index.php5;&lt;br /&gt;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;&lt;br /&gt;
   try_files $uri @mediawiki;&lt;br /&gt;
}&lt;br /&gt;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {&lt;br /&gt;
   try_files $uri /index.php;&lt;br /&gt;
   expires max;&lt;br /&gt;
   log_not_found off;&lt;br /&gt;
}&lt;br /&gt;
# Restrictions based on the .htaccess files&lt;br /&gt;
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {&lt;br /&gt;
   deny all;&lt;br /&gt;
}&lt;br /&gt;
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {&lt;br /&gt;
   internal;&lt;br /&gt;
}&lt;br /&gt;
location ^~ /images/ {&lt;br /&gt;
   try_files $uri /index.php;&lt;br /&gt;
}&lt;br /&gt;
location ~ /\. {&lt;br /&gt;
   access_log off;&lt;br /&gt;
   log_not_found off; &lt;br /&gt;
   deny all;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Pkg|php-fpm}} をインストール・[[起動]]します。&lt;br /&gt;
&lt;br /&gt;
以下のような server ディレクティブを記述してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/nginx/nginx.conf|&lt;br /&gt;
server {&lt;br /&gt;
  listen 80;&lt;br /&gt;
  server_name mediawiki;&lt;br /&gt;
  root /usr/share/webapps/mediawiki;&lt;br /&gt;
  index index.php;&lt;br /&gt;
  charset utf-8;&lt;br /&gt;
# For correct file uploads&lt;br /&gt;
  client_max_body_size    100m; # Equal or more than upload_max_filesize in /etc/php/php.ini&lt;br /&gt;
  client_body_timeout     60;&lt;br /&gt;
  include mediawiki.conf;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
最後に、{{ic|nginx.service}} と {{ic|php-fpm.service}} デーモンを[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
==== Lighttpd ====&lt;br /&gt;
&lt;br /&gt;
インストール・設定済みの [[Lighttpd]] が必要です。lighttpd の server.modules に &amp;quot;mod_alias&amp;quot; と &amp;quot;mod_rewrite&amp;quot; が必要になります。lighttpd の設定ファイルに以下の行を追加してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
alias.url += (&amp;quot;/mediawiki&amp;quot; =&amp;gt; &amp;quot;/usr/share/webapps/mediawiki/&amp;quot;)&lt;br /&gt;
url.rewrite-once += (&lt;br /&gt;
                &amp;quot;^/mediawiki/wiki/upload/(.+)&amp;quot; =&amp;gt; &amp;quot;/mediawiki/wiki/upload/$1&amp;quot;,&lt;br /&gt;
                &amp;quot;^/mediawiki/wiki/$&amp;quot; =&amp;gt; &amp;quot;/mediawiki/index.php&amp;quot;,&lt;br /&gt;
                &amp;quot;^/mediawiki/wiki/([^?]*)(?:\?(.*))?&amp;quot; =&amp;gt; &amp;quot;/mediawiki/index.php?title=$1&amp;amp;$2&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|lighttpd.service}} デーモンを[[再起動]]してください。&lt;br /&gt;
&lt;br /&gt;
=== データベース ===&lt;br /&gt;
&lt;br /&gt;
データベースサーバーが既にセットアップされている場合、MediaWiki は[[#LocalSettings.php|次のステップ]]で (設定されたデータベースの root パスワードを使って) 自動的にデータベースを作成します。自動的に作成しない場合、手動でデータベースを作成する必要があります。[https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki#Create_a_database 上流の指示] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== LocalSettings.php ===&lt;br /&gt;
&lt;br /&gt;
ブラウザで wiki の url (通常は {{ic|http://&#039;&#039;your_server&#039;&#039;/mediawiki/}}) を開いて初期設定を行って下さい。[https://www.mediawiki.org/wiki/Manual:Config_script 上流の指示] に従って下さい。&lt;br /&gt;
&lt;br /&gt;
{{ic|LocalSettings.php}} ファイルが生成されるので、ダウンロードして {{ic|/usr/share/webapps/mediawiki/LocalSettings.php}} に保存します。このファイルには wiki の設定が定義されています。{{pkg|mediawiki}} パッケージをアップグレードしても、上書きされることはありません。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== Mathematics (texvc) ===&lt;br /&gt;
&lt;br /&gt;
通常通りに {{Pkg|texvc}} をインストールして設定で有効にするだけで使えます:&lt;br /&gt;
&lt;br /&gt;
 $wgUseTeX = true;&lt;br /&gt;
&lt;br /&gt;
問題が発生したら、シェルコマンドの制限を増やして下さい:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
$wgMaxShellMemory = 8000000;&lt;br /&gt;
$wgMaxShellFileSize = 1000000;&lt;br /&gt;
$wgMaxShellTime = 300;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Unicode ===&lt;br /&gt;
&lt;br /&gt;
php, apache, mysql が UTF-8 を使っていることを確認してください。エンコードが不一致だとおかしなバグが発生することがあります。&lt;br /&gt;
&lt;br /&gt;
=== VisualEditor ===&lt;br /&gt;
&lt;br /&gt;
MediaWiki の VisualEditor 拡張は MediaWiki にリッチテキストエディタを装備します。[https://www.mediawiki.org/wiki/Extension:VisualEditor こちらのページ] に従ってインストールしてください。&lt;br /&gt;
&lt;br /&gt;
Node.js バックエンドの [https://www.mediawiki.org/wiki/Parsoid Parsoid] も必要です。[[AUR]] の {{AUR|parsoid-git}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|/usr/share/webapps/parsoid/api/localsettings.js}} の MediaWiki のパスを調整してください:&lt;br /&gt;
&lt;br /&gt;
 parsoidConfig.setInterwiki( &#039;localhost&#039;, &#039;&amp;lt;nowiki&amp;gt;http://localhost/mediawiki/api.php&amp;lt;/nowiki&amp;gt;&#039; );&lt;br /&gt;
&lt;br /&gt;
その後 {{ic|parsoid.service}} を起動・[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
もしくは {{AUR|parsoid}} パッケージを使用して yaml ファイルでサービスを設定することもできます。以下の行が必要です:&lt;br /&gt;
&lt;br /&gt;
{{hc|/usr/share/webapps/parsoid/config.yaml|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uri: `&#039;http://localhost/mediawiki/api.php&#039;`&lt;br /&gt;
domain: &#039;localhost&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
mediawiki の設定も合わせてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/usr/share/webapps/mediawiki/LocalSettings.php|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$wgVirtualRestConfig[&#039;modules&#039;][&#039;parsoid&#039;] = array(&lt;br /&gt;
	// URL to the Parsoid instance&lt;br /&gt;
	// Use port 8142 if you use the Debian package&lt;br /&gt;
	&#039;url&#039; =&amp;gt; &#039;http://localhost:8000&#039;,&lt;br /&gt;
	// Parsoid &amp;quot;domain&amp;quot;, see below (optional)&lt;br /&gt;
	&#039;domain&#039; =&amp;gt; &#039;localhost&#039;,&lt;br /&gt;
	// Parsoid &amp;quot;prefix&amp;quot;, see below (optional)&lt;br /&gt;
	&#039;prefix&#039; =&amp;gt; &#039;localhost&#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
設定後、{{ic|parsoid}} サービスを起動・有効化してください。&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E3%83%AD%E3%82%B1%E3%83%BC%E3%83%AB&amp;diff=22771</id>
		<title>ロケール</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E3%83%AD%E3%82%B1%E3%83%BC%E3%83%AB&amp;diff=22771"/>
		<updated>2021-12-11T08:10:46Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* システム全体のロケールを設定する */ : 追加の設定ではなく、代替の設定手順なので日本語の表記を修正。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:地域化]]&lt;br /&gt;
[[ar:Locale]]&lt;br /&gt;
[[cs:Locale]]&lt;br /&gt;
[[de:Locale]]&lt;br /&gt;
[[en:Locale]]&lt;br /&gt;
[[es:Locale]]&lt;br /&gt;
[[fr:Locale]]&lt;br /&gt;
[[it:Locale]]&lt;br /&gt;
[[ko:Locale]]&lt;br /&gt;
[[pt:Locale]]&lt;br /&gt;
[[ru:Locale]]&lt;br /&gt;
[[zh-hans:Locale]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|環境変数}}&lt;br /&gt;
{{Related|地域化}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
ロケール (Locale) は {{Pkg|glibc}} などのロケールに対応しているプログラムやライブラリによって使われ、テキストのレンダリング、時刻や日付、地域通貨の正しい表示、アルファベットなどの決まり事が設定されます。&lt;br /&gt;
&lt;br /&gt;
== ロケールの生成 ==&lt;br /&gt;
&lt;br /&gt;
ロケール名は基本的に {{ic|language[_territory][.codeset][@modifier]}} という形式になっています。&#039;&#039;language&#039;&#039; は [[w:ja:ISO 639-1コード一覧|ISO 639 言語コード]]、&#039;&#039;territory&#039;&#039; は [[w:ja:ISO_3166-1|ISO 3166 国名コード]]、&#039;&#039;codeset&#039;&#039; は[[w:ja:文字集合|文字集合]]または [[w:ja:ISO/IEC 8859-1|ISO-8859-1]] や [[w:ja:UTF-8|UTF-8]] などのエンコーディングです。詳しくは {{man|3|setlocale}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
利用可能なロケールのリストを確認するには、以下のコマンドを実行:&lt;br /&gt;
&lt;br /&gt;
 $ locale -a&lt;br /&gt;
&lt;br /&gt;
システムでロケールを利用するには、まず生成する必要があります。{{ic|/etc/locale.gen}} の中の適当なエントリをアンコメントして &#039;&#039;locale-gen&#039;&#039; を実行することで生成できます。同じく、エントリをコメントアウトするとロケールは無効になります。変更するときは、システム上の他のユーザーが必要としている言語や特定の[[#変数|変数]]にも注意してください。&lt;br /&gt;
&lt;br /&gt;
例えば日本語の {{ic|ja_JP.UTF-8 UTF-8}} をアンコメントする場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/locale.gen|&lt;br /&gt;
...&lt;br /&gt;
#ja_JP.EUC-JP EUC-JP&lt;br /&gt;
ja_JP.UTF-8 UTF-8&lt;br /&gt;
#ka_GE.UTF-8 UTF-8&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ファイルを保存して、ロケールを生成:&lt;br /&gt;
&lt;br /&gt;
 # locale-gen&lt;br /&gt;
&lt;br /&gt;
{{Note|1=&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* {{ic|locale-gen}} は {{Pkg|glibc}} のアップデート時に毎回実行されます [https://github.com/archlinux/svntogit-packages/blob/packages/glibc/trunk/glibc.install#L5]。&lt;br /&gt;
* {{ic|UTF-8}} を使用することが推奨されています [https://utf8everywhere.org/]。}}&lt;br /&gt;
&lt;br /&gt;
== ロケールの設定 ==&lt;br /&gt;
&lt;br /&gt;
現在設定されているロケールと関連する環境設定を確認するには:&lt;br /&gt;
&lt;br /&gt;
 $ locale&lt;br /&gt;
&lt;br /&gt;
使用するロケールは {{ic|locale.conf}} ファイルに設定します。ファイルの中では1行毎に[[環境変数]]を設定します。&#039;&#039;locale&#039;&#039; の出力と同じフォーマットです。&lt;br /&gt;
&lt;br /&gt;
生成済みの利用可能なロケールを確認するには:&lt;br /&gt;
&lt;br /&gt;
 $ localedef --list-archive&lt;br /&gt;
&lt;br /&gt;
もしくは {{man|1|localectl}} を使用:&lt;br /&gt;
&lt;br /&gt;
 $ localectl list-locales&lt;br /&gt;
&lt;br /&gt;
=== システム全体のロケールを設定する ===&lt;br /&gt;
&lt;br /&gt;
システム全体のロケールを設定するには {{ic|LANG}} 変数を {{ic|/etc/locale.conf}} に書き込みます。使用するロケールは {{ic|/etc/locale.gen}} でアンコメントしたエントリの最初のカラムと同じです:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=/etc/locale.conf|2=&lt;br /&gt;
LANG=&#039;&#039;ja_JP.UTF-8&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/locale.conf}} を修正する代わりに、以下のコマンドを実行することでも設定可能:&lt;br /&gt;
&lt;br /&gt;
 # localectl set-locale LANG=&#039;&#039;ja_JP.UTF-8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
他の設定など詳しくは[[#変数|変数]]や {{man|5|locale.conf}} を参照。&lt;br /&gt;
&lt;br /&gt;
=== ユーザーセッションでシステムロケールを上書き ===&lt;br /&gt;
&lt;br /&gt;
システム全体のロケールは {{ic|~/.config/locale.conf}} (または {{ic|$XDG_CONFIG_HOME/locale.conf}} や {{ic|$HOME/.config/locale.conf}}) を作成・編集することでユーザーセッションで上書きできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|locale.conf}} ファイルの優先順位は {{ic|/etc/profile.d/locale.sh}} で定義されています。&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* {{ic|/var/log}} のログは英語のままで、ユーザー環境では自分の言語を使うということが可能です。&lt;br /&gt;
* {{ic|/etc/skel/.config/locale.conf}} ファイルを作成することで &#039;&#039;useradd&#039;&#039; と {{ic|-m}} オプションで追加された新しいユーザーの {{ic|~/.config/locale.conf}} が自動的に生成されます。}}&lt;br /&gt;
&lt;br /&gt;
=== ロケールを即座に変更する ===&lt;br /&gt;
&lt;br /&gt;
システムやユーザーの {{ic|locale.conf}} ファイルを作成・編集した場合、新しく設定した値は次にログインしたときに有効になります。新しい設定をすぐに使うには {{ic|LANG}} の設定を解除して {{ic|/etc/profile.d/locale.sh}} を source してください:&lt;br /&gt;
&lt;br /&gt;
 $ unset LANG&lt;br /&gt;
 $ source /etc/profile.d/locale.sh&lt;br /&gt;
&lt;br /&gt;
{{Note|最初に {{ic|LANG}} 変数の設定を解除しないと、{{ic|locale.sh}} は {{ic|locale.conf}} の値を反映しません。新しい、変更した変数だけが反映されます。{{ic|locale.conf}} から削除した値はセッション内で残り続けます。}}&lt;br /&gt;
&lt;br /&gt;
=== 他の使用方法 ===&lt;br /&gt;
&lt;br /&gt;
[[環境変数]]で説明されている方法でロケール変数を定義することも可能です。&lt;br /&gt;
&lt;br /&gt;
例えば、開発中に特定のアプリケーションをテスト・デバッグしたいとき、以下のように起動することができます:&lt;br /&gt;
&lt;br /&gt;
 $ LANG=C ./my_application.sh&lt;br /&gt;
&lt;br /&gt;
同じく、現在のシェルから実行する全てのプロセルにロケールを設定するには (例えば、システムのインストール中などに使うと有用です):&lt;br /&gt;
&lt;br /&gt;
 $ export LANG=C&lt;br /&gt;
&lt;br /&gt;
== 変数 ==&lt;br /&gt;
&lt;br /&gt;
{{ic|locale.conf}} ファイルは以下の環境変数をサポートしています:&lt;br /&gt;
&lt;br /&gt;
* [[#LANG: デフォルトロケール|LANG]]&lt;br /&gt;
* [[#LANGUAGE: フォールバックロケール|LANGUAGE]]&lt;br /&gt;
* {{ic|LC_ADDRESS}}&lt;br /&gt;
* [[#LC_COLLATE: 照合順序|LC_COLLATE]]&lt;br /&gt;
* {{ic|LC_CTYPE}}&lt;br /&gt;
* {{ic|LC_IDENTIFICATION}}&lt;br /&gt;
* {{ic|LC_MEASUREMENT}}&lt;br /&gt;
* {{ic|LC_MESSAGES}}&lt;br /&gt;
* {{ic|LC_MONETARY}}&lt;br /&gt;
* {{ic|LC_NAME}}&lt;br /&gt;
* {{ic|LC_NUMERIC}}&lt;br /&gt;
* {{ic|LC_PAPER}}&lt;br /&gt;
* {{ic|LC_TELEPHONE}}&lt;br /&gt;
* [[#LC_TIME: 日付と時刻の形式|LC_TIME]]&lt;br /&gt;
&lt;br /&gt;
上記の {{ic|LC_*}} 変数の意味は {{man|7|locale}} の man ページに、詳しい説明は {{man|5|locale}} の man ページに存在します。&lt;br /&gt;
&lt;br /&gt;
{{Note|複数の環境変数が設定されている場合の優先順位は [[https://www.gnu.org/software/gettext/manual/gettext.html#Locale-Environment-Variables GNU gettext のドキュメント]]に述べられています。&lt;br /&gt;
&lt;br /&gt;
=== LANG: デフォルトロケール ===&lt;br /&gt;
&lt;br /&gt;
この変数で設定されたロケールは {{ic|LC_*}} 変数全てで使われます (明示的に別のロケールを設定した場合はそちらが優先されます)。&lt;br /&gt;
&lt;br /&gt;
例えば、数値や日付などはスペイン語表記にしつつメッセージを英語で表示するには、{{ic|LANG}} を {{ic|es_ES.UTF-8}} に、{{ic|LC_MESSAGES}} を {{ic|en_US.UTF-8}} に設定します。&lt;br /&gt;
&lt;br /&gt;
=== LANGUAGE: フォールバックロケール ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|gettext}} を使って翻訳されたプログラムは通常の変数に加えて {{Ic|LANGUAGE}} オプションも認識します。ユーザーは [https://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable ロケールの使用順序] を指定することが可能です。もし一番使用したい言語が使えない場合、デフォルトのロケールの代わりに別の似たようなロケールが使われます。例えば、アメリカ流の綴りよりも英国流の綴りを好むオーストラリアのユーザーの場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|locale.conf|2=&lt;br /&gt;
LANG=en_AU.UTF-8&lt;br /&gt;
LANGUAGE=en_AU:en_GB:en&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== LC_TIME: 日付と時刻の形式 ===&lt;br /&gt;
&lt;br /&gt;
例えば {{ic|LC_TIME}} が {{ic|en_US.UTF-8}} に設定されていた場合、日付フォーマットは &amp;quot;MM/DD/YYYY&amp;quot; になります。ISO 8601 の日付フォーマットである &amp;quot;YYYY-MM-DD&amp;quot; を使いたい場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|locale.conf|2=&lt;br /&gt;
LC_TIME=en_DK.UTF-8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|1=プログラムは必ずしも変数によって指定されたフォーマットで日付を表示するとは限りません。例えば {{man|1|date}} は別のパラメータを使って指定するようになっています。また [[Firefox]] 57以降では {{ic|LC_TIME}} が考慮されていません ([https://bugzilla.mozilla.org/show_bug.cgi?id=1429578 Bug 1429578])。}}&lt;br /&gt;
&lt;br /&gt;
=== LC_COLLATE: 照合順序 ===&lt;br /&gt;
&lt;br /&gt;
ソートや正規表現で使われる照合順序を管理する変数です。&lt;br /&gt;
&lt;br /&gt;
例えば値を {{ic|C}} に設定することで &#039;&#039;ls&#039;&#039; コマンドはドットファイルを先に表示して、大文字・小文字のファイル名を後にします:&lt;br /&gt;
&lt;br /&gt;
{{hc|locale.conf|2=&lt;br /&gt;
LC_COLLATE=C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://superuser.com/a/448294/175967] を参照してください。&lt;br /&gt;
&lt;br /&gt;
潜在的な問題を回避するため、Arch では以前 {{ic|/etc/profile}} で {{ic|1=LC_COLLATE=C}} と設定していましたが、現在は使われなくなっています。&lt;br /&gt;
&lt;br /&gt;
=== LC_ALL: トラブルシューティング ===&lt;br /&gt;
&lt;br /&gt;
この変数で設定されたロケールは常に {{ic|LANG}} と他の {{ic|LC_*}} 変数よりも優先して使われます。&lt;br /&gt;
&lt;br /&gt;
{{ic|LC_ALL}} は {{ic|locale.conf}} ファイルで設定できない唯一の {{ic|LC_*}} 変数です。あくまで {{ic|/etc/profile}} などで使うテスト用あるいはトラブルシューティング用の変数です。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== ターミナルが UTF-8 をサポートしていません ===&lt;br /&gt;
&lt;br /&gt;
以下は UTF-8 をサポートしているターミナルのリストです:&lt;br /&gt;
&lt;br /&gt;
* gnustep-terminal&lt;br /&gt;
* konsole&lt;br /&gt;
* [[mlterm]]&lt;br /&gt;
* [[rxvt-unicode]]&lt;br /&gt;
* [[st]]&lt;br /&gt;
* [[termite]]&lt;br /&gt;
* [[アプリケーション一覧/ユーティリティ#VTE ベース|VTE ベースのターミナル]]&lt;br /&gt;
* [[xterm]] - {{ic|-u8}} 引数を使って実行するか [[X resources]] で {{ic|xterm*utf8: 2}} を設定してください。&lt;br /&gt;
&lt;br /&gt;
==== Gnome-terminal や rxvt-unicode ====&lt;br /&gt;
&lt;br /&gt;
UTF-8 のロケールからアプリケーションを起動する必要があり、それ以外のロケールを使用していると UTF-8 のサポートが有効になりません。上で書いているように {{ic|en_US.UTF-8}} ロケール (またはあなたの地域の UTF-8 ロケール) を生成し、デフォルトのロケールとして設定して再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== 設定を変更しても言語が変わらない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|locale.conf}} 以外の他のファイルによって環境変数が再定義されている可能性があります (例: {{ic|~/.pam_environment}})。詳しくは[[環境変数#変数の定義]]を参照してください。&lt;br /&gt;
&lt;br /&gt;
[[GNOME]] などのデスクトップ環境を使用している場合、{{ic|locale.conf}} の設定がデスクトップ環境の言語設定で上書きされることがあります。&lt;br /&gt;
[[KDE]] Plasma も UI の言語を Plsama 側で変更できます。変更後にもデフォルト言語が表示されている場合、[https://bbs.archlinux.org/viewtopic.php?pid=1435219#p1435219] にあるように {{ic|~/.config/plasma-localerc}} を削除すると解決する場合があります。 &lt;br /&gt;
&lt;br /&gt;
[[LightDM]] の場合、ユーザーセッションが記録されるファイル {{ic|~/.dmrc}} から意図しないロケールが読み込まれる可能性があります。 &lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Localization/Guide/ja Gentoo Linux ローカリゼーションガイド]&lt;br /&gt;
* [http://demo.icu-project.org/icu-bin/locexp?_=en_US&amp;amp;x=col ICU&#039;s interactive collation testing]&lt;br /&gt;
* [http://www.openi18n.org/ Free Standards Group Open Internationalisation Initiative]&lt;br /&gt;
* [http://pubs.opengroup.org/onlinepubs/007908799/xbd/locale.html &#039;&#039;The Single UNIX Specification&#039;&#039; definition of Locale] by The Open Group&lt;br /&gt;
* [https://help.ubuntu.com/community/EnvironmentVariables#Locale_setting_variables Locale environment variables]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=22725</id>
		<title>利用者:Blackle0pard</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=22725"/>
		<updated>2021-12-09T01:45:17Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* ArchLinuxの利用環境 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==編集について==&lt;br /&gt;
* ArchWikiに記載されているとおりのコマンド・設定が実機で実行できない場合、内容の確認・編集を実施します。&lt;br /&gt;
* 英語が得意なわけでもなく、スキルが高いわけではないので。自分が気づいた箇所、自分に出来る範囲で取り組みます。&lt;br /&gt;
* 自分の編集箇所に間違い等があれば、指摘頂けると嬉しいです。&lt;br /&gt;
==連絡方法==    &lt;br /&gt;
* Slack(archlinuxjp): blackle0pard  &lt;br /&gt;
* Twitter : [https://twitter.com/blackle0pard_/ @blackle0pard_]&lt;br /&gt;
==ArchLinuxの利用環境==&lt;br /&gt;
* VPS ([https://www.vultr.com/ Vultr])&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=IPv6&amp;diff=19986</id>
		<title>IPv6</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=IPv6&amp;diff=19986"/>
		<updated>2021-05-19T03:42:10Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* 機能を無効にする */ 　英語版wikiに合わせてリンクを追加&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[en:IPv6]]&lt;br /&gt;
[[es:IPv6]]&lt;br /&gt;
[[pt:IPv6]]&lt;br /&gt;
[[ru:IPv6]]&lt;br /&gt;
[[zh-hans:IPv6]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|IPv6 トンネルブローカー設定}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
Arch Linux では、IPv6 はデフォルトで有効になっています。&lt;br /&gt;
&lt;br /&gt;
== 近隣探索 ==&lt;br /&gt;
&lt;br /&gt;
マルチキャストアドレス {{ic|ff02::1}} に ping するとリンクローカルスコープの全てのアドレスが返答します。インターフェイスを指定する必要があります:&lt;br /&gt;
&lt;br /&gt;
 $ ping ff02::1%eth0&lt;br /&gt;
&lt;br /&gt;
以下のコマンドでローカルネットワークの近隣リストを取得できます:&lt;br /&gt;
&lt;br /&gt;
 $ ip -6 neigh&lt;br /&gt;
&lt;br /&gt;
マルチキャストアドレス {{ic|ff02::2}} に ping するとルーターだけが返答します。&lt;br /&gt;
&lt;br /&gt;
{{ic|-I &#039;&#039;your-global-ipv6&#039;&#039;}} オプションを追加すると、リンクローカルホストはリンクグローバルスコープアドレスを返します。この場合はインターフェイスを省略できます:&lt;br /&gt;
&lt;br /&gt;
 $ ping -I 2001:4f8:fff6::21 ff02::1&lt;br /&gt;
&lt;br /&gt;
== ステートレス自動設定 (SLAAC) ==&lt;br /&gt;
&lt;br /&gt;
ネットワークが設定されている場合、IPv6 アドレスを取得する一番簡単な方法は&#039;&#039;ステートレスアドレス自動設定&#039;&#039;になります (略して SLAAC)。ルーターが示すプレフィックスから自動的にアドレスが推測されるため、特別な設定や DHCP クライアントなどのソフトウェアが必要ありません。&lt;br /&gt;
&lt;br /&gt;
=== クライアント ===&lt;br /&gt;
&lt;br /&gt;
[[netctl]] を使っている場合、イーサネットまたはワイヤレス設定に以下の行を追加するだけで使えます。&lt;br /&gt;
&lt;br /&gt;
 IP6=stateless&lt;br /&gt;
&lt;br /&gt;
[[NetworkManager]] を使用している場合、自動的に IPv6 アドレスが有効になります。&lt;br /&gt;
&lt;br /&gt;
ステートレス自動設定は IPv6 の icmp パケットがネットワークを通過できる場合にのみ利用することができるので注意してください。クライアント側から {{ic|ipv6-icmp}} パケットを許可する必要があります。[[シンプルなステートフルファイアウォール]]/[[iptables]] を使っているのであれば次を追加してください:&lt;br /&gt;
&lt;br /&gt;
 -A INPUT -p ipv6-icmp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
他のファイアウォールフロントエンド (ufw, shorewall など) を使っている場合はそれぞれのドキュメントを読んで {{ic|ipv6-icmp}} パケットを有効にしてください。&lt;br /&gt;
&lt;br /&gt;
=== ゲートウェイ ===&lt;br /&gt;
&lt;br /&gt;
ネットワーク上のクライアントに IPv6 を正しく配るためには広告デーモンを使用する必要があります。広告に使われる標準的なツールは {{Pkg|radvd}} で[[公式リポジトリ]]からインストールすることができます。radvd の設定はとてもシンプルです。{{ic|/etc/radvd.conf}} を編集して以下を記述してください:&lt;br /&gt;
&lt;br /&gt;
 # replace LAN with your LAN facing interface&lt;br /&gt;
 interface LAN {&lt;br /&gt;
   AdvSendAdvert on;&lt;br /&gt;
   MinRtrAdvInterval 3;&lt;br /&gt;
   MaxRtrAdvInterval 10;&lt;br /&gt;
   prefix ::/64 {&lt;br /&gt;
     AdvOnLink on;&lt;br /&gt;
     AdvAutonomous on;&lt;br /&gt;
     AdvRouterAddr on;&lt;br /&gt;
   };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
上記の設定は、広告されている /64 ブロックのアドレスを使って自動的に設定するようにクライアントに伝えます。上記の設定では LAN インターフェイスに割り当てられた&#039;&#039;全てのプレフィックス&#039;&#039;を広告することになるので注意してください。広告するプレフィックスを制限したい場合は {{ic|::/64}} の代わりに適当なプレフィックスを使って下さい。例えば {{ic|2001:DB8::/64}}。{{ic|prefix}} ブロックは宣言したいプレフィックスの数だけ繰り返し用いることができます。&lt;br /&gt;
&lt;br /&gt;
ゲートウェイも {{ic|ipv6-icmp}} パケットを全てのチェインで許可する必要があります。[[シンプルなステートフルファイアウォール]]/[[iptables]] を使っている場合は以下を追加:&lt;br /&gt;
&lt;br /&gt;
 -A INPUT -p ipv6-icmp -j ACCEPT&lt;br /&gt;
 -A OUTPUT -p ipv6-icmp -j ACCEPT&lt;br /&gt;
 -A FORWARD -p ipv6-icmp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
他のファイアウォールフロントエンドを使っている場合も適当に設定して、忘れずに {{ic|radvd.service}} を有効にしてください。&lt;br /&gt;
&lt;br /&gt;
== プライバシー拡張 ==&lt;br /&gt;
&lt;br /&gt;
SLAAC を通じてクライアントがアドレスを取得した場合、IPv6 アドレスは宣伝されたプレフィックスとクライアントのネットワークインターフェイスの MAC に由来することになります。そうすると IPv6 アドレスから簡単にコンピューターの MAC アドレスを割り出せてしまうためセキュリティ上の懸念になりかねません。この問題に取り組むために &#039;&#039;IPv6 Privacy Extensions&#039;&#039; ([https://tools.ietf.org/html/rfc4941 RFC 4941]) が開発されました。プライバシー拡張を有効にすると、カーネルは自動設定された元のアドレスからわからなくした&#039;&#039;一時&#039;&#039;アドレスを生成します。リモートサーバーに接続するときはプライベートアドレスが使用されるためオリジナルのアドレスは隠匿されます。プライバシー拡張を有効にするには以下の手順に従って下さい:&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|/etc/sysctl.d/40-ipv6.conf}} に追加:&lt;br /&gt;
&lt;br /&gt;
 # Enable IPv6 Privacy Extensions&lt;br /&gt;
 net.ipv6.conf.all.use_tempaddr = 2&lt;br /&gt;
 net.ipv6.conf.default.use_tempaddr = 2&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nic0&#039;&#039;.use_tempaddr = 2&lt;br /&gt;
 ...&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nicN&#039;&#039;.use_tempaddr = 2&lt;br /&gt;
&lt;br /&gt;
{{ic|nic0}} から {{ic|nicN}} はあなたのネットワークインターフェイスカード (&#039;&#039;&#039;N&#039;&#039;&#039;etwork &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;C&#039;&#039;&#039;ard) に置き換えて下さい。[[ネットワーク#現在のデバイス名を取得]]に書かれているコマンドで確認できます。[[sysctl]] の設定を実行する場合、{{ic|all.use_tempaddr}} や {{ic|default.use_tempaddr}} パラメータは既存の nic には適用されません。&lt;br /&gt;
&lt;br /&gt;
再起動後、Privacy Extensions が有効になります。&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd ===&lt;br /&gt;
&lt;br /&gt;
[[dhcpcd]] のデフォルト設定ファイルには、バージョン 6.4.0 から {{ic|slaac private}} オプションが含まれており、[https://tools.ietf.org/html/rfc7217 RFC 7217] の実装である、&amp;quot;Stable Private IPv6 Addresses instead of hardware based ones&amp;quot; を有効にします ([http://roy.marples.name/projects/dhcpcd/info/8aa9dab00dc72c453aeccbde885ecce27a3d81ff commit])。従って、新しいネットワークに接続するとき以外に IPv6 アドレスに変更するような場合を除いて、何も変更する必要はありません。固定アドレスの場合は {{ic|slaac hwaddr}} に設定してください。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager ===&lt;br /&gt;
&lt;br /&gt;
[[NetworkManager]] には {{ic|/etc/sysctl.d/40-ipv6.conf}} の設定は反映されません。このことは再起動した後に {{ic|$ ip -6 addr show &#039;&#039;interface&#039;&#039;}} を実行することで確認できます: 標準のアドレスの隣に {{ic|scope global &#039;&#039;&#039;temporary&#039;&#039;&#039;}} アドレスは表示されないでしょう。&lt;br /&gt;
&lt;br /&gt;
デフォルトで IPv6 のプライバシー拡張を有効化するには、以下の行を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加してください:&lt;br /&gt;
{{hc|/etc/NetworkManager/NetworkManager.conf|2=&lt;br /&gt;
...&lt;br /&gt;
&#039;&#039;&#039;[connection]&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;ipv6.ip6-privacy=2&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
NetworkManager で管理している接続ごとに IPv6 プライバシー拡張を有効化したいときは、{{ic|/etc/NetworkManager/system-connections/}} にある設定したい接続のキーファイルを編集して、{{ic|[ipv6]}} セクションに {{ic|1=ip6-privacy=2}} という行を追加してください:&lt;br /&gt;
{{hc|/etc/NetworkManager/system-connections/&#039;&#039;example_connection&#039;&#039;|2=&lt;br /&gt;
...&lt;br /&gt;
[ipv6]&lt;br /&gt;
method=auto&lt;br /&gt;
&#039;&#039;&#039;ip6-privacy=2&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|プライバシー拡張を有効にすることで作成される {{ic|scope global temporary}} IPv6 アドレスは更新されることがないように思われますが ({{ic|valid_lft}} の期間で {{ic|deprecated}} 状態に移行することがない)、長い期間でみるとアドレスが変更されることもあるのが確認できます。}}&lt;br /&gt;
&lt;br /&gt;
=== systemd-networkd ===&lt;br /&gt;
&lt;br /&gt;
Systemd-networkd にも {{ic|/etc/sysctl.d/40-ipv6.conf}} に書かれている設定は適用されません。.network ファイルの中で {{ic|IPv6PrivacyExtensions}} オプションの値を {{ic|kernel}} に設定する必要があります。ただし、以下の IPv6 プライバシー拡張の設定は反映されます:&lt;br /&gt;
&lt;br /&gt;
 net.ipv6.conf.xxx.temp_prefered_lft&lt;br /&gt;
 net.ipv6.conf.xxx.temp_valid_lft&lt;br /&gt;
&lt;br /&gt;
詳しくは {{man|5|systemd.network}} を参照。&lt;br /&gt;
&lt;br /&gt;
=== connman ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/var/lib/connman/settings}} の global セクションに以下を追加:&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
 IPv6.privacy=preferred&lt;br /&gt;
&lt;br /&gt;
== 固定アドレス ==&lt;br /&gt;
&lt;br /&gt;
固定アドレスを使うことによって場合によりセキュリティが向上することがあります。例えば、あなたのローカルなルーターが近隣探索や radvd ([http://www.apps.ietf.org/rfc/rfc2461.html RFC 2461]) を使う場合、インターフェイスは MAC アドレスに基づいて自動的に割り当てられます (IPv6 の Stateless Autoconfiguration を使用)。これだと IP アドレスのネットワークが変更されたとしてもシステムを追跡することが出来るため、セキュリティ上あまりよろしくないということがあるでしょう。&lt;br /&gt;
&lt;br /&gt;
[[netctl]] を使って固定 IP アドレスを割り当てるには、{{ic|/etc/netctl/examples/ethernet-static}} のサンプルファイルを見て下さい。以下の行が重要です:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 # For IPv6 static address configuration&lt;br /&gt;
 IP6=static&lt;br /&gt;
 Address6=(&#039;1234:5678:9abc:def::1/64&#039; &#039;1234:3456::123/96&#039;)&lt;br /&gt;
 Routes6=(&#039;abcd::1234&#039;)&lt;br /&gt;
 Gateway6=&#039;1234:0:123::abcd&#039;&lt;br /&gt;
&lt;br /&gt;
== IPv6 と PPPoE ==&lt;br /&gt;
&lt;br /&gt;
PPPoE の標準ツールである {{ic|pppd}} は PPPoE における IPv6 をサポートしています (あなたの ISP とモデムがサポートしている場合)。以下を {{ic|/etc/ppp/pppoe.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 +ipv6&lt;br /&gt;
&lt;br /&gt;
PPPoE に [[netctl]] を使っている場合、netctl の設定に以下を追加してください:&lt;br /&gt;
&lt;br /&gt;
 PPPoEIP6=yes&lt;br /&gt;
&lt;br /&gt;
== プレフィックス委譲 (DHCPv6-PD) ==&lt;br /&gt;
{{Note|このセクションではゲートウェイのカスタム設定について述べており、クライアントのマシンは対象にしていません。市場に出ている標準的なルーターについては、ルーターのドキュメントを読んでプレフィックス委譲を有効にする方法を調べて下さい。}}&lt;br /&gt;
&lt;br /&gt;
プレフィックス委譲は多くの ISP で IPv6 を展開するのに使われている技術です。ネットワークプレフィックスをユーザーサイト (ローカルネットワーク) に割り当てる手法になります。ルーターを設定することでネットワークプレフィックスを様々なサブネットワークに割り当てるができます。ISP は DHCPv6 を使ってネットワークプレフィックスの手綱を握り (大抵は {{ic|/56}} か {{ic|/64}})、dhcp クライアントがプレフィックスをローカルネットワークに割り当てます。インターフェイスが2つのシンプルなゲートウェイの場合、WAN (もしくは ppp などの擬似インターフェイス) に接続されたインターフェイスから取得したアドレスから、ローカルネットワークに接続されたインターフェイスに IPv6 プレフィックスが割り当てられます。&lt;br /&gt;
&lt;br /&gt;
=== dibbler を使う ===&lt;br /&gt;
&lt;br /&gt;
[http://klub.com.pl/dhcpv6/ Dibbler] はポータブルな DHCPv6 クライアントであり、プレフィックス委譲に使うことができます。[[AUR]] の {{AUR|dibbler}} でインストール可能です。&lt;br /&gt;
&lt;br /&gt;
{{ic|dibbler}} を使用する場合、{{ic|/etc/dibbler/client.conf}} を編集して下さい:&lt;br /&gt;
&lt;br /&gt;
 log-mode short&lt;br /&gt;
 log-level 7&lt;br /&gt;
 # use the interface connected to your WAN&lt;br /&gt;
 iface &amp;quot;WAN&amp;quot; {&lt;br /&gt;
   ia&lt;br /&gt;
   pd&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
{{Tip|詳しくは {{ic|dibbler-client(8)}} の man ページを見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd を使う ===&lt;br /&gt;
&lt;br /&gt;
[[Dhcpcd]] は IPv4 の dhcp サポートの他に、DHCPv6 クライアントのほぼ完全な実装も備えており、DHCPv6-PD も含まれています。{{ic|dhcpcd}} を使用する場合 {{ic|/etc/dhcpcd.conf}} を編集して下さい。IPv4 で既に dhcpcd を使っている場合は既存の設定を上書きしてください。&lt;br /&gt;
&lt;br /&gt;
 duid&lt;br /&gt;
 noipv6rs&lt;br /&gt;
 waitip 6&lt;br /&gt;
 # Uncomment this line if you are running dhcpcd for IPv6 only.&lt;br /&gt;
 #ipv6only&lt;br /&gt;
 &lt;br /&gt;
 # use the interface connected to WAN&lt;br /&gt;
 interface WAN&lt;br /&gt;
 ipv6rs&lt;br /&gt;
 iaid 1&lt;br /&gt;
 # use the interface connected to your LAN&lt;br /&gt;
 ia_pd 1 LAN&lt;br /&gt;
 #ia_pd 1/::/64 LAN/0/64&lt;br /&gt;
&lt;br /&gt;
この設定は WAN インターフェイス ({{ic|WAN}}) からプレフィックスを要求して内部インターフェイス ({{ic|LAN}}) に委譲します。{{ic|/64}} が発行される場合、コメントアウトされている {{ic|ia_pd instruction}} を使う必要があります。また、WAN インターフェイス ({{ic|WAN}}) 以外の全てのインターフェイスでルーター要請は無効になります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{man|8|dhcpcd}} と {{man|5|dhcpcd.conf}} の man ページも参照。}}&lt;br /&gt;
&lt;br /&gt;
=== WIDE-DHCPv6 を使う ===&lt;br /&gt;
&lt;br /&gt;
[http://wide-dhcpv6.sourceforge.net/ WIDE-DHCPv6] は Dynamic Host Configuration Protocol for IPv6 (DHCPv6) のオープンソース実装で、KAME プロジェクトによって開発されました。[[AUR]] の {{AUR|wide-dhcpv6}} からインストール可能です。&lt;br /&gt;
&lt;br /&gt;
{{ic|wide-dhcpv6}} を使用する場合 {{ic|/etc/wide-dhcpv6/dhcp6c.conf}} を編集して下さい:&lt;br /&gt;
&lt;br /&gt;
 # use the interface connected to your WAN&lt;br /&gt;
 interface WAN {&lt;br /&gt;
   send ia-pd 0;&lt;br /&gt;
 };&lt;br /&gt;
  &lt;br /&gt;
 id-assoc pd 0 {&lt;br /&gt;
   # use the interface connected to your LAN&lt;br /&gt;
   prefix-interface LAN {&lt;br /&gt;
     sla-id 1;&lt;br /&gt;
     sla-len 8;&lt;br /&gt;
   };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
{{Note|1={{ic|sla-len}} は {{ic|1=(WAN-prefix) + (sla-len) = 64}} となるように設定してください。上記の場合 {{ic|/56}} プレフィックス用に設定されています (56+8=64)。{{ic|/64}} プレフィックスの場合 {{ic|sla-len}} は {{ic|0}} になります。}}&lt;br /&gt;
&lt;br /&gt;
wide-dhcpv6 クライアントを起動・有効化するには以下のコマンドを使います。{{ic|WAN}} は WAN に接続しているインターフェイスに置き換えてください:&lt;br /&gt;
 # systemctl enable/start dhcp6c@WAN.service&lt;br /&gt;
&lt;br /&gt;
{{Tip|詳しくは {{ic|dhcp6c(8)}} と {{ic|dhcp6c.conf(5)}} の man ページを読んで下さい。}}&lt;br /&gt;
&lt;br /&gt;
== Comcast の IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Motorola SURFBoard 6141 や Realtek RTL8168d/8111d で {{ic|dhcpcd -4}} や {{ic|dhcpcd -6}} が機能することを確認しています。どちらか片方なら動作しますが、両方のプロトコルとアドレスを単一のインターフェイスで使用するデュアルスタックは上手くいきません ({{ic|-4}} を先に実行した場合、たとえインターフェイスをリセットしたとしても、{{ic|-6}} コマンドが機能しなくなります。コマンドを実行したとき、NIC には /128 アドレスが付与されます)。以下のコマンドを試してください:&lt;br /&gt;
&lt;br /&gt;
 # dhclient -4 enp3s0&lt;br /&gt;
 # dhclient -P -v enp3s0&lt;br /&gt;
&lt;br /&gt;
{{ic|-P}} 引数は IPv6 プレフィックスのリースだけを取得します。{{ic|-v}} は {{ic|stdout}} に書き込みを行います。{{ic|/var/lib/dhclient/dhclient6.leases}} にも書き込みが行われます:&lt;br /&gt;
&lt;br /&gt;
 Bound to *:546&lt;br /&gt;
 Listening on Socket/enp3s0&lt;br /&gt;
 Sending on   Socket/enp3s0&lt;br /&gt;
 PRC: Confirming active lease (INIT-REBOOT).&lt;br /&gt;
 XMT: Forming Rebind, 0 ms elapsed.&lt;br /&gt;
 XMT:  X-- IA_PD a1:b2:cd:e2&lt;br /&gt;
 XMT:  | X-- Requested renew  +3600&lt;br /&gt;
 XMT:  | X-- Requested rebind +5400&lt;br /&gt;
 XMT:  | | X-- &#039;&#039;&#039;IAPREFIX 1234:5:6700:890::/64&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|IAPREFIX}} は必須の値です。CIDR スラッシュの前の {{ic|::1}} を置き換えてプレフィックスを実際のアドレスにしてください:&lt;br /&gt;
&lt;br /&gt;
 # ip -6 addr add 1234:5:6700:890::1/64 dev enp3s0&lt;br /&gt;
&lt;br /&gt;
== IPv6 の無効化 ==&lt;br /&gt;
&lt;br /&gt;
{{Note|Arch カーネルは直接 IPv6 をサポートしてるため、モジュールをブラックリスト化することはできません。}}&lt;br /&gt;
&lt;br /&gt;
=== 機能を無効にする ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|IPv6 スタックを無効化すると特定のプログラムが動作しなくなってしまう可能性があります: {{bug|46297}}。}}&lt;br /&gt;
&lt;br /&gt;
カーネル行に {{ic|1=ipv6.disable=1}} を追加すると IPv6 スタック全体が無効化されるので、問題が発生している場合の対処法として使うことができます。詳しくは[[カーネルパラメータ]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
もしくは、{{ic|1=ipv6.disable_ipv6=1}} を追加すると IPv6 スタックの機能は維持されつつも、どのネットワークデバイスにも IPv6 アドレスが割り当てられなくなります。&lt;br /&gt;
&lt;br /&gt;
以下の sysctl 設定を {{ic|/etc/sysctl.d/40-ipv6.conf}} に追加することで、特定のネットワークインターフェイスへの IPv6 アドレスの割り当てを止めさせることも可能です:&lt;br /&gt;
&lt;br /&gt;
 # Disable IPv6&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nic0&#039;&#039;.disable_ipv6 = 1&lt;br /&gt;
 ...&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nicN&#039;&#039;.disable_ipv6 = 1&lt;br /&gt;
&lt;br /&gt;
設定を反映させるためには、{{ic|systemd-sysctl.service}}を[https://wiki.archlinux.jp/index.php/Systemd#.E3.83.A6.E3.83.8B.E3.83.83.E3.83.88.E3.82.92.E4.BD.BF.E3.81.86 再起動]します。 &lt;br /&gt;
&lt;br /&gt;
{{bc|# systemctl restart systemd-sysctl.service}}&lt;br /&gt;
&lt;br /&gt;
無効にするインターフェイスはちゃんと全て確認してください。sysctl の設定を適用する場合、{{ic|all.disable_ipv6}} の無効化は既に立ち上がっているインターフェイスには適用されないためです。&lt;br /&gt;
&lt;br /&gt;
また、sysctl で IPv6 を無効化するときは、{{ic|/etc/hosts}} の IPv6 ホストをコメントアウトしたほうが良いでしょう:&lt;br /&gt;
&lt;br /&gt;
 #&amp;lt;ip-address&amp;gt; &amp;lt;hostname.domain.org&amp;gt; &amp;lt;hostname&amp;gt;&lt;br /&gt;
 127.0.0.1 localhost.localdomain localhost&lt;br /&gt;
 #::1 localhost.localdomain localhost&lt;br /&gt;
&lt;br /&gt;
コメントアウトしておかないと、利用できない IPv6 アドレスでホストが解決されて接続エラーが起こる可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 他のプログラム ===&lt;br /&gt;
&lt;br /&gt;
カーネルの IPv6 機能を無効化しても他のプログラムが IPv6 を使用するのを止めることはできません。ほとんどの場合、止めなくても全く問題ありませんが、プログラムに何か問題が発生するようでしたら、プログラムのマニュアルページを読んでプログラムが IPv6 を使用しないように設定してください。&lt;br /&gt;
&lt;br /&gt;
==== dhcpcd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dhcpcd&#039;&#039; は (無害ですが) IPv6 のルーター要請を送信し続けます。これを無効にするには、{{man|5|dhcpcd.conf}} [[man ページ]]に書かれているように、以下を {{ic|/etc/dhcpcd.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 noipv6rs&lt;br /&gt;
 noipv6&lt;br /&gt;
&lt;br /&gt;
==== NetworkManager ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager で IPv6 を無効化するには、ネットワークの状態アイコンを右クリックして、&#039;&#039;Edit Connections &amp;gt; Wired &amp;gt; &#039;&#039;Network name&#039;&#039; &amp;gt; Edit &amp;gt; IPv6 Settings &amp;gt; Method &amp;gt; Ignore/Disabled&#039;&#039; を選択してください。&lt;br /&gt;
&lt;br /&gt;
そして &amp;quot;Save&amp;quot; をクリックします。&lt;br /&gt;
&lt;br /&gt;
==== ntpd ====&lt;br /&gt;
&lt;br /&gt;
[[Systemd#ドロップインファイル]] に書いてあるように、systemd が {{ic|ntpd.service}} を起動する方法を変更します:&lt;br /&gt;
&lt;br /&gt;
 # systemctl edit ntpd.service&lt;br /&gt;
&lt;br /&gt;
ドロップインファイルが作成されデフォルトの {{ic|ntpd.service}} の代わりに実行されます。{{ic|-4}} フラグは ntp デーモンによって IPv6 が使われるのを防ぎます。以下をドロップインファイルに記述してください:&lt;br /&gt;
&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/bin/ntpd -4 -g -u ntp:ntp&lt;br /&gt;
&lt;br /&gt;
最初に {{ic|ExecStart}} を消去して、次に {{ic|-4}} フラグを使って置き換えます。&lt;br /&gt;
&lt;br /&gt;
==== systemd-networkd ====&lt;br /&gt;
&lt;br /&gt;
[[networkd]] ではインターフェイスごとに IPv6 を無効化できます。ネットワークユニットの {{ic|[Network]}} セクションに {{ic|1=LinkLocalAddressing=ipv4}} または {{ic|1=LinkLocalAddressing=no}} が指定されている場合、networkd はマッチするインターフェイスで IPv6 を設定しません。&lt;br /&gt;
&lt;br /&gt;
ただし、上記のオプションを使用している場合でも、IPv6 がシステム全体で無効化されていないとき networkd はルーター広告を受け取ることを期待します。(sysctl や ip6tables の設定によって) インターフェイスに IPv6 のトラフィックが来ないと、インターフェイスは設定中状態で待機し続け、ネットワークが完全に設定されるまで待機するサービスがタイムアウトしてしまう可能性があります。この問題を回避するには、{{ic|[Network]}} セクションに {{ic|1=IPv6AcceptRA=no}} オプションも設定してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.kernel.org/doc/Documentation/networking/ipv6.txt IPv6] - kernel.org ドキュメント&lt;br /&gt;
* [http://www.ipsidixit.net/2012/08/09/ipv6-temporary-addresses-and-privacy-extensions/ IPv6 temporary addresses] - 一時アドレスとプライバシー拡張についての概要&lt;br /&gt;
* [http://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch03s02.html IPv6 prefixes] - プリフィックスタイプの概要&lt;br /&gt;
* [http://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch11s02.html net.ipv6 options] - カーネルパラメータのドキュメント&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=IPv6&amp;diff=19985</id>
		<title>IPv6</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=IPv6&amp;diff=19985"/>
		<updated>2021-05-19T03:30:06Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* 機能を無効にする */ 　設定反映の手順を追加(英語版を参照)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ネットワーク]]&lt;br /&gt;
[[en:IPv6]]&lt;br /&gt;
[[es:IPv6]]&lt;br /&gt;
[[pt:IPv6]]&lt;br /&gt;
[[ru:IPv6]]&lt;br /&gt;
[[zh-hans:IPv6]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|IPv6 トンネルブローカー設定}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
Arch Linux では、IPv6 はデフォルトで有効になっています。&lt;br /&gt;
&lt;br /&gt;
== 近隣探索 ==&lt;br /&gt;
&lt;br /&gt;
マルチキャストアドレス {{ic|ff02::1}} に ping するとリンクローカルスコープの全てのアドレスが返答します。インターフェイスを指定する必要があります:&lt;br /&gt;
&lt;br /&gt;
 $ ping ff02::1%eth0&lt;br /&gt;
&lt;br /&gt;
以下のコマンドでローカルネットワークの近隣リストを取得できます:&lt;br /&gt;
&lt;br /&gt;
 $ ip -6 neigh&lt;br /&gt;
&lt;br /&gt;
マルチキャストアドレス {{ic|ff02::2}} に ping するとルーターだけが返答します。&lt;br /&gt;
&lt;br /&gt;
{{ic|-I &#039;&#039;your-global-ipv6&#039;&#039;}} オプションを追加すると、リンクローカルホストはリンクグローバルスコープアドレスを返します。この場合はインターフェイスを省略できます:&lt;br /&gt;
&lt;br /&gt;
 $ ping -I 2001:4f8:fff6::21 ff02::1&lt;br /&gt;
&lt;br /&gt;
== ステートレス自動設定 (SLAAC) ==&lt;br /&gt;
&lt;br /&gt;
ネットワークが設定されている場合、IPv6 アドレスを取得する一番簡単な方法は&#039;&#039;ステートレスアドレス自動設定&#039;&#039;になります (略して SLAAC)。ルーターが示すプレフィックスから自動的にアドレスが推測されるため、特別な設定や DHCP クライアントなどのソフトウェアが必要ありません。&lt;br /&gt;
&lt;br /&gt;
=== クライアント ===&lt;br /&gt;
&lt;br /&gt;
[[netctl]] を使っている場合、イーサネットまたはワイヤレス設定に以下の行を追加するだけで使えます。&lt;br /&gt;
&lt;br /&gt;
 IP6=stateless&lt;br /&gt;
&lt;br /&gt;
[[NetworkManager]] を使用している場合、自動的に IPv6 アドレスが有効になります。&lt;br /&gt;
&lt;br /&gt;
ステートレス自動設定は IPv6 の icmp パケットがネットワークを通過できる場合にのみ利用することができるので注意してください。クライアント側から {{ic|ipv6-icmp}} パケットを許可する必要があります。[[シンプルなステートフルファイアウォール]]/[[iptables]] を使っているのであれば次を追加してください:&lt;br /&gt;
&lt;br /&gt;
 -A INPUT -p ipv6-icmp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
他のファイアウォールフロントエンド (ufw, shorewall など) を使っている場合はそれぞれのドキュメントを読んで {{ic|ipv6-icmp}} パケットを有効にしてください。&lt;br /&gt;
&lt;br /&gt;
=== ゲートウェイ ===&lt;br /&gt;
&lt;br /&gt;
ネットワーク上のクライアントに IPv6 を正しく配るためには広告デーモンを使用する必要があります。広告に使われる標準的なツールは {{Pkg|radvd}} で[[公式リポジトリ]]からインストールすることができます。radvd の設定はとてもシンプルです。{{ic|/etc/radvd.conf}} を編集して以下を記述してください:&lt;br /&gt;
&lt;br /&gt;
 # replace LAN with your LAN facing interface&lt;br /&gt;
 interface LAN {&lt;br /&gt;
   AdvSendAdvert on;&lt;br /&gt;
   MinRtrAdvInterval 3;&lt;br /&gt;
   MaxRtrAdvInterval 10;&lt;br /&gt;
   prefix ::/64 {&lt;br /&gt;
     AdvOnLink on;&lt;br /&gt;
     AdvAutonomous on;&lt;br /&gt;
     AdvRouterAddr on;&lt;br /&gt;
   };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
上記の設定は、広告されている /64 ブロックのアドレスを使って自動的に設定するようにクライアントに伝えます。上記の設定では LAN インターフェイスに割り当てられた&#039;&#039;全てのプレフィックス&#039;&#039;を広告することになるので注意してください。広告するプレフィックスを制限したい場合は {{ic|::/64}} の代わりに適当なプレフィックスを使って下さい。例えば {{ic|2001:DB8::/64}}。{{ic|prefix}} ブロックは宣言したいプレフィックスの数だけ繰り返し用いることができます。&lt;br /&gt;
&lt;br /&gt;
ゲートウェイも {{ic|ipv6-icmp}} パケットを全てのチェインで許可する必要があります。[[シンプルなステートフルファイアウォール]]/[[iptables]] を使っている場合は以下を追加:&lt;br /&gt;
&lt;br /&gt;
 -A INPUT -p ipv6-icmp -j ACCEPT&lt;br /&gt;
 -A OUTPUT -p ipv6-icmp -j ACCEPT&lt;br /&gt;
 -A FORWARD -p ipv6-icmp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
他のファイアウォールフロントエンドを使っている場合も適当に設定して、忘れずに {{ic|radvd.service}} を有効にしてください。&lt;br /&gt;
&lt;br /&gt;
== プライバシー拡張 ==&lt;br /&gt;
&lt;br /&gt;
SLAAC を通じてクライアントがアドレスを取得した場合、IPv6 アドレスは宣伝されたプレフィックスとクライアントのネットワークインターフェイスの MAC に由来することになります。そうすると IPv6 アドレスから簡単にコンピューターの MAC アドレスを割り出せてしまうためセキュリティ上の懸念になりかねません。この問題に取り組むために &#039;&#039;IPv6 Privacy Extensions&#039;&#039; ([https://tools.ietf.org/html/rfc4941 RFC 4941]) が開発されました。プライバシー拡張を有効にすると、カーネルは自動設定された元のアドレスからわからなくした&#039;&#039;一時&#039;&#039;アドレスを生成します。リモートサーバーに接続するときはプライベートアドレスが使用されるためオリジナルのアドレスは隠匿されます。プライバシー拡張を有効にするには以下の手順に従って下さい:&lt;br /&gt;
&lt;br /&gt;
以下の行を {{ic|/etc/sysctl.d/40-ipv6.conf}} に追加:&lt;br /&gt;
&lt;br /&gt;
 # Enable IPv6 Privacy Extensions&lt;br /&gt;
 net.ipv6.conf.all.use_tempaddr = 2&lt;br /&gt;
 net.ipv6.conf.default.use_tempaddr = 2&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nic0&#039;&#039;.use_tempaddr = 2&lt;br /&gt;
 ...&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nicN&#039;&#039;.use_tempaddr = 2&lt;br /&gt;
&lt;br /&gt;
{{ic|nic0}} から {{ic|nicN}} はあなたのネットワークインターフェイスカード (&#039;&#039;&#039;N&#039;&#039;&#039;etwork &#039;&#039;&#039;I&#039;&#039;&#039;nterface &#039;&#039;&#039;C&#039;&#039;&#039;ard) に置き換えて下さい。[[ネットワーク#現在のデバイス名を取得]]に書かれているコマンドで確認できます。[[sysctl]] の設定を実行する場合、{{ic|all.use_tempaddr}} や {{ic|default.use_tempaddr}} パラメータは既存の nic には適用されません。&lt;br /&gt;
&lt;br /&gt;
再起動後、Privacy Extensions が有効になります。&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd ===&lt;br /&gt;
&lt;br /&gt;
[[dhcpcd]] のデフォルト設定ファイルには、バージョン 6.4.0 から {{ic|slaac private}} オプションが含まれており、[https://tools.ietf.org/html/rfc7217 RFC 7217] の実装である、&amp;quot;Stable Private IPv6 Addresses instead of hardware based ones&amp;quot; を有効にします ([http://roy.marples.name/projects/dhcpcd/info/8aa9dab00dc72c453aeccbde885ecce27a3d81ff commit])。従って、新しいネットワークに接続するとき以外に IPv6 アドレスに変更するような場合を除いて、何も変更する必要はありません。固定アドレスの場合は {{ic|slaac hwaddr}} に設定してください。&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager ===&lt;br /&gt;
&lt;br /&gt;
[[NetworkManager]] には {{ic|/etc/sysctl.d/40-ipv6.conf}} の設定は反映されません。このことは再起動した後に {{ic|$ ip -6 addr show &#039;&#039;interface&#039;&#039;}} を実行することで確認できます: 標準のアドレスの隣に {{ic|scope global &#039;&#039;&#039;temporary&#039;&#039;&#039;}} アドレスは表示されないでしょう。&lt;br /&gt;
&lt;br /&gt;
デフォルトで IPv6 のプライバシー拡張を有効化するには、以下の行を {{ic|/etc/NetworkManager/NetworkManager.conf}} に追加してください:&lt;br /&gt;
{{hc|/etc/NetworkManager/NetworkManager.conf|2=&lt;br /&gt;
...&lt;br /&gt;
&#039;&#039;&#039;[connection]&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;ipv6.ip6-privacy=2&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
NetworkManager で管理している接続ごとに IPv6 プライバシー拡張を有効化したいときは、{{ic|/etc/NetworkManager/system-connections/}} にある設定したい接続のキーファイルを編集して、{{ic|[ipv6]}} セクションに {{ic|1=ip6-privacy=2}} という行を追加してください:&lt;br /&gt;
{{hc|/etc/NetworkManager/system-connections/&#039;&#039;example_connection&#039;&#039;|2=&lt;br /&gt;
...&lt;br /&gt;
[ipv6]&lt;br /&gt;
method=auto&lt;br /&gt;
&#039;&#039;&#039;ip6-privacy=2&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|プライバシー拡張を有効にすることで作成される {{ic|scope global temporary}} IPv6 アドレスは更新されることがないように思われますが ({{ic|valid_lft}} の期間で {{ic|deprecated}} 状態に移行することがない)、長い期間でみるとアドレスが変更されることもあるのが確認できます。}}&lt;br /&gt;
&lt;br /&gt;
=== systemd-networkd ===&lt;br /&gt;
&lt;br /&gt;
Systemd-networkd にも {{ic|/etc/sysctl.d/40-ipv6.conf}} に書かれている設定は適用されません。.network ファイルの中で {{ic|IPv6PrivacyExtensions}} オプションの値を {{ic|kernel}} に設定する必要があります。ただし、以下の IPv6 プライバシー拡張の設定は反映されます:&lt;br /&gt;
&lt;br /&gt;
 net.ipv6.conf.xxx.temp_prefered_lft&lt;br /&gt;
 net.ipv6.conf.xxx.temp_valid_lft&lt;br /&gt;
&lt;br /&gt;
詳しくは {{man|5|systemd.network}} を参照。&lt;br /&gt;
&lt;br /&gt;
=== connman ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/var/lib/connman/settings}} の global セクションに以下を追加:&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
 IPv6.privacy=preferred&lt;br /&gt;
&lt;br /&gt;
== 固定アドレス ==&lt;br /&gt;
&lt;br /&gt;
固定アドレスを使うことによって場合によりセキュリティが向上することがあります。例えば、あなたのローカルなルーターが近隣探索や radvd ([http://www.apps.ietf.org/rfc/rfc2461.html RFC 2461]) を使う場合、インターフェイスは MAC アドレスに基づいて自動的に割り当てられます (IPv6 の Stateless Autoconfiguration を使用)。これだと IP アドレスのネットワークが変更されたとしてもシステムを追跡することが出来るため、セキュリティ上あまりよろしくないということがあるでしょう。&lt;br /&gt;
&lt;br /&gt;
[[netctl]] を使って固定 IP アドレスを割り当てるには、{{ic|/etc/netctl/examples/ethernet-static}} のサンプルファイルを見て下さい。以下の行が重要です:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 # For IPv6 static address configuration&lt;br /&gt;
 IP6=static&lt;br /&gt;
 Address6=(&#039;1234:5678:9abc:def::1/64&#039; &#039;1234:3456::123/96&#039;)&lt;br /&gt;
 Routes6=(&#039;abcd::1234&#039;)&lt;br /&gt;
 Gateway6=&#039;1234:0:123::abcd&#039;&lt;br /&gt;
&lt;br /&gt;
== IPv6 と PPPoE ==&lt;br /&gt;
&lt;br /&gt;
PPPoE の標準ツールである {{ic|pppd}} は PPPoE における IPv6 をサポートしています (あなたの ISP とモデムがサポートしている場合)。以下を {{ic|/etc/ppp/pppoe.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 +ipv6&lt;br /&gt;
&lt;br /&gt;
PPPoE に [[netctl]] を使っている場合、netctl の設定に以下を追加してください:&lt;br /&gt;
&lt;br /&gt;
 PPPoEIP6=yes&lt;br /&gt;
&lt;br /&gt;
== プレフィックス委譲 (DHCPv6-PD) ==&lt;br /&gt;
{{Note|このセクションではゲートウェイのカスタム設定について述べており、クライアントのマシンは対象にしていません。市場に出ている標準的なルーターについては、ルーターのドキュメントを読んでプレフィックス委譲を有効にする方法を調べて下さい。}}&lt;br /&gt;
&lt;br /&gt;
プレフィックス委譲は多くの ISP で IPv6 を展開するのに使われている技術です。ネットワークプレフィックスをユーザーサイト (ローカルネットワーク) に割り当てる手法になります。ルーターを設定することでネットワークプレフィックスを様々なサブネットワークに割り当てるができます。ISP は DHCPv6 を使ってネットワークプレフィックスの手綱を握り (大抵は {{ic|/56}} か {{ic|/64}})、dhcp クライアントがプレフィックスをローカルネットワークに割り当てます。インターフェイスが2つのシンプルなゲートウェイの場合、WAN (もしくは ppp などの擬似インターフェイス) に接続されたインターフェイスから取得したアドレスから、ローカルネットワークに接続されたインターフェイスに IPv6 プレフィックスが割り当てられます。&lt;br /&gt;
&lt;br /&gt;
=== dibbler を使う ===&lt;br /&gt;
&lt;br /&gt;
[http://klub.com.pl/dhcpv6/ Dibbler] はポータブルな DHCPv6 クライアントであり、プレフィックス委譲に使うことができます。[[AUR]] の {{AUR|dibbler}} でインストール可能です。&lt;br /&gt;
&lt;br /&gt;
{{ic|dibbler}} を使用する場合、{{ic|/etc/dibbler/client.conf}} を編集して下さい:&lt;br /&gt;
&lt;br /&gt;
 log-mode short&lt;br /&gt;
 log-level 7&lt;br /&gt;
 # use the interface connected to your WAN&lt;br /&gt;
 iface &amp;quot;WAN&amp;quot; {&lt;br /&gt;
   ia&lt;br /&gt;
   pd&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
{{Tip|詳しくは {{ic|dibbler-client(8)}} の man ページを見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
=== dhcpcd を使う ===&lt;br /&gt;
&lt;br /&gt;
[[Dhcpcd]] は IPv4 の dhcp サポートの他に、DHCPv6 クライアントのほぼ完全な実装も備えており、DHCPv6-PD も含まれています。{{ic|dhcpcd}} を使用する場合 {{ic|/etc/dhcpcd.conf}} を編集して下さい。IPv4 で既に dhcpcd を使っている場合は既存の設定を上書きしてください。&lt;br /&gt;
&lt;br /&gt;
 duid&lt;br /&gt;
 noipv6rs&lt;br /&gt;
 waitip 6&lt;br /&gt;
 # Uncomment this line if you are running dhcpcd for IPv6 only.&lt;br /&gt;
 #ipv6only&lt;br /&gt;
 &lt;br /&gt;
 # use the interface connected to WAN&lt;br /&gt;
 interface WAN&lt;br /&gt;
 ipv6rs&lt;br /&gt;
 iaid 1&lt;br /&gt;
 # use the interface connected to your LAN&lt;br /&gt;
 ia_pd 1 LAN&lt;br /&gt;
 #ia_pd 1/::/64 LAN/0/64&lt;br /&gt;
&lt;br /&gt;
この設定は WAN インターフェイス ({{ic|WAN}}) からプレフィックスを要求して内部インターフェイス ({{ic|LAN}}) に委譲します。{{ic|/64}} が発行される場合、コメントアウトされている {{ic|ia_pd instruction}} を使う必要があります。また、WAN インターフェイス ({{ic|WAN}}) 以外の全てのインターフェイスでルーター要請は無効になります。&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{man|8|dhcpcd}} と {{man|5|dhcpcd.conf}} の man ページも参照。}}&lt;br /&gt;
&lt;br /&gt;
=== WIDE-DHCPv6 を使う ===&lt;br /&gt;
&lt;br /&gt;
[http://wide-dhcpv6.sourceforge.net/ WIDE-DHCPv6] は Dynamic Host Configuration Protocol for IPv6 (DHCPv6) のオープンソース実装で、KAME プロジェクトによって開発されました。[[AUR]] の {{AUR|wide-dhcpv6}} からインストール可能です。&lt;br /&gt;
&lt;br /&gt;
{{ic|wide-dhcpv6}} を使用する場合 {{ic|/etc/wide-dhcpv6/dhcp6c.conf}} を編集して下さい:&lt;br /&gt;
&lt;br /&gt;
 # use the interface connected to your WAN&lt;br /&gt;
 interface WAN {&lt;br /&gt;
   send ia-pd 0;&lt;br /&gt;
 };&lt;br /&gt;
  &lt;br /&gt;
 id-assoc pd 0 {&lt;br /&gt;
   # use the interface connected to your LAN&lt;br /&gt;
   prefix-interface LAN {&lt;br /&gt;
     sla-id 1;&lt;br /&gt;
     sla-len 8;&lt;br /&gt;
   };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
{{Note|1={{ic|sla-len}} は {{ic|1=(WAN-prefix) + (sla-len) = 64}} となるように設定してください。上記の場合 {{ic|/56}} プレフィックス用に設定されています (56+8=64)。{{ic|/64}} プレフィックスの場合 {{ic|sla-len}} は {{ic|0}} になります。}}&lt;br /&gt;
&lt;br /&gt;
wide-dhcpv6 クライアントを起動・有効化するには以下のコマンドを使います。{{ic|WAN}} は WAN に接続しているインターフェイスに置き換えてください:&lt;br /&gt;
 # systemctl enable/start dhcp6c@WAN.service&lt;br /&gt;
&lt;br /&gt;
{{Tip|詳しくは {{ic|dhcp6c(8)}} と {{ic|dhcp6c.conf(5)}} の man ページを読んで下さい。}}&lt;br /&gt;
&lt;br /&gt;
== Comcast の IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Motorola SURFBoard 6141 や Realtek RTL8168d/8111d で {{ic|dhcpcd -4}} や {{ic|dhcpcd -6}} が機能することを確認しています。どちらか片方なら動作しますが、両方のプロトコルとアドレスを単一のインターフェイスで使用するデュアルスタックは上手くいきません ({{ic|-4}} を先に実行した場合、たとえインターフェイスをリセットしたとしても、{{ic|-6}} コマンドが機能しなくなります。コマンドを実行したとき、NIC には /128 アドレスが付与されます)。以下のコマンドを試してください:&lt;br /&gt;
&lt;br /&gt;
 # dhclient -4 enp3s0&lt;br /&gt;
 # dhclient -P -v enp3s0&lt;br /&gt;
&lt;br /&gt;
{{ic|-P}} 引数は IPv6 プレフィックスのリースだけを取得します。{{ic|-v}} は {{ic|stdout}} に書き込みを行います。{{ic|/var/lib/dhclient/dhclient6.leases}} にも書き込みが行われます:&lt;br /&gt;
&lt;br /&gt;
 Bound to *:546&lt;br /&gt;
 Listening on Socket/enp3s0&lt;br /&gt;
 Sending on   Socket/enp3s0&lt;br /&gt;
 PRC: Confirming active lease (INIT-REBOOT).&lt;br /&gt;
 XMT: Forming Rebind, 0 ms elapsed.&lt;br /&gt;
 XMT:  X-- IA_PD a1:b2:cd:e2&lt;br /&gt;
 XMT:  | X-- Requested renew  +3600&lt;br /&gt;
 XMT:  | X-- Requested rebind +5400&lt;br /&gt;
 XMT:  | | X-- &#039;&#039;&#039;IAPREFIX 1234:5:6700:890::/64&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|IAPREFIX}} は必須の値です。CIDR スラッシュの前の {{ic|::1}} を置き換えてプレフィックスを実際のアドレスにしてください:&lt;br /&gt;
&lt;br /&gt;
 # ip -6 addr add 1234:5:6700:890::1/64 dev enp3s0&lt;br /&gt;
&lt;br /&gt;
== IPv6 の無効化 ==&lt;br /&gt;
&lt;br /&gt;
{{Note|Arch カーネルは直接 IPv6 をサポートしてるため、モジュールをブラックリスト化することはできません。}}&lt;br /&gt;
&lt;br /&gt;
=== 機能を無効にする ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|IPv6 スタックを無効化すると特定のプログラムが動作しなくなってしまう可能性があります: {{bug|46297}}。}}&lt;br /&gt;
&lt;br /&gt;
カーネル行に {{ic|1=ipv6.disable=1}} を追加すると IPv6 スタック全体が無効化されるので、問題が発生している場合の対処法として使うことができます。詳しくは[[カーネルパラメータ]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
もしくは、{{ic|1=ipv6.disable_ipv6=1}} を追加すると IPv6 スタックの機能は維持されつつも、どのネットワークデバイスにも IPv6 アドレスが割り当てられなくなります。&lt;br /&gt;
&lt;br /&gt;
以下の sysctl 設定を {{ic|/etc/sysctl.d/40-ipv6.conf}} に追加することで、特定のネットワークインターフェイスへの IPv6 アドレスの割り当てを止めさせることも可能です:&lt;br /&gt;
&lt;br /&gt;
 # Disable IPv6&lt;br /&gt;
 net.ipv6.conf.all.disable_ipv6 = 1&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nic0&#039;&#039;.disable_ipv6 = 1&lt;br /&gt;
 ...&lt;br /&gt;
 net.ipv6.conf.&#039;&#039;nicN&#039;&#039;.disable_ipv6 = 1&lt;br /&gt;
&lt;br /&gt;
設定を反映させるためには、{{ic|systemd-sysctl.service}}を再起動します。 &lt;br /&gt;
&lt;br /&gt;
{{bc|# systemctl restart systemd-sysctl.service}}&lt;br /&gt;
&lt;br /&gt;
無効にするインターフェイスはちゃんと全て確認してください。sysctl の設定を適用する場合、{{ic|all.disable_ipv6}} の無効化は既に立ち上がっているインターフェイスには適用されないためです。&lt;br /&gt;
&lt;br /&gt;
また、sysctl で IPv6 を無効化するときは、{{ic|/etc/hosts}} の IPv6 ホストをコメントアウトしたほうが良いでしょう:&lt;br /&gt;
&lt;br /&gt;
 #&amp;lt;ip-address&amp;gt; &amp;lt;hostname.domain.org&amp;gt; &amp;lt;hostname&amp;gt;&lt;br /&gt;
 127.0.0.1 localhost.localdomain localhost&lt;br /&gt;
 #::1 localhost.localdomain localhost&lt;br /&gt;
&lt;br /&gt;
コメントアウトしておかないと、利用できない IPv6 アドレスでホストが解決されて接続エラーが起こる可能性があります。&lt;br /&gt;
&lt;br /&gt;
=== 他のプログラム ===&lt;br /&gt;
&lt;br /&gt;
カーネルの IPv6 機能を無効化しても他のプログラムが IPv6 を使用するのを止めることはできません。ほとんどの場合、止めなくても全く問題ありませんが、プログラムに何か問題が発生するようでしたら、プログラムのマニュアルページを読んでプログラムが IPv6 を使用しないように設定してください。&lt;br /&gt;
&lt;br /&gt;
==== dhcpcd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;dhcpcd&#039;&#039; は (無害ですが) IPv6 のルーター要請を送信し続けます。これを無効にするには、{{man|5|dhcpcd.conf}} [[man ページ]]に書かれているように、以下を {{ic|/etc/dhcpcd.conf}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 noipv6rs&lt;br /&gt;
 noipv6&lt;br /&gt;
&lt;br /&gt;
==== NetworkManager ====&lt;br /&gt;
&lt;br /&gt;
NetworkManager で IPv6 を無効化するには、ネットワークの状態アイコンを右クリックして、&#039;&#039;Edit Connections &amp;gt; Wired &amp;gt; &#039;&#039;Network name&#039;&#039; &amp;gt; Edit &amp;gt; IPv6 Settings &amp;gt; Method &amp;gt; Ignore/Disabled&#039;&#039; を選択してください。&lt;br /&gt;
&lt;br /&gt;
そして &amp;quot;Save&amp;quot; をクリックします。&lt;br /&gt;
&lt;br /&gt;
==== ntpd ====&lt;br /&gt;
&lt;br /&gt;
[[Systemd#ドロップインファイル]] に書いてあるように、systemd が {{ic|ntpd.service}} を起動する方法を変更します:&lt;br /&gt;
&lt;br /&gt;
 # systemctl edit ntpd.service&lt;br /&gt;
&lt;br /&gt;
ドロップインファイルが作成されデフォルトの {{ic|ntpd.service}} の代わりに実行されます。{{ic|-4}} フラグは ntp デーモンによって IPv6 が使われるのを防ぎます。以下をドロップインファイルに記述してください:&lt;br /&gt;
&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/bin/ntpd -4 -g -u ntp:ntp&lt;br /&gt;
&lt;br /&gt;
最初に {{ic|ExecStart}} を消去して、次に {{ic|-4}} フラグを使って置き換えます。&lt;br /&gt;
&lt;br /&gt;
==== systemd-networkd ====&lt;br /&gt;
&lt;br /&gt;
[[networkd]] ではインターフェイスごとに IPv6 を無効化できます。ネットワークユニットの {{ic|[Network]}} セクションに {{ic|1=LinkLocalAddressing=ipv4}} または {{ic|1=LinkLocalAddressing=no}} が指定されている場合、networkd はマッチするインターフェイスで IPv6 を設定しません。&lt;br /&gt;
&lt;br /&gt;
ただし、上記のオプションを使用している場合でも、IPv6 がシステム全体で無効化されていないとき networkd はルーター広告を受け取ることを期待します。(sysctl や ip6tables の設定によって) インターフェイスに IPv6 のトラフィックが来ないと、インターフェイスは設定中状態で待機し続け、ネットワークが完全に設定されるまで待機するサービスがタイムアウトしてしまう可能性があります。この問題を回避するには、{{ic|[Network]}} セクションに {{ic|1=IPv6AcceptRA=no}} オプションも設定してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.kernel.org/doc/Documentation/networking/ipv6.txt IPv6] - kernel.org ドキュメント&lt;br /&gt;
* [http://www.ipsidixit.net/2012/08/09/ipv6-temporary-addresses-and-privacy-extensions/ IPv6 temporary addresses] - 一時アドレスとプライバシー拡張についての概要&lt;br /&gt;
* [http://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch03s02.html IPv6 prefixes] - プリフィックスタイプの概要&lt;br /&gt;
* [http://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch11s02.html net.ipv6 options] - カーネルパラメータのドキュメント&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19926</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19926"/>
		<updated>2021-05-15T07:54:25Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* コマンドライン */ 補足の説明を追記。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|OATH}}&lt;br /&gt;
{{Related|pam_oath}}&lt;br /&gt;
{{Related|アイデンティティ管理}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
== コードの生成 ==&lt;br /&gt;
&lt;br /&gt;
OTP 生成アプリケーションをインストールした機器を紛失した場合、Google Authenticator が設定されたシステムにログインすることが出来なくなります。&lt;br /&gt;
別の手段で生成したコードを使用することで、機器を紛失した場合でもログインすることができるようになります。 &lt;br /&gt;
&lt;br /&gt;
=== コードの管理 ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|gashell}}を使用することで、google authenticatorのコードを表示、作成、管理することが出来ます。代わりに、{{AUR|auther-git}}を使うことも出来ます。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
{{ic|oath-tool}}を使えば、簡単にコードを作成できます。{{Pkg|oath-toolkit}}パッケージをインストールして、以下のコマンドを実行すれば作成できます。秘密鍵は、{{ic|google-authenticator}}を実行した際に出力されるsecret key (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)になります。また、{{ic|~/.google_authenticator}} でも確認することが出来ます。&lt;br /&gt;
&lt;br /&gt;
 $ oathtool --totp -b &#039;&#039;secret key&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
殆どのAndroidシステムでは、適切なユーザーであればGoogle Authenticator データベースをコピーしたり、sqlite3に直接アクセスすることができます。&lt;br /&gt;
下記のスクリプトは、Google Authenticatorデータベースを読み出して、見つかった秘密鍵ごとにコードを生成します。&lt;br /&gt;
&lt;br /&gt;
{{hc|google-authenticator.sh|2=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This is the path to the Google Authenticator app file.  It&#039;s typically located&lt;br /&gt;
# in /data under Android.  Copy it to your PC in a safe location and specify the&lt;br /&gt;
# path to it here.&lt;br /&gt;
DB=&amp;quot;/path/to/com.google.android.apps.authenticator/databases/databases&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sqlite3 &amp;quot;$DB&amp;quot; &#039;SELECT email,secret FROM accounts;&#039; {{!}} while read A&lt;br /&gt;
do&lt;br /&gt;
        NAME=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 1`&lt;br /&gt;
        KEY=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 2`&lt;br /&gt;
        CODE=`oathtool --totp -b &amp;quot;$KEY&amp;quot;`&lt;br /&gt;
        echo -e &amp;quot;\e[1;32m$CODE\e[0m - \e[1;33m$NAME\e[0m&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19925</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19925"/>
		<updated>2021-05-15T07:46:22Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* コードの生成 */ 意訳を追加&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|OATH}}&lt;br /&gt;
{{Related|pam_oath}}&lt;br /&gt;
{{Related|アイデンティティ管理}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
== コードの生成 ==&lt;br /&gt;
&lt;br /&gt;
OTP 生成アプリケーションをインストールした機器を紛失した場合、Google Authenticator が設定されたシステムにログインすることが出来なくなります。&lt;br /&gt;
別の手段で生成したコードを使用することで、機器を紛失した場合でもログインすることができるようになります。 &lt;br /&gt;
&lt;br /&gt;
=== コードの管理 ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|gashell}}を使用することで、google authenticatorのコードを表示、作成、管理することが出来ます。代わりに、{{AUR|auther-git}}を使うことも出来ます。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
{{ic|oath-tool}}を使えば、簡単にコードを作成できます。{{Pkg|oath-toolkit}}パッケージをインストールして、以下のコマンドを実行すれば作成できます。&lt;br /&gt;
&lt;br /&gt;
 $ oathtool --totp -b &#039;&#039;secret key&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
殆どのAndroidシステムでは、適切なユーザーであればGoogle Authenticator データベースをコピーしたり、sqlite3に直接アクセスすることができます。&lt;br /&gt;
下記のスクリプトは、Google Authenticatorデータベースを読み出して、見つかった秘密鍵ごとにコードを生成します。&lt;br /&gt;
&lt;br /&gt;
{{hc|google-authenticator.sh|2=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This is the path to the Google Authenticator app file.  It&#039;s typically located&lt;br /&gt;
# in /data under Android.  Copy it to your PC in a safe location and specify the&lt;br /&gt;
# path to it here.&lt;br /&gt;
DB=&amp;quot;/path/to/com.google.android.apps.authenticator/databases/databases&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sqlite3 &amp;quot;$DB&amp;quot; &#039;SELECT email,secret FROM accounts;&#039; {{!}} while read A&lt;br /&gt;
do&lt;br /&gt;
        NAME=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 1`&lt;br /&gt;
        KEY=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 2`&lt;br /&gt;
        CODE=`oathtool --totp -b &amp;quot;$KEY&amp;quot;`&lt;br /&gt;
        echo -e &amp;quot;\e[1;32m$CODE\e[0m - \e[1;33m$NAME\e[0m&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19906</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19906"/>
		<updated>2021-05-14T12:43:19Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* コマンドライン */ 　typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
== コードの生成 ==&lt;br /&gt;
&lt;br /&gt;
OTP 生成アプリケーションをインストールした機器を紛失した場合、Google Authenticator が設定されたシステムにログインすることが出来なくなります。&lt;br /&gt;
コードを使用することで、機器を紛失した場合でもログインすることができるようになります。 &lt;br /&gt;
&lt;br /&gt;
=== コードの管理 ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|gashell}}を使用することで、google authenticatorのコードを表示、作成、管理することが出来ます。代わりに、{{AUR|auther-git}}を使うことも出来ます。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
{{ic|oath-tool}}を使えば、簡単にコードを作成できます。{{Pkg|oath-toolkit}}パッケージをインストールして、以下のコマンドを実行すれば作成できます。&lt;br /&gt;
&lt;br /&gt;
 $ oathtool --totp -b &#039;&#039;secret key&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
殆どのAndroidシステムでは、適切なユーザーであればGoogle Authenticator データベースをコピーしたり、sqlite3に直接アクセスすることができます。&lt;br /&gt;
下記のスクリプトは、Google Authenticatorデータベースを読み出して、見つかった秘密鍵ごとにコードを生成します。&lt;br /&gt;
&lt;br /&gt;
{{hc|google-authenticator.sh|2=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This is the path to the Google Authenticator app file.  It&#039;s typically located&lt;br /&gt;
# in /data under Android.  Copy it to your PC in a safe location and specify the&lt;br /&gt;
# path to it here.&lt;br /&gt;
DB=&amp;quot;/path/to/com.google.android.apps.authenticator/databases/databases&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sqlite3 &amp;quot;$DB&amp;quot; &#039;SELECT email,secret FROM accounts;&#039; {{!}} while read A&lt;br /&gt;
do&lt;br /&gt;
        NAME=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 1`&lt;br /&gt;
        KEY=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 2`&lt;br /&gt;
        CODE=`oathtool --totp -b &amp;quot;$KEY&amp;quot;`&lt;br /&gt;
        echo -e &amp;quot;\e[1;32m$CODE\e[0m - \e[1;33m$NAME\e[0m&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19905</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19905"/>
		<updated>2021-05-14T12:42:59Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* コマンドライン */  日本語訳を追加&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
== コードの生成 ==&lt;br /&gt;
&lt;br /&gt;
OTP 生成アプリケーションをインストールした機器を紛失した場合、Google Authenticator が設定されたシステムにログインすることが出来なくなります。&lt;br /&gt;
コードを使用することで、機器を紛失した場合でもログインすることができるようになります。 &lt;br /&gt;
&lt;br /&gt;
=== コードの管理 ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|gashell}}を使用することで、google authenticatorのコードを表示、作成、管理することが出来ます。代わりに、{{AUR|auther-git}}を使うことも出来ます。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
{{ic|oath-tool}}を使えば、簡単にコードを作成できます。{{Pkg|oath-toolkit}}パッケージをインストールして、以下のコマンドを実行すれば作成できます。&lt;br /&gt;
&lt;br /&gt;
 $ oathtool --totp -b &#039;&#039;secret key&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
殆どのAndroidシステムでは、適切なユーザーであればGoogle Authenticator データベースをコピーしたり、sqlite3に直接アクセスすることができます。&lt;br /&gt;
下記のスクリプトは、Google Authenticatorデータベースを読み出して、見たかった秘密鍵ごとにコードを生成します。&lt;br /&gt;
&lt;br /&gt;
{{hc|google-authenticator.sh|2=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This is the path to the Google Authenticator app file.  It&#039;s typically located&lt;br /&gt;
# in /data under Android.  Copy it to your PC in a safe location and specify the&lt;br /&gt;
# path to it here.&lt;br /&gt;
DB=&amp;quot;/path/to/com.google.android.apps.authenticator/databases/databases&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sqlite3 &amp;quot;$DB&amp;quot; &#039;SELECT email,secret FROM accounts;&#039; {{!}} while read A&lt;br /&gt;
do&lt;br /&gt;
        NAME=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 1`&lt;br /&gt;
        KEY=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 2`&lt;br /&gt;
        CODE=`oathtool --totp -b &amp;quot;$KEY&amp;quot;`&lt;br /&gt;
        echo -e &amp;quot;\e[1;32m$CODE\e[0m - \e[1;33m$NAME\e[0m&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19904</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19904"/>
		<updated>2021-05-14T12:28:11Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* コードの生成 */ 追加した項目を日本語訳に修正&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
== コードの生成 ==&lt;br /&gt;
&lt;br /&gt;
OTP 生成アプリケーションをインストールした機器を紛失した場合、Google Authenticator が設定されたシステムにログインすることが出来なくなります。&lt;br /&gt;
コードを使用することで、機器を紛失した場合でもログインすることができるようになります。 &lt;br /&gt;
&lt;br /&gt;
=== コードの管理 ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|gashell}}を使用することで、google authenticatorのコードを表示、作成、管理することが出来ます。代わりに、{{AUR|auther-git}}を使うことも出来ます。&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
{{ic|oath-tool}}を使えば、簡単にコードを作成できます。{{Pkg|oath-toolkit}}パッケージをインストールして、以下のコマンドを実行すれば作成できます。&lt;br /&gt;
&lt;br /&gt;
 $ oathtool --totp -b &#039;&#039;secret key&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On most Android systems with sufficient user access, the Google Authenticator database can be copied off the device and accessed directly, as it is an sqlite3 database.  This shell script will read a Google Authenticator database and generate live codes for each key found:&lt;br /&gt;
&lt;br /&gt;
{{hc|google-authenticator.sh|2=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This is the path to the Google Authenticator app file.  It&#039;s typically located&lt;br /&gt;
# in /data under Android.  Copy it to your PC in a safe location and specify the&lt;br /&gt;
# path to it here.&lt;br /&gt;
DB=&amp;quot;/path/to/com.google.android.apps.authenticator/databases/databases&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sqlite3 &amp;quot;$DB&amp;quot; &#039;SELECT email,secret FROM accounts;&#039; {{!}} while read A&lt;br /&gt;
do&lt;br /&gt;
        NAME=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 1`&lt;br /&gt;
        KEY=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 2`&lt;br /&gt;
        CODE=`oathtool --totp -b &amp;quot;$KEY&amp;quot;`&lt;br /&gt;
        echo -e &amp;quot;\e[1;32m$CODE\e[0m - \e[1;33m$NAME\e[0m&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19903</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19903"/>
		<updated>2021-05-14T11:53:27Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: 英語版に合わせて、「Code managers」の項目を追加&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
== コードの生成 ==&lt;br /&gt;
&lt;br /&gt;
If you have Google Authenticator configured with other systems, then losing your device can prevent you from being able to log in to those systems.  Having additional ways to generate the codes can be helpful.&lt;br /&gt;
&lt;br /&gt;
=== コードの管理 ===&lt;br /&gt;
&lt;br /&gt;
A script that enables the display, generation, storage and management of google authenticator codes is available from the AUR ({{AUR|gashell}}). Alternatively there is also auther ({{AUR|auther-git}}).&lt;br /&gt;
&lt;br /&gt;
=== コマンドライン ===&lt;br /&gt;
&lt;br /&gt;
The easiest way to generate codes is with {{ic|oath-tool}}.  It is available in the {{Pkg|oath-toolkit}} package, and can be used as follows:&lt;br /&gt;
&lt;br /&gt;
 $ oathtool --totp -b &#039;&#039;secret key&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On most Android systems with sufficient user access, the Google Authenticator database can be copied off the device and accessed directly, as it is an sqlite3 database.  This shell script will read a Google Authenticator database and generate live codes for each key found:&lt;br /&gt;
&lt;br /&gt;
{{hc|google-authenticator.sh|2=&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# This is the path to the Google Authenticator app file.  It&#039;s typically located&lt;br /&gt;
# in /data under Android.  Copy it to your PC in a safe location and specify the&lt;br /&gt;
# path to it here.&lt;br /&gt;
DB=&amp;quot;/path/to/com.google.android.apps.authenticator/databases/databases&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sqlite3 &amp;quot;$DB&amp;quot; &#039;SELECT email,secret FROM accounts;&#039; {{!}} while read A&lt;br /&gt;
do&lt;br /&gt;
        NAME=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 1`&lt;br /&gt;
        KEY=`echo &amp;quot;$A&amp;quot; {{!}} cut -d &#039;{{!}}&#039; -f 2`&lt;br /&gt;
        CODE=`oathtool --totp -b &amp;quot;$KEY&amp;quot;`&lt;br /&gt;
        echo -e &amp;quot;\e[1;32m$CODE\e[0m - \e[1;33m$NAME\e[0m&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19902</id>
		<title>Google Authenticator</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Google_Authenticator&amp;diff=19902"/>
		<updated>2021-05-14T11:47:29Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* OTP 生成ツールの設定 */ 　英語版に合わせて紹介のツールを変更&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:認証]]&lt;br /&gt;
[[Category:Google]]&lt;br /&gt;
[[en:Google Authenticator]]&lt;br /&gt;
[[es:Google Authenticator]]&lt;br /&gt;
[[ru:Google Authenticator]]&lt;br /&gt;
[[zh-hans:Google Authenticator]]&lt;br /&gt;
[https://github.com/google/google-authenticator Google Authenticator] はワンタイムパスコード (OTP) による2段階認証を提供します。OTP 生成アプリケーションは iOS, Android, Blackberry で利用できます。[[S/KEY 認証]]と同じように認証機構は Linux の [[PAM]] システムに統合されています。このガイドではこの機構をインストール・設定する方法を示します。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|libpam-google-authenticator}} パッケージをインストールしてください。開発版は {{AUR|google-authenticator-libpam-git}} でインストールできます。&lt;br /&gt;
&lt;br /&gt;
==PAM の設定==&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH で設定を行っている場合は、全てが動作するか確認する前にセッションを終了してはいけません。自分自身をロックアウトしてしまう危険があります。また、PAM を有効にする前にキーファイルを生成するようにしてください。}}&lt;br /&gt;
&lt;br /&gt;
大抵は2段階認証が必要になるのはリモートログインのときだけです。該当する PAM 設定ファイルは {{ic|/etc/pam.d/sshd}} です。Google Authenticator をあらゆるところで使いたい場合、{{ic|/etc/pam.d/system-auth}} に変更を加えます。ただし、その場合は自分を締め出してしまわないように細心の注意を払って下さい。このガイドでは {{ic|/etc/pam.d/sshd}} を編集するので、ローカルセッションではとりあえず安全に設定することができます (絶対安全というわけではありません)。&lt;br /&gt;
&lt;br /&gt;
Unix パスワードと OTP の両方を入力するために {{ic|pam_google_authenticator.so}} を以下のように {{ic|/etc/pam.d/sshd}} の system-remote-login 行の上に追加します:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;auth            required        pam_google_authenticator.so&#039;&#039;&#039;&lt;br /&gt;
 auth            include         system-remote-login&lt;br /&gt;
 account         include         system-remote-login&lt;br /&gt;
 password        include         system-remote-login&lt;br /&gt;
 session         include         system-remote-login&lt;br /&gt;
&lt;br /&gt;
こうすると Unix パスワードの前に OTP を尋ねるようになります。2つのモジュールの順番を入れ替えると訊かれる順序が逆になります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|秘密鍵ファイルを生成したユーザーだけが SSH を使ってログインできるようになります (下を参照)。}}&lt;br /&gt;
&lt;br /&gt;
OTP または Unix パスワードのどちらかでログインできるようにするには:&lt;br /&gt;
&lt;br /&gt;
 auth            &#039;&#039;&#039;sufficient&#039;&#039;&#039;     pam_google_authenticator.so&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/ssh/&#039;&#039;&#039;sshd_config&#039;&#039;&#039;}} でチャレンジレスポンス認証を有効にします:&lt;br /&gt;
 ChallengeResponseAuthentication yes&lt;br /&gt;
そして {{ic|sshd}} の設定をリロードしてください:&lt;br /&gt;
 # systemctl reload sshd&lt;br /&gt;
&lt;br /&gt;
{{Warning|SSH 鍵のペアによる認証を使っていて[[SSH 鍵#パスワードログインの無効化|パスワードログインを無効化]]していた場合、OpenSSH はこれら全ての設定を無視します。ただし、OpenSSH 6.2 から、{{ic|AuthenticationMethods}} を追加することで2段階認証と鍵による認証の両方を使うことができるようになっています。[[SSH 鍵#2段階認証と公開鍵]] を見て下さい。}}&lt;br /&gt;
&lt;br /&gt;
==秘密鍵ファイルの生成==&lt;br /&gt;
&lt;br /&gt;
{{Tip|QR コードを生成するには {{Pkg|qrencode}} をインストールします。認証アプリで QR コードをスキャンすれば自動的に鍵が設定されます。}}&lt;br /&gt;
&lt;br /&gt;
2段階認証を使用したい場合はユーザーのホームフォルダに秘密鍵ファイルを生成する必要があります。&#039;&#039;google-authenticator&#039;&#039; を使うことでとても簡単に生成することができます:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator&lt;br /&gt;
 Do you want authentication tokens to be time-based (y/n) y&lt;br /&gt;
 &amp;lt;Here you will see generated QR code&amp;gt;&lt;br /&gt;
 Your new secret key is: ZVZG5UZU4D7MY4DH&lt;br /&gt;
 Your verification code is 269371&lt;br /&gt;
 Your emergency scratch codes are:&lt;br /&gt;
   70058954&lt;br /&gt;
   97277505&lt;br /&gt;
   99684896&lt;br /&gt;
   56514332&lt;br /&gt;
   82717798&lt;br /&gt;
 &lt;br /&gt;
 Do you want me to update your &amp;quot;/home/username/.google_authenticator&amp;quot; file (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 Do you want to disallow multiple uses of the same authentication&lt;br /&gt;
 token? This restricts you to one login about every 30s, but it increases&lt;br /&gt;
 your chances to notice or even prevent man-in-the-middle attacks (y/n) y&lt;br /&gt;
 &lt;br /&gt;
 By default, tokens are good for 30 seconds and in order to compensate for&lt;br /&gt;
 possible time-skew between the client and the server, we allow an extra&lt;br /&gt;
 token before and after the current time. If you experience problems with poor&lt;br /&gt;
 time synchronization, you can increase the window from its default&lt;br /&gt;
 size of 1:30min to about 4min. Do you want to do so (y/n) n&lt;br /&gt;
 &lt;br /&gt;
 If the computer that you are logging into is not hardened against brute-force&lt;br /&gt;
 login attempts, you can enable rate-limiting for the authentication module.&lt;br /&gt;
 By default, this limits attackers to no more than 3 login attempts every 30s.&lt;br /&gt;
 Do you want to enable rate-limiting (y/n) y&lt;br /&gt;
&lt;br /&gt;
緊急時のスクラッチコードを安全なところに保管しておくことを推奨します (例: コードを印刷して金庫にしまう)。携帯電話 (つまり OTP 生成ツール) をなくしてしまったときの唯一の (SSH による) ログイン手段となります。コードは {{ic|~/.google_authenticator}} にも保存されるので、ログインしている間はいつでも確認することが可能です。&lt;br /&gt;
&lt;br /&gt;
==OTP 生成ツールの設定==&lt;br /&gt;
下記から携帯電話に生成ツールをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FreeOTP&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp Android]/[https://itunes.apple.com/es/app/freeotp-authenticator/id872559395 iOS].&lt;br /&gt;
* &#039;&#039;&#039;Google Authenticator&#039;&#039;&#039; for [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Android]/[https://itunes.apple.com/es/app/google-authenticator/id388497605 iOS].&lt;br /&gt;
&lt;br /&gt;
アプリケーションメニューから適切なボタンをクリックして新しいアカウントを作成し、秘密鍵ファイルを生成したときに表示される URL から QR コードをスキャンするか、秘密鍵を手動で入力します (上の例では &#039;ZVZG5UZU4D7MY4DH&#039;)。&lt;br /&gt;
&lt;br /&gt;
これで30秒ごとに新しく生成されるパスコードトークンをあなたの携帯で見ることができます。&lt;br /&gt;
&lt;br /&gt;
==テスト==&lt;br /&gt;
他のマシンや他のターミナルウィンドウからホストに SSH で接続して認証システムが動作しているか確認してください:&lt;br /&gt;
&lt;br /&gt;
 $ ssh hostname&lt;br /&gt;
 login as: &amp;lt;username&amp;gt;&lt;br /&gt;
 Verification code: &amp;lt;generated/backup-code&amp;gt;&lt;br /&gt;
 Password: &amp;lt;password&amp;gt;&lt;br /&gt;
 $&lt;br /&gt;
&lt;br /&gt;
==秘密鍵の保存場所==&lt;br /&gt;
秘密鍵ファイルの置き場所を変更したい場合、{{ic|--secret}} フラグを使います:&lt;br /&gt;
&lt;br /&gt;
 $ google-authenticator --secret=&amp;quot;/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/&#039;&#039;&#039;USERNAME&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/pam.d/sshd}} を編集して PAM の設定も忘れずに変更してください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/pam.d/sshd|2=&lt;br /&gt;
auth required pam_google_authenticator.so user=root secret=/&#039;&#039;&#039;PATH_FOLDER&#039;&#039;&#039;/${USER}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|user&amp;amp;#61;root}} を使うことで PAM は root ユーザーでファイルを検索します。&lt;br /&gt;
&lt;br /&gt;
また、秘密鍵ファイルのパーミッションに注意してください。所有者だけがファイルを読み込めるように設定してください。例えば root を所有者とする場合:&lt;br /&gt;
&lt;br /&gt;
 # chown root:root /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
 # chmod 400 /&#039;&#039;&#039;PATH_FILE&#039;&#039;&#039;/&#039;&#039;&#039;SECRET_KEY_FILES&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==デスクトップログイン==&lt;br /&gt;
Google Authenticator の PAM プラグインをコンソールのログインや [[GDM]] のログインで使うこともできます。以下を {{ic|/etc/pam.d/login}} または {{ic|/etc/pam.d/gdm-password}} ファイルに追加してください:&lt;br /&gt;
&lt;br /&gt;
 auth required pam_google_authenticator.so&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19850</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19850"/>
		<updated>2021-05-11T02:39:30Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* ログの圧縮 */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl enable logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl start logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl status logrotate.timer&lt;br /&gt;
|&lt;br /&gt;
● logrotate.timer - Daily rotation of log files&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/logrotate.timer; enabled; vendor preset: disabled)&lt;br /&gt;
     Active: active (waiting) since Sun 2020-06-08 xx:xx:xx JST; 5s ago&lt;br /&gt;
    Trigger: Mon 2020-06-08 00:00:00 JST; 56min left&lt;br /&gt;
   Triggers: ● logrotate.service&lt;br /&gt;
       Docs: man:logrotate(8)&lt;br /&gt;
             man:logrotate.conf(5)&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
|&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
{{bc|# logrotate --debug /etc/logrotate.conf}}&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
{{bc|# logrotate -f -v /etc/logrotate.d/nginx}}&lt;br /&gt;
&lt;br /&gt;
=== ログの圧縮 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|zstd}}のようなコマンドを使って、ログローテーション時にログを圧縮することが出来ます。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/logrotate.conf|&lt;br /&gt;
compress&lt;br /&gt;
compresscmd /usr/bin/zstd&lt;br /&gt;
compressext .zst&lt;br /&gt;
compressoptions -T0 --long&lt;br /&gt;
uncompresscmd /usr/bin/unzstd&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
詳細は[https://man.archlinux.org/man/logrotate.conf.5 logrotate.conf(5)]や [https://man.archlinux.org/man/zstd.1 zstd] を確認して下さい。&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{hc| # cat /var/lib/logrotate.status |&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.8 logrotate(8) Manual page]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.conf.5 logrotate.conf(5) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19849</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19849"/>
		<updated>2021-05-11T02:34:16Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* 設定 */ 英語版に合わせて「ログの圧縮」を追加。コマンドの書き方を修正。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl enable logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl start logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl status logrotate.timer&lt;br /&gt;
|&lt;br /&gt;
● logrotate.timer - Daily rotation of log files&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/logrotate.timer; enabled; vendor preset: disabled)&lt;br /&gt;
     Active: active (waiting) since Sun 2020-06-08 xx:xx:xx JST; 5s ago&lt;br /&gt;
    Trigger: Mon 2020-06-08 00:00:00 JST; 56min left&lt;br /&gt;
   Triggers: ● logrotate.service&lt;br /&gt;
       Docs: man:logrotate(8)&lt;br /&gt;
             man:logrotate.conf(5)&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
|&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
{{bc|# logrotate --debug /etc/logrotate.conf}}&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
{{bc|# logrotate -f -v /etc/logrotate.d/nginx}}&lt;br /&gt;
&lt;br /&gt;
=== ログの圧縮 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|zstd}}のようなコマンドを使って、ログローテーション時にログを圧縮することが出来ます。&lt;br /&gt;
&lt;br /&gt;
{{hc|# /etc/logrotate.conf|&lt;br /&gt;
compress&lt;br /&gt;
compresscmd /usr/bin/zstd&lt;br /&gt;
compressext .zst&lt;br /&gt;
compressoptions -T0 --long&lt;br /&gt;
uncompresscmd /usr/bin/unzstd&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
詳細は[https://man.archlinux.org/man/logrotate.conf.5 logrotate.conf(5)]や [https://man.archlinux.org/man/zstd.1 zstd] を確認して下さい。&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{hc| # cat /var/lib/logrotate.status |&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.8 logrotate(8) Manual page]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.conf.5 logrotate.conf(5) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19848</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19848"/>
		<updated>2021-05-11T02:12:08Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* logrotate の状態を確認 */  テンプレート:hc を使用&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl enable logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl start logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl status logrotate.timer&lt;br /&gt;
|&lt;br /&gt;
● logrotate.timer - Daily rotation of log files&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/logrotate.timer; enabled; vendor preset: disabled)&lt;br /&gt;
     Active: active (waiting) since Sun 2020-06-08 xx:xx:xx JST; 5s ago&lt;br /&gt;
    Trigger: Mon 2020-06-08 00:00:00 JST; 56min left&lt;br /&gt;
   Triggers: ● logrotate.service&lt;br /&gt;
       Docs: man:logrotate(8)&lt;br /&gt;
             man:logrotate.conf(5)&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
|&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{hc| # cat /var/lib/logrotate.status |&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.8 logrotate(8) Manual page]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.conf.5 logrotate.conf(5) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19847</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19847"/>
		<updated>2021-05-11T02:07:25Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* 参照 */  英語版に合わせました。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl enable logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl start logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl status logrotate.timer&lt;br /&gt;
|&lt;br /&gt;
● logrotate.timer - Daily rotation of log files&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/logrotate.timer; enabled; vendor preset: disabled)&lt;br /&gt;
     Active: active (waiting) since Sun 2020-06-08 xx:xx:xx JST; 5s ago&lt;br /&gt;
    Trigger: Mon 2020-06-08 00:00:00 JST; 56min left&lt;br /&gt;
   Triggers: ● logrotate.service&lt;br /&gt;
       Docs: man:logrotate(8)&lt;br /&gt;
             man:logrotate.conf(5)&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
|&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.8 logrotate(8) Manual page]&lt;br /&gt;
* [https://man.archlinux.org/man/logrotate.conf.5 logrotate.conf(5) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19838</id>
		<title>利用者:Blackle0pard</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19838"/>
		<updated>2021-05-10T05:28:07Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==編集について==&lt;br /&gt;
* ArchWikiに記載されているとおりのコマンド・設定が実機で実行できない場合、内容の確認・編集を実施します。&lt;br /&gt;
* 英語が得意なわけでもなく、スキルが高いわけではないので。自分が気づいた箇所、自分に出来る範囲で取り組みます。&lt;br /&gt;
* 自分の編集箇所に間違い等があれば、指摘頂けると嬉しいです。&lt;br /&gt;
==連絡方法==    &lt;br /&gt;
* Slack(archlinuxjp): blackle0pard  &lt;br /&gt;
* Twitter : [https://twitter.com/blackle0pard_/ @blackle0pard_]&lt;br /&gt;
==ArchLinuxの利用環境==&lt;br /&gt;
* VPS ([https://www.vultr.com/ Vultr])&lt;br /&gt;
* Lenovo ThinkPad X260&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19837</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19837"/>
		<updated>2021-05-10T04:56:46Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* インストール */  コマンドラインの入力と出力に、テンプレート:hc を使用。sudoを使うのをやめました。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl enable logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{bc|&lt;br /&gt;
# systemctl start logrotate.timer&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl status logrotate.timer&lt;br /&gt;
|&lt;br /&gt;
● logrotate.timer - Daily rotation of log files&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/logrotate.timer; enabled; vendor preset: disabled)&lt;br /&gt;
     Active: active (waiting) since Sun 2020-06-08 xx:xx:xx JST; 5s ago&lt;br /&gt;
    Trigger: Mon 2020-06-08 00:00:00 JST; 56min left&lt;br /&gt;
   Triggers: ● logrotate.service&lt;br /&gt;
       Docs: man:logrotate(8)&lt;br /&gt;
             man:logrotate.conf(5)&lt;br /&gt;
}}&lt;br /&gt;
{{hc|&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
|&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19824</id>
		<title>利用者:Blackle0pard</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19824"/>
		<updated>2021-05-10T00:43:11Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==連絡方法==    &lt;br /&gt;
* Slack(archlinuxjp): blackle0pard  &lt;br /&gt;
* Twitter : [https://twitter.com/blackle0pard_/ @blackle0pard_]&lt;br /&gt;
==ArchLinuxの利用環境==&lt;br /&gt;
* VPS ([https://www.vultr.com/ Vultr])&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19823</id>
		<title>利用者:Blackle0pard</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19823"/>
		<updated>2021-05-10T00:32:29Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* 連絡方法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==連絡方法==    &lt;br /&gt;
* Slack(archlinuxjp): blackle0pard  &lt;br /&gt;
* Twitter : @blackle0pard_&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19822</id>
		<title>利用者:Blackle0pard</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Blackle0pard&amp;diff=19822"/>
		<updated>2021-05-10T00:30:46Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: ページの作成:「== 連絡方法 ==     ** Slack(archlinuxjp): blackle0pard   ** Twitter : @blackle0pard_」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 連絡方法 ==    &lt;br /&gt;
** Slack(archlinuxjp): blackle0pard  &lt;br /&gt;
** Twitter : @blackle0pard_&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19820</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19820"/>
		<updated>2021-05-09T14:12:06Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* インストール */  logrotate.timer サービスを起動・起動していることを確認するコマンドを追記。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
% sudo systemctl enable logrotate.timer&lt;br /&gt;
% sudo systemctl start logrotate.timer&lt;br /&gt;
% sudo systemctl status logrotate.timer&lt;br /&gt;
● logrotate.timer - Daily rotation of log files&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/logrotate.timer; enabled; vendor preset: disabled)&lt;br /&gt;
     Active: active (waiting) since Sun 2020-06-08 xx:xx:xx JST; 5s ago&lt;br /&gt;
    Trigger: Mon 2020-06-08 00:00:00 JST; 56min left&lt;br /&gt;
   Triggers: ● logrotate.service&lt;br /&gt;
       Docs: man:logrotate(8)&lt;br /&gt;
             man:logrotate.conf(5)&lt;br /&gt;
% sudo systemctl list-timers&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19818</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19818"/>
		<updated>2021-05-09T14:07:13Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: Blackle0pard (トーク) による版 19817 を取り消し&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
% sudo systemctl enable logrotate.timer&lt;br /&gt;
% sudo systemctl list-timers&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19817</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19817"/>
		<updated>2021-05-09T14:06:46Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* インストール */ logrotate.timerサービスが起動していない場合は、timer ユニット一覧に「logrotate.timer」表示されない(logrotatega)。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
% sudo systemctl enable logrotate.timer&lt;br /&gt;
% sudo systemctl start logrotate.timer&lt;br /&gt;
% sudo systemctl list-timers&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19816</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19816"/>
		<updated>2021-05-09T13:59:45Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* インストール */  記載のコマンドではエラーとなるため、実機(OS: 5.12.1-arch1-1)で確認したコマンドに修正。&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
% sudo systemctl enable logrotate.timer&lt;br /&gt;
% sudo systemctl list-timers&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19815</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19815"/>
		<updated>2021-05-09T13:51:22Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: Blackle0pard (トーク) による版 19814 を取り消し&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
% sudo systemctl enable logrotate.time&lt;br /&gt;
% sudo systemctl status list-timers&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19814</id>
		<title>Logrotate</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Logrotate&amp;diff=19814"/>
		<updated>2021-05-09T13:47:54Z</updated>

		<summary type="html">&lt;p&gt;Blackle0pard: /* インストール */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ロギング]]&lt;br /&gt;
[[Category:データ圧縮とアーカイブ]]&lt;br /&gt;
[[en:Logrotate]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Cron}}&lt;br /&gt;
{{Related|systemd/タイマー}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
https://github.com/logrotate/logrotate より:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
logrotate の&#039;&#039;ローテーション&#039;&#039;では、既存のログファイルに数字を割り振って名前を変更し、元の&#039;&#039;空の&#039;&#039;ログファイルを再作成します。例えば、{{ic|/var/log/syslog.log}} は {{ic|/var/log/syslog.log.1}} に名前が変更されます。{{ic|/var/log/syslog.log.1}} が既に存在する場合、名前は {{ic|/var/log/syslog.log.2}} に変更されます (バックログの数は設定で変えられます)。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
日次でlogrotateの実行を有効にするには次のコマンドを利用します。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
% sudo systemctl enable logrotate.timer&lt;br /&gt;
% sudo systemctl list-timers&lt;br /&gt;
NEXT                        LEFT     LAST                        PASSED  UNIT                         ACTIVATE&lt;br /&gt;
Mon 2020-06-08 00:00:00 JST 12h left n/a                         n/a     logrotate.timer              logrotate.service&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。&lt;br /&gt;
&lt;br /&gt;
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:&lt;br /&gt;
 logrotate -d&lt;br /&gt;
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください:&lt;br /&gt;
 logrotate -f -v /etc/logrotate.d/nginx&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
=== exim のログがローテーションされない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/logrotate.conf}} に {{ic|olddir}} 変数を設定した場合、以下のようなメッセージが表示されます:&lt;br /&gt;
&lt;br /&gt;
{{Ic|error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied}}&lt;br /&gt;
&lt;br /&gt;
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。&lt;br /&gt;
&lt;br /&gt;
=== logrotate の状態を確認 ===&lt;br /&gt;
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます:&lt;br /&gt;
{{bc|&lt;br /&gt;
&amp;quot;/var/log/mysql/query.log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
&amp;quot;/var/log/samba/samba-smbd.log&amp;quot; 2016-3-21-5:0:0&lt;br /&gt;
&amp;quot;/var/log/httpd/access_log&amp;quot; 2016-3-20-5:0:0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki]&lt;br /&gt;
* [https://linux.die.net/man/8/logrotate logrotate(8) Manual page]&lt;/div&gt;</summary>
		<author><name>Blackle0pard</name></author>
	</entry>
</feed>