コンピュータシステムへのアプリケーションのインストールは非常に簡単です。アーカイブからファイル(.zipファイルなど)を、オペレーティングシステムがアプリケーションがあると想定している場所のターゲットコンピューターにコピーします。私たちの多くは、コンピューターにソフトウェアをインストールするのに役立つ豪華なインストーラー「ウィザード」を使用することに慣れているため、プロセスは技術的には実際よりも複雑になるはずです。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
とは ただし、複雑なのは、アプリケーションを構成するものの問題です。ユーザーが単一のアプリケーションと考えるものには、実際にはソフトウェアライブラリ(つまり、.so
)から借用したコードが含まれています Linux上のファイル、.dll
Windows上のファイル、および.dylib
macOSの場合)オペレーティングシステム全体に散在しています。
ユーザーが相互依存するコードの真のマトリックスについて心配する必要がないように、Linuxはパッケージ管理システムを使用しています。 どのアプリケーションがどのライブラリを必要としているか、どのライブラリまたはアプリケーションにセキュリティまたは機能の更新があるか、および各ソフトウェアタイトルでインストールされた追加のデータファイルを追跡するため。パッケージマネージャーは、基本的にインストーラーウィザードです。それらは使いやすく、グラフィカルインターフェイスと端末ベースのインターフェイスの両方を提供し、あなたの生活を楽にします。ディストリビューションのパッケージマネージャーをよく知っているほど、生活が楽になります。
Linuxへのアプリケーションのインストール
Linuxにアプリケーションをインストールしたいカジュアルなデスクトップユーザーの場合は、デスクトップアプリケーションブラウザであるGNOMESoftwareを探しているかもしれません。
期待どおりに機能します。便利と思われるアプリケーションが見つかるまでインターフェースをクリックしてから、インストールをクリックします。 ボタン。
または、.rpm
を開くこともできます または.flatpakref
GNOMEソフトウェアでWebからダウンロードしたパッケージをインストールします。
入力したコマンドでコンピューターを制御したい場合は、読み進めてください!
dnfを使用したソフトウェアの検索
アプリケーションをインストールする前に、アプリケーションがディストリビューションのサーバーに存在することを確認する必要がある場合があります。通常、dnf
を使用してアプリケーションの一般名を検索します 十分です。たとえば、最近コックピットに関する記事を読んで、試してみたいと思ったとします。 cockpit
を検索できます ディストリビューションに含まれていることを確認するには:
$ dnf search cockpit
Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
==== Name Exactly Matched: cockpit ====
cockpit.x86_64 : Web Console for Linux servers
==== Name & Summary Matched: cockpit ==
cockpit-bridge.x86_64 : Cockpit bridge server-side component
cockpit-composer.noarch : Composer GUI for use with Cockpit
[...]
完全に一致します。一致としてリストされているパッケージは、cockpit.x86_64
と呼ばれます。 、ただし.x86_64
名前の一部は、互換性のあるCPUアーキテクチャのみを示しています。デフォルトでは、システムは一致するCPUアーキテクチャを備えたパッケージをインストールするため、その拡張機能は無視できます。したがって、探しているパッケージが実際には単にcockpit
と呼ばれていることを確認しました。 。
これで、dnf install
を使用して自信を持ってインストールできます 。この手順には管理者権限が必要です:
$ sudo dnf install cockpit
多くの場合、これは典型的なdnf
です。 ワークフロー:検索してインストールします。
ただし、dnf search
の結果が表示される場合があります 明確ではないか、パッケージの一般名だけでなく、パッケージに関する詳細情報が必要です。関連するdnf
がいくつかあります 探している情報に応じて、サブコマンド。
検索で閉じると感じた場合 必要なパッケージに追加しますが、まだよくわからない場合は、プロジェクトのURLや説明などのパッケージのメタデータを確認すると役立つことがよくあります。この情報を取得するには、直感的なdnf info
を使用してください コマンド:
$ dnf info terminator
Available Packages
Name : terminator
Version : 1.92
Release : 2.el8
Architecture : noarch
Size : 526 k
Source : terminator-1.92-2.el8.src.rpm
Repository : epel
Summary : Store and run multiple GNOME terminals in one window
URL : https://github.com/gnome-terminator
License : GPLv2
Description : Multiple GNOME terminals in one window. This is a project to produce
: an efficient way of filling a large area of screen space with
: terminals. This is done by splitting the window into a resizeable
: grid of terminals. As such, you can produce a very flexible
: arrangements of terminals for different tasks.
この情報ダンプは、利用可能なパッケージのバージョン、システムに登録されているリポジトリが提供するもの、プロジェクトのWebサイト、およびその機能の詳細な説明を示します。
どのパッケージがファイルを提供しますか?
パッケージ名は、探しているものと常に一致するとは限りません。たとえば、qmake-qt5
と呼ばれるものをインストールする必要があることを示すドキュメントを読んでいるとします。 :
$ dnf search qmake-qt5
No matches found.
dnf
データベースは広範囲にわたるため、完全一致の検索に制限する必要はありません。 dnf provides
を使用できます 何かがあなたが探しているものをいくつかのより大きなパッケージの一部として提供するかどうかを知るためのコマンド:
$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
これにより、アプリケーションがqmake-qt5
であることを確認できます。 qt5-qtbase-devel
という名前のパッケージの一部です 。また、アプリケーションが/usr/bin
にインストールされることも通知します。 、インストールするとどこにあるかが正確にわかります。
パッケージにはどのファイルが含まれていますか?
dnf
に近づいていることに気付くことがあります まったく別の角度から。時々、アプリケーションがシステムにインストールされていることをすでに確認しています。どうやって手に入れたのかわからない。また、特定のパッケージがインストールされていることはわかっていますが、そのパッケージがシステムに何を入れているのか正確にはわかりません。
パッケージのペイロードを「リバースエンジニアリング」する必要がある場合は、dnf repoquery
を使用できます。 --list
と一緒にコマンド オプション。これにより、パッケージに関するリポジトリのメタデータが確認され、そのパッケージによって提供されるすべてのファイルのリストが返されます。
$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]
これらのリストは長くなる可能性があるため、less
を介してコマンドをパイプするのに役立ちます またはお気に入りのポケットベル。
システムにアプリケーションをインストールする必要がなくなった場合は、dnf remove
を使用できます。 それをアンインストールするには、そのパッケージの一部としてインストールされたすべてのファイル、および不要になった依存関係:
$ dnf remove bigapp
場合によっては、依存関係が1つのアプリでインストールされ、後でインストールする他のアプリケーションで役立つことがわかります。 2つのパッケージに同じ依存関係が必要な場合は、dnf remove
しない 依存関係を削除します。多くのアプリケーションをインストールおよびアンインストールした後、あちこちでパッケージが迷子になることは前例のないことではありません。年に1回程度、dnf autoremove
を実行します 未使用のパッケージをクリアするには:
$ dnf autoremove
これは必須ではありませんが、コンピュータの気分を良くするためのハウスクリーニングの手順です。
dnfを理解する
パッケージマネージャーがどのように機能するかを理解すればするほど、必要に応じてアプリケーションをインストールしてクエリを実行するのが簡単になります。通常のdnf
でなくても ユーザーの方は、RPMベースのディストリビューションとのインターフェースを見つけたときにそれを知っておくと便利です。
yum
を卒業した 、私のお気に入りのパッケージマネージャーの1つは、dnf
です。 指図。すべてのサブコマンドが好きというわけではありませんが、より堅牢なパッケージ管理システムの1つであることがわかりました。 dnf
をダウンロードする 虎の巻 コマンドに慣れるために、そしてそれでいくつかの新しいトリックを試すことを恐れないでください。慣れてしまえば、他のものを使うのは難しいかもしれません。