「FAQ」の版間の差分
(→なぜ Arch を使いたいですか?: 訳出) |
|||
38行目: | 38行目: | ||
* 今使っている OS に満足している方。 |
* 今使っている OS に満足している方。 |
||
− | === |
+ | === なぜ Arch を使いたいですか? === |
+ | [[Arch は最高]] だからです。 |
||
− | Because [[Arch is the best]]. |
||
=== Arch はどのアーキテクチャをサポートしていますか? === |
=== Arch はどのアーキテクチャをサポートしていますか? === |
2021年11月15日 (月) 09:00時点における版
目次
- 1 一般
- 1.1 Arch Linux って何ですか?
- 1.2 私は Arch を使うべきではありませんか?
- 1.3 なぜ Arch を使いたいですか?
- 1.4 Arch はどのアーキテクチャをサポートしていますか?
- 1.5 Arch は Linux Foundation の標準ファイルシステム階層 (FHS) に準拠していますか?
- 1.6 当方全くの GNU/Linux ビギナーなのですが、Arch を使って大丈夫でしょうか?
- 1.7 Arch はどの用途向けに設計されていますか?サーバですか?デスクトップですか?ワークステーションですか?
- 1.8 Arch はホント好きなんだけどね.開発チームがXの機能さえ実装してくれればなぁ
- 1.9 いつ新しいリリースが出るんでしょうか?
- 1.10 Arch Linux は堅牢なディストリなのでしょうか?しょっちゅう壊れたりしませんか?
- 1.11 Archのレビュー記事がもっと必要だ(宣伝が必要だ)
- 1.12 Archの開発者がもっと必要だ
- 2 インストール
- 3 システムメンテナンス
- 4 パッケージ管理
- 4.1 Xのパッケージにエラーがあったんだけど,どうしたらいいの?
- 4.2 Archのパッケージにはもっと適切な命名規則が必要だ。".pkg.tar.gz" とか ".pkg.tar.xz" なんて長すぎるし、ややこしい
- 4.3 Pacman には他のアプリケーションがパッケージ情報を簡単に参照するためのライブラリが必要だ
- 4.4 Pacman に X の機能を付けるべきだ!
- 4.5 X のパッケージをインストールしたんだけど,どうやって起動するの?
- 4.6 公式リポジトリにある共用ライブラリはそれぞれどうして一つのバージョンしか用意されてないんですか?
- 4.7 もし、システム全体のアップグレード(pacman -Syu)で共用ライブラリがアップデートされたのにそれに依存するアプリケーションがアップデートされなかったらどうなりますか?
- 4.8 リポジトリのカーネルにメジャーアップデートがあったのに、ドライバが最新カーネル用にアップデートされないことはあり得ますか?
- 4.9 アップグレードの前にやっておいたほうがいい事はありますか?
- 4.10 パッケージのアップデートがリリースされているのに、pacman はシステムは最新だと出力する
- 4.11 上流のプロジェクト X が新しいバージョンをリリースしています。Arch パッケージとして新しいバージョンにアップデートできるようになるまでにかかる時間は?
- 4.12 インストールしているライブラリの古いバージョンが必要なときは、新しいバージョンにシンボリックリンクを貼るだけでいいですか?
- 5 64ビット
一般
Arch Linux って何ですか?
Arch Linux を参照してください。
私は Arch を使うべきではありませんか?
以下のような方は Arch を使いたいとは思わないでしょう:
- 'do-it-yourself' な GNU/Linux ディストリビューションを使う能力や時間がない、あるいはそれを求めていない方。
- x86_64 以外のアーキテクチャのサポートが必要な方。
- GNU で定義されたフリーウェアのみを提供するディストリビューションを使うことに強いこだわりのある方。
- オペレーティングシステム自身が構成設定を行うべきであり、"箱から出してすぐ使える" べきであり、インストールメディア上でソフトウェアやデスクトップ環境のデフォルト設定が完全になされているべきであるとお考えの方。
- 最先端で、ローリングリリースな GNU/Linux を求めていない方。
- 今使っている OS に満足している方。
なぜ Arch を使いたいですか?
Arch は最高 だからです。
Arch はどのアーキテクチャをサポートしていますか?
Arch は x86_64 (別名 amd64) アーキテクチャのみをサポートしています。i686 のサポートは2017年11月に切られました [1]。
非公式 の移植プロジェクトとしては、i686 アーキテクチャ向けの [2] や ARM CPU 向けの [3] などがあり、それぞれ専用のコミュニティを持っています。[4]
Arch は Linux Foundation の標準ファイルシステム階層 (FHS) に準拠していますか?
Arch Linux は systemd サービスマネージャを使用するオペレーティングシステムのファイルシステム階層を遵守しています。ディレクトリの説明については file-hierarchy(7) を見てください。特に Arch では /bin
, /sbin
, /usr/sbin
は /usr/bin
のシンボリックリンクに、/lib
と /lib64
は /usr/lib
のシンボリックリンクになっています。
当方全くの GNU/Linux ビギナーなのですが、Arch を使って大丈夫でしょうか?
もしあなたが初心者で、それでもなお Arch を使おうとしているのであれば、あなたは十分な時間を費やして学ぶことに喜びを覚えるようでなければなりません。また Arch が全く "Do-It-Yourself" なディストリビューションとして設計されている、ということも肝に命じておくべきでしょう。システムを組み上げ、それをどのようなものにしていくかをコントロールするのはユーザー自身なのです。
質問をする前にまず自分で調査するようにしてください。Google やフォーラム、そして素晴らしいドキュメントが用意されている Arch Wiki の検索を活用しましょう。そのような情報が使える状態になっているのには理由があります。 途方もない時間がこの貴重な情報を編集するために無償で費やされているのです。
Arch 用語集#RTFM や インストールガイド も見てください。
Arch はどの用途向けに設計されていますか?サーバですか?デスクトップですか?ワークステーションですか?
Arch は特定の用途向けに設計されているわけではありません。むしろ、特定の "ユーザ" 向けに設計されています。Arch はなんでも自分でやることを楽しみ、各自のニーズに応じたシステムを構築するためにそれをよりよく活用する、やる気のあるユーザを対象にしています。したがって、その目的はユーザの思いのままであり、Arch は事実上あらゆる用途で使用できます。多くの人々が Arch をデスクトップとワークステーション両方で使用しています。そしてもちろん、archlinux.org・aur.archlinux.org とほとんど全ての Arch の インフラストラクチャ は Arch で動いています。
Arch はホント好きなんだけどね.開発チームがXの機能さえ実装してくれればなぁ
どうぞ積極的に参加してください.あなた自身がコードや解決策を提示することで コミュニティに貢献 しましょう.もし,コミュニティや開発チームから認められれば,あなたのコードはマージされるかも知れません.Archコミュニティはコードやツールの提供,シェアによって活性化していきます.
いつ新しいリリースが出るんでしょうか?
Arch Linux におけるリリースは単にインストールおよびレスキュー用のライブ環境で、base メタパッケージとその他いくつかの パッケージが含まれています。リリースは通常各月の前半頃に公開されます。
Arch Linux は堅牢なディストリなのでしょうか?しょっちゅう壊れたりしませんか?
ローリングリリースで構築された個人のシステムの堅牢性に関して、最終的な責任を負うのはユーザー自身です。ユーザーがいつアップグレードするのかを決め、必要な時に必要な変更をマージするのです。もしユーザーがコミュニティに助けを求めれば、救いの手はすぐに差し伸べられることが多いでしょう。この点に関して、Arch が他のディストリビューションから異なっているのは、Arch が本当に "Do-it-yourself" なディストロであることでしょう。破損についてクレームをつけるのは見当違いであり、非生産的です。アップストリームでの変更に関して Arch 開発チームは責任を負いかねるからです。
可能な限り安定する Arch Linux システムを構成するための方法やヒントについては、システムメンテナンスを参照してください。
Archのレビュー記事がもっと必要だ(宣伝が必要だ)
現状でもう十分な量のArchについての記事が書かれています.Archの目標は巨大になることではなく、持続的な成長が対象のユーザーベースの間で自然に起きることです。
Archの開発者がもっと必要だ
そうかも知れませんね.もっと柔軟にあなたの時間を使って貢献してください! フォーラムや,IRC チャンネル,メーリングリストなどに参加すれば,成すべきことがわかるはずです.詳細は コミュニティに貢献 を参照してください。
インストール
Arch はもっと良いインストーラーを付けるべきだ。たとえば GUI インストーラーとか
Arch には Arch Installation Framework (AIF) と呼ばれる、テキストベースのユーザーインターフェースを持ったインストーラがありました。最後のメンテナが去った後、arch-install-scripts の推奨により 廃止 されました。 2021-04-01 から、Arch はインストーラを再度含むようになりました。詳細は archinstall を参照してください。
Arch をインストールしたんですが、シェルのログイン画面が表示されてます! どうすれば良いのでしょう?
一般的な推奨事項を参照してください。
デスクトップ環境やウィンドウマネージャはどれを使えばいいですか?
たくさんありますので、あなたに一番あったものを使えばいいのです。デスクトップ環境やウィンドウマネージャも参照してください。
他の「ミニマル」なディストリビューションと比べて Arch のどこがユニークなんですか?
Arch と他のディストリビューションの比較 を参照してください。
システムメンテナンス
システムメンテナンス も参照してください。
他のOSに比べてインターネットの速度が遅いんだけど、どうして?
ネットワークは正しく設定されていますか?ネットワーク設定のページを参照してください。
また、Arch ではデフォルトでトラフィックシェーピングが有効になっていないことも注意してださい。従って、(P2P 上か通常のクライアント-サーバー通信かに関わらず)ネットワーク帯域を使い果たすプログラムは、ローカルの他のソフトの通信を妨げ、ひどいラグやタイムアウトのような結果になる可能性があります。 Shorewall や Vuurmuur などのファイアウォールや、 iproute2 の静的なスクリプト(例えば Wondershaper の 派生) によってネットワークレイヤーのシェーピングを行うことができます。
なんで Arch は RAM を全部使っちゃうわけ?
そもそも、使わない RAM は無駄な RAM です。
新米ユーザの方の多くは、Linux カーネルのメモリの扱い方が以前の方法と必ずしも同じにはならないことに気がつきます。RAM 上のデータへのアクセスはディスクに比べ非常に高速なので、カーネルは最近アクセスされたデータをメモリ上にキャッシュします。キャッシュされたデータは、利用可能なメモリを使い果たして、新しいデータがロードされる必要のある時のみクリアされます。
free
コマンドによって違いを見分けることができます:
$ free -h
total used free shared buff/cache available Mem: 2.8Gi 1.1Gi 283Mi 224Mi 1.4Gi 1.2Gi Swap: 3.0Gi 881Mi 2.1Gi
"free" と "available" メモリの違いは重要です。上の例において、ラップトップは 2.8GiB の RAM をほとんど使っていて、free なメモリはたった 283MiB しかありません。しかし、そのうち 1.4GiB は "buff/cache" です。スワップなしで 1.2GiB の available なメモリが新しいアプリケーションの起動に利用可能です。詳しくは free(1) を参照してください。これらは結果としてパフォーマンスを向上させます!
もしあなたの好奇心が刺激されたなら、こちらの素晴らしい記事も読んでみてください。こちらのウェブサイトでもこの混乱を整理して説明しています: https://www.linuxatemyram.com/ 。
わたしのディスクの空き領域はどこへ行ってしまったの?
その答えはあなたのシステムによって変わります。こちらに優れたユーティリティの一覧がありますので試してみてください。
パッケージ管理
pacman, Pacman ヒント, 公式リポジトリ により多くの答えがあります。
Xのパッケージにエラーがあったんだけど,どうしたらいいの?
まず,そのエラーはそもそもArch開発チームが修正できるものなのかどうかを見極めなければなりません.そうでない場合が往々にしてあります(例えばFirefoxのクラッシュは大抵の場合Mozillaチームのミスです).これを アップストリーム・エラー と言います.もしArchの問題であるならば以下の手順を参考に対処してください.:
- フォーラムに情報がないか探してみましょう.誰かが同じ問題について気付いていないかチェックしてください.
- 詳細な情報を書いたバグレポートを https://bugs.archlinux.org に投稿してください.
- もしお望みならば,フォーラムに質問を投げてみてもよいでしょう.その際,問題の詳細と,あなたが既にバグ・レポートを送った旨を明記してください.それによって同じエラーに関する報告が大量に投稿されるようなケースを回避できます.
Archのパッケージにはもっと適切な命名規則が必要だ。".pkg.tar.gz" とか ".pkg.tar.xz" なんて長すぎるし、ややこしい
これに関しては、Arch のメーリングリスト上で議論されています。.pac
のような拡張子を提案する人もいますが、現段階では、パッケージの拡張子を変更する具体的な計画はありません。Arch 開発者の一人である Tobias Kieslich の発言は示唆的です。「事実 package は gzip や xz で圧縮された tarball ファイルなわけじゃないか! だいたい tar が扱えるアプリケーションなら何だって開くことができるし、覗いて弄ることだってできるんだしさ。もっと言えば、mime-type なんてたいがいのアプリケーションが問題なく自動判別できるだろ?」
Pacman には他のアプリケーションがパッケージ情報を簡単に参照するためのライブラリが必要だ
pacman は libalpm(3) ("Arch Linux Package Management" library) のフロントエンドになっています。このライブラリは代替のフロントエンドの開発を可能にしています (例えばGUIフロントエンドのような)。
Pacman に X の機能を付けるべきだ!
そのアイデアにメリットがあると思うのであれば、pacman-dev で議論することができます。既存の機能リクエストがないか https://bugs.archlinux.org/index.php?project=3 も確認してみてください。
もっとも,ある機能をPacmanやArch Linuxに追加するために一番良い方法は,あなた自身がそれを実装することです.そのパッチがオフィシャルに取り込まれるかどうかはわかりませんが,いずれにせよあなたの骨折りは他のユーザーによって吟味され,検討されるでしょう.
X のパッケージをインストールしたんだけど,どうやって起動するの?
あなたが KDE や GNOME のようなデスクトップ環境を導入しているのなら、そのプログラムは自動的にメニューに登録されている筈です。ターミナルから起動しようとしていて、バイナリの名前がわからないというような場合は、次のコマンドで確認してください:
$ pacman -Qlq パッケージ名 | grep /usr/bin/
公式リポジトリにある共用ライブラリはそれぞれどうして一つのバージョンしか用意されてないんですか?
Debian などの一部のディストリビューションは、共用ライブラリパッケージにおいて libfoo1
、libfoo2
、libfoo3
といったように複数のバージョンを用意しています。この方法では同一のシステム上で異なるバージョンの libfoo ごとにアプリケーションのコンパイルが可能となります。
Arch のようなディストリビューションの場合、すべてのパッケージで公式にサポートされているのは最新バージョンのみであることを意味します。過去のソフトウェアをサポートしないことで、パッケージメンテナは最新のバージョンが期待通りに動くことの検証に割く時間をより多くとることができます。共有ライブラリの新しいバージョンがアップストリームからリリースされると、それはすぐにリポジトリに追加され、影響を受けるパッケージは新しいライブラリに合わせてリビルドされます。
もし、システム全体のアップグレード(pacman -Syu
)で共用ライブラリがアップデートされたのにそれに依存するアプリケーションがアップデートされなかったらどうなりますか?
それは起こってはならないシナリオです。公式リポジトリに foobaz
というアプリケーションがあり、libbaz
という共用ライブラリの新バージョンを使用してビルドされているとして、それは libbaz
のアップデートに合わせてアップデートされます。しかしもし、ビルドに失敗した場合は、そのパッケージ foobaz
にはバージョン制限のある依存関係 (例: libbaz=1.5) が指定され、libbaz
のアップグレードの際に pacman によってコンフリクトを理由に削除されます。
もし foobaz
が、あなた自身でビルドした、あるいは AUR からインストールしたパッケージであった場合には、新バージョンの libbaz
で foobaz
をリビルドしてみてください。ビルドが失敗した場合には foobaz
の開発者にそのバグを報告してください。
リポジトリのカーネルにメジャーアップデートがあったのに、ドライバが最新カーネル用にアップデートされないことはあり得ますか?
いいえ、ありえません。例えば 3.5.x
から 3.6.x
といったカーネルのメジャーアップデートは常にすべてのサポートカーネルドライバのリビルドを伴います。ただし、非サポートパッケージ (例えば AUR のパッケージ) を使用している場合には、最新のカーネルでそれをリビルドしなければトラブルが発生するかもしれません。サポートされていないドライバパッケージは、インストールしているユーザーがアップデートに全ての責任を負います。
アップグレードの前にやっておいたほうがいい事はありますか?
en:System maintenance#Upgrading the system セクションに従ってください。
パッケージのアップデートがリリースされているのに、pacman はシステムは最新だと出力する
pacman のミラーはすぐに同期されるわけではありません。アップデートが利用できるようになるまで24時間以上かかることもあります。取り得る選択肢は辛抱強く待つか、別のミラーを使うことだけです。MirrorStatus で最新のミラーを確認できます。
上流のプロジェクト X が新しいバージョンをリリースしています。Arch パッケージとして新しいバージョンにアップデートできるようになるまでにかかる時間は?
パッケージアップデートは準備ができ次第リリースされます。上流リリースがマイナーなバグ修正のみであれば数時間でパッケージがアップデートされることもありますし、メジャーアップデートであれば数週間後となることもあります。上流の新しいバージョンが Arch にリリースされるまでの時間はそのパッケージとパッケージメンテナによって変わります。一部のパッケージは testing リポジトリでしばらくテストされるため、パッケージが更新されるまでの時間が長い傾向にあります。パッケージメンテナは安定版のアップデートをリポジトリで素早く提供できるように尽力しています。公式リポジトリのパッケージが古くなっていることに気づいたら、パッケージウェブサイト から out-of-date フラグを立てて報告してください。
インストールしているライブラリの古いバージョンが必要なときは、新しいバージョンにシンボリックリンクを貼るだけでいいですか?
幸運であれば少しの間それで動くかもしれません。動いたとしても、以下の理由でそれは正しい解決法ではありません:
- ライブラリは意味もなくバージョンを変えません。API/ABI が変更されたり(いくつか削除されたり)することがあり、それが使用に影響するかは単に運次第です。
- シンボリックリンクはパッケージマネージャによって管理されません。すぐにシステムライブラリのファイルをハックしようとする初心者は、診断・修正が不可能な意図していない変更を加える大きなリスクを持っています。パッケージマネージャはこのような問題から守る手助けをしています。
- 古いライブラリファイルをファイルシステムにコピーする代替手段もありますが、追跡されない上に忘れられやすく、潜在的なセキュリティのバグが気付かれず、また修正されません。
代わりに、例えば必要なライブラリのバージョンを提供する互換パッケージを使うか、もしくは作ってください。
64ビット
私のプロセッサが x86_64 に対応しているかどうかを知る方法は?
使っているプロセッサが x86_64 に対応している場合、/proc/cpuinfo
の中にlm
(Longモード) フラグがあります。例えば以下のコマンドを実行してください:
$ grep -w lm /proc/cpuinfo
Windows 上では、 フリーウェアである CPU-Z を使って、64ビット互換があるかどうか確認できます。AMD の命令セットである AMD64 または Intel の命令セット EM64T は x86_64 のバイナリと互換性があります。
64ビットにする理由は?
多くの状況下で (32ビットに比べて) 高速であり、通常の i686 カーネルでは 物理アドレス拡張 (PAE) が無効化されているために利用できないアドレス空間配置のランダム化 (ASLR) や 位置独立コード (PIC)、NX ビットを使用することによりセキュリティが向上することが挙げられます。もしコンピューターに 4GB 以上のメモリが載っている場合、64ビットの OS のみが全てを活用することができます。
更に、64ビットの拡張をサポートしている新しい x86 CPU に対して、レガシーな32ビットの CPU をプログラマーがサポートしなくなってきているというのもあります。
以上の理由が32ビット環境を避けるべきという我々のアドバイスですが、カーネルやユーザースペース、個々のプログラムなど、64ビットの方が優れているものは他にもたくさんあり、全てをここに書き出す事は出来ません。