GNU/Linux >> Linux の 問題 >  >> Panels >> Webmin

ソフトウェアパッケージ

この章では、ソフトウェアのインストールと管理について説明します。 パッケージを使用してシステム上で 。また、RPM、DPKG、SolarisなどのさまざまなUnixパッケージ形式の違いについても説明します。

コンテンツ

パッケージの概要

すべてのLinuxシステムは、プログラムのインストールと削除のプロセスを簡素化するために、ある種のソフトウェアパッケージングシステムを使用しています。パッケージは、コマンド、構成ファイル、マニュアルページ、共有ライブラリ、およびApacheWebサーバーやSendmailMail Serverなどの単一のプログラムに関連付けられているその他のファイルのコレクションであり、単一のパッケージファイルにまとめられています。インストールされると、パッケージシステムはすべてのコンポーネントファイルを抽出し、システムの正しい場所に配置します。システムはすべてのファイルがどのパッケージからのものであるかを知っているので、パッケージを削除したいときに、どのファイルを削除するかを正確に知っています。

Linuxのほぼすべてのバージョンで、パッケージには通常、コンパイルされたCPUアーキテクチャでのみ動作するコンパイル済みプログラムが含まれています。 Linuxは多くの異なるCPUタイプ(いくつか例を挙げるとx86、Alpha、IA64)をサポートしているため、一部のプログラムには、いくつかの異なるCPU用にコンパイルされたパッケージがあります。パッケージは、適切なCPUアーキテクチャを備えたシステムにのみインストールできます。アーキテクチャに依存しない場合を除きます。アーキテクチャに依存しない場合は、任意のシステムタイプにインストールされます。 Perl(Webminなど)のような言語で書かれたプログラムや、ドキュメントのみを含むパッケージは、通常、CPUに依存しません。

Linuxディストリビューションがインストールされると、ハードディスクに配置されるほとんどすべてのファイルがディストリビューションのパッケージの1つのメンバーになります。これにより、デフォルトでインストールされていた不要なソフトウェアを簡単に削除したり、配布CDまたはWebサイトからソフトウェアを追加したりできます。

一部のプログラムは他のプログラムに依存して動作するため、パッケージにも依存関係がある可能性があります。最初に別のパッケージをインストールしない限り、特定のパッケージのインストールに失敗する場合があります。また、他のパッケージがそれらに依存している場合、一部のパッケージは削除できない場合があります。この依存関係のシステムは、共有ライブラリまたはコマンドがないために機能しないソフトウェアをインストールすることからユーザーを保護します。

パッケージシステムは、各パッケージに含まれるファイルを正確に認識しているため、その情報を使用して、インストール後にファイルを検証できます。すべてのパッケージシステムは、各ファイルのMD5チェックサムも追跡するため、パッケージ内のファイルに対する手動の変更を検出できます。これは、システムをクラックして ls などの重要なコマンドを置き換えた攻撃者など、不正な変更を検出するのに非常に役立ちます。 変更されたバージョンで検索します。

残念ながら、Linuxには複数のパッケージシステムがあります。最も一般的なのはRPMで、これはRedhatPackageManagerの略です。これは、Redhat、Caldera、SuSE、Mandrake、MSC、およびその他のいくつかのLinuxディストリビューションで使用されています。それはうまく機能し、RPM形式で利用できるソフトウェアは他のどのパッケージシステムよりも多くあります。 RPMパッケージのインストール、クエリ、および削除は、rpmシェルコマンドを使用して実行されます。

RPMの最大の競争相手は、DebianのDPKGパッケージ形式です。特に依存関係に関しては、多くの点で技術的に優れていますが、Debianと他のいくつかのディストリビューションのみが使用しています。 dpkgおよびdeselectコマンドは、Debianパッケージを管理するためにシェルプロンプトで使用されます。

もう1つのパッケージシステムはGentooのEmergeで、これはGentooLinuxでのみ使用できます。 Emergeと他のパッケージシステムの最大の違いは、ほとんどすべてのパッケージに、パッケージのインストール時にコンパイルされるソースコードが含まれていることです。すべてのGentooパッケージのインストールと管理は、emergeコマンドを使用して行われます。

これらのパッケージシステムは内部的に異なり、互換性のないファイル形式を使用していますが、基本的に同じ機能を提供します。すべてが同じプログラムに関連する複数のファイルを1つのパッケージファイルに結合して、インストールと削除を容易にし、すべてが依存関係をサポートすることを可能にします。残念ながら、Linuxディストリビューションを選択すると、別のパッケージシステムに変更することは非常に困難であるため、ディストリビューションが使用するものに固執します。

RPMを使用するほとんどのディストリビューションでは、パッケージはディストリビューションCDからインストールされるか、インターネット上のさまざまなサイトからダウンロードされます。ただし、DebianLinuxにはapt-getというコマンドが含まれています ディストリビューションメンテナが実行するリポジトリからパッケージを自動的にダウンロードしてインストールできます。パッケージがシステムにまだインストールされていない他のものに依存している場合、それらも自動的にダウンロードされてインストールされます。リポジトリ内のすべてのパッケージは同じ人によって作成および保守されるため、それらの間の非互換性が減少し、依存関係が簡単に解決されます。リポジトリには、インストールする可能性のあるほぼすべてのフリーソフトウェアプログラムのパッケージも含まれているため、インターネットで必要なパッケージを検索する必要はありません。

Debianリポジトリを使用して、システム上のすべてのパッケージを最新バージョンに更新することもできます。パッケージの新しいバージョンが頻繁にリリースされるため(特に不安定なリリースを使用している場合やDebianリリースをテストしている場合)、アップデートはすべての最新バージョンを実行していることを確認する簡単な方法です。ただし、インターネットへの高速接続がない場合は、更新ごとに多くの新しいパッケージがダウンロードされる可能性があるため、これには長い時間がかかる可能性があります。

Gentoo LinuxのEmergeシステムには、emergeコマンドを使用してパッケージを自動的にダウンロードおよびインストールできるリポジトリもあります。 Debianのapt-getと同様に、必要に応じて依存関係を満たすために必要なパッケージを自動的にダウンロードしてインストールします。

Redhatシステムは、Redhatネットワークの一部としてパッケージリポジトリにもアクセスできます。これにより、更新されたパッケージをRedhat Webサイトで選択し、自動的に、または要求に応じて複数のシステムにインストールできます。 DebianやGentooリポジトリとは異なり、通常、新しいパッケージのインストールには使用されません。

ソフトウェアパッケージモジュール

ソフトウェアパッケージモジュールは、使用されている実際のパッケージシステムに関係なく、パッケージをインストール、検索、および削除するための一貫したインターフェイスを提供します。そのアイコンは[システム]カテゴリの下にあり、クリックすると以下に示すメインページに移動します。

ソフトウェアパッケージモジュールのメインページ

Linuxディストリビューションによっては、ページの外観が若干異なる場合があります。リポジトリからインストールするための追加のボタンとフィールドが表示される場合があります。ただし、パッケージを検索するための上部セクション、パッケージをインストールするための中央セクション、およびファイルを識別するための下部セクションは常に存在します。

新しいパッケージのインストール

このモジュールを使用して新しいプログラムをインストールする前に、まず正しい形式のパッケージファイルを見つける必要があります。 RedhatのようなRPMベースのディストリビューションの場合、見るのに最適な場所はディストリビューションCDまたはrpmfind.netWebサイトです。 Debian Linuxを使用している場合は、利用可能なほとんどすべてのパッケージが含まれているため、APTリポジトリからインストールしてみることをお勧めします。いずれにせよ、パッケージをインストールする手順は似ています:

  1. モジュールのメインページで、[*新しいパッケージのインストール*]フォームまで下にスクロールします。このフォームを使用して、パッケージを選択し、インストールプロセスを開始します。
  2. パッケージファイルがWebminを実行しているシステム上にある場合は、ローカルファイルからを選択します オプションを選択し、パッケージファイルへのフルパスを入力します。システムでRPMパッケージを使用している場合は、複数の.rpmファイルまたは /tmp/*.rpmなどのワイルドカードを含むディレクトリに入ることができます。 同じように。これを使用して、一度に複数のパッケージをインストールできます。ブラウザが実行されているコンピュータにパッケージがある場合は、アップロードされたファイルからを選択します オプションを選択し、参照をクリックします ボタンをクリックしてパッケージファイルを選択します。 Webminシステムのコンソールでブラウザを実行している場合、このオプションと前のオプションに違いはありません。パッケージがWebサイトのどこかにある場合は、FTPまたはhttpURLからを選択します。 オプションを選択し、URLを入力するか、その横のテキストフィールドに貼り付けます。 Webminは、インストールを開始する前にダウンロードを行います。システムでRPMパッケージを使用していて、rpmfindコマンドがインストールされている場合は、rpmfind.netを検索します。 URLフィールドの横にあるボタンをクリックすると、http://rpmfind.net/でRPMデータベースを検索するためのウィンドウがポップアップ表示されます。 Debian Linuxを実行している場合は、* Package from APT *オプションを選択し、その横のテキストフィールドにパッケージ名を入力できます。 APTの検索をクリックします 何と呼ばれているのか正確にわからない場合は、ボタンをクリックしてパッケージ名を検索します。 Redhat Linuxを実行している場合、RedhatNetworkからのパッケージ オプションを使用して、ダウンロード可能なパッケージの1つをインストールできます。 検索RHN ボタンを使用して、使用可能なすべてのものを表示できます。 Gentoo Linuxを実行している場合は、Portageリポジトリから オプションと検索 ボタンを使用して、リポジトリからインストールできます。実際、リポジトリの外にあるGentooパッケージはごくわずかです。
  3. パッケージソースを入力したら、インストールをクリックします ボタン。リポジトリ(APT、Redhat Network、Portageなど)からインストールすることを選択した場合、ダウンロードとインストールのプロセスがすぐに開始されます。 Webminは、installコマンドからの出力を表示し、成功した場合は、インストールされたパッケージのリストを表示します。インストールプロセスを完了するために他の手順は必要ありません。他のインストールソースを選択した場合は、必要に応じてパッケージがダウンロードされ、インストールオプションフォームが表示されます。
  4. 使用可能なインストールオプションはパッケージシステムによって異なりますが、デフォルトは、依存関係の問題なしにパッケージをアップグレードまたはインストールするために正常に機能します。 RPMベースのシステムにはいくつかのオプションがあり、その中で最も便利なものは次のとおりです。*依存関係を無視しますか? *正しくないことがわかっている依存関係エラーが原因でパッケージのインストールに失敗する場合は、このオプションをはいに設定してください。 。後で依存関係の問題を解決するためにパッケージをインストールする場合にも役立ちます。 *新しいバージョンを古いバージョンに置き換えますか? *パッケージを古いバージョンにダウングレードする場合は、このオプションをはいに設定する必要があります 。 *ファイルを上書きしますか? *別のパッケージのファイルと競合するためにパッケージをインストールできない場合は、このオプションを有効にしてください。
  5. インストールオプションの選択が完了したら、インストールをクリックします ボタン。すべてがうまくいけば、新しいパッケージとそれに含まれるすべてのファイルの詳細を示すページが表示されます。ただし、インストールが失敗した場合は、理由を説明するエラーメッセージが表示されます。その場合は、ブラウザの戻るボタンを使用してインストールオプションフォームに戻り、別の選択肢で再試行できます。
パッケージツリー

パッケージの検索と削除

一般的なLinuxシステムには何百ものパッケージがインストールされており、そのほとんどはディストリビューションインストールプロセスの一部としてインストールされています。非常に多くあるため、それらを簡単に参照して、削除したいものを見つけたり、詳細を表示したりすることは困難です。 1つまたは複数のパッケージを見つけるには、次の手順に従います。

  1. モジュールのメインページで、パッケージの検索に検索キーワードを入力します 分野。これはすべてのパッケージの名前と説明と照合されるため、 apacheのように入力できます。 Apacheに関連するすべてのものを見つけるために。
  2. パッケージの検索をクリックします ボタンをクリックすると、一致するすべてのパッケージのリストが表示され、パッケージが1つだけ見つかった場合はその詳細が表示され、見つからなかった場合はエラーメッセージが表示されます。リストが表示された場合は、パッケージ名の1つをクリックして、詳細を確認してください。
  3. パッケージの詳細ページ(以下に表示)には、完全な説明を含む、利用可能なすべての情報が表示されます。含まれているすべてのファイルを表示するには、ファイルの一覧表示をクリックします。 ボタン。これにより、各ファイルのパス、タイプ、所有者、グループ、および検証ステータスを示すページが表示されます。ステータスは、パッケージのインストール後にファイルが手動で変更されたかどうかを確認できるため、特に便利です。
パッケージの詳細ページ

メインページの[パッケージツリー]ボタンをクリックして、パッケージを手動で参照することもできます。ほとんどのオペレーティングシステムでは、各パッケージは Developmentなどのクラスのメンバーです。 または管理/ネットワーキング 。パッケージツリーページは、このクラス情報を使用して、ディレクトリツリーのように、インストールされているすべてのパッケージを階層で表示します。パッケージレベルに到達するまで、フォルダアイコンをクリックして、クラスを開くことができます。パッケージアイコンをクリックすると、上記の手順で説明したのと同じ詳細ページに移動します。

コマンドまたはファイルの名前がわかっていて、それが属するパッケージを見つけたい場合は、ファイルを特定する メインページのフォームを使用できます。 検索にフルパス(/etc/rc.d/init.d/httpdなど)またはコマンド(apachectlなど)を入力します フィールドをクリックし、ボタンを押します。ファイルまたはコマンドがパッケージシステムに認識されている場合、そのファイルまたはコマンドに関する情報が、それが属するパッケージのリストとともに表示されます。パッケージ名の1つをクリックすると、上記の情報ページに移動します。

ツリーを検索または参照してパッケージが見つかったら、次の手順に従ってシステムからパッケージを削除できます。

  1. パッケージの詳細ページで、[アンインストール]をクリックします ボタン。これにより、パッケージ内のファイルの数とそれらが占有するディスク容量を示す確認ページが表示されます。
  2. RPMパッケージングシステムを使用している場合、依存関係を無視しますか? オプションははいに設定できます 他のパッケージが削除されることに依存している場合でも、強制的にアンインストールします。
  3. 削除をクリックします パッケージを削除するボタン。問題が発生した場合は、エラーメッセージが表示されます。成功すると、ブラウザはモジュールのメインページに戻るか、検索を使用してパッケージが見つかった場合はパッケージ検索結果リストに戻ります。
検索パッケージの結果


DebianLinuxでの更新

Debian Linuxを実行している場合、モジュールのメインページの下部にすべてのパッケージのアップグレードという見出しのフォームがあります。 。このフォームには、次の3つのオプションがあります。

パッケージリストを再同期する
このオプションがはいに設定されている場合 、ダウンロード可能なパッケージの最新リストを取得するために、Debianパッケージリポジトリが照会されます。これは、アップグレードの前に実行して、APTリポジトリからパッケージをインストールするときにシステムがダウンロード元のURLを認識できるようにする必要があります。パッケージリストの同期に使用される実際のコマンドはapt-getupdateです。
ディストリビューションのアップグレードを実行する
このオプションがはいに設定されている場合 、フォームが送信されると、Debianシステムは最新のディストリビューションリリースにアップグレードされます。デフォルトのいいえ 選択すると、インストールされているすべてのパッケージが最新バージョンになるように簡単に更新されます。高速なネットワーク接続があり、本当にアップグレードしたい場合を除いて、このオプションをいいえのままにしておくことをお勧めします。 。 はいの場合 を選択すると、コマンドapt-getupgrade-distが実行されます。 いいえの場合 、apt-getアップグレードが代わりに使用されます。
アップグレードされるパッケージのみを表示
はいに設定されている場合 、フォームの送信時に実際には何もインストールされません。代わりに、更新またはインストールされるパッケージのリストが表示されます。これは、実際に先に進む前に、更新を実行したときに何が起こるかを正確に確認したい場合に役立ちます。

選択したら、[今すぐアップグレード]をクリックします ボタン。 Webminは適切なapt-getコマンドを実行してその出力を表示するため、ダウンロードおよび更新されたパッケージを確認できます。

RedhatLinuxでの更新

Redhatは、RedhatNetworkと呼ばれるLinuxディストリビューションのユーザーにサービスを提供します。その機能の1つを使用すると、更新されたRPMパッケージをシステムに自動的にインストールして、ディストリビューションに付属のパッケージにあるバグやセキュリティホールを修正できます。 Redhat Linuxを実行している場合は、メインページの下部の Redhat Network Optionsという見出しの下にフォームが表示されます。 これを使用して、更新されたパッケージの自動インストールを構成できます。使用する前に、Redhat Networkにサインアップし、Webminを実行しているシステムを登録しておく必要があります。

このフォームは、実際には2つの目的を果たします。新しいパッケージを定期的にチェックする更新デーモンの設定を変更することと、即時更新を強制することです。フォームのフィールドは次のとおりです。

更新を自動的に確認しますか?
このオプションがはいに設定されている場合 、更新をチェックする<> ttrhnsd デーモンは、起動時に開始するように構成され、必要に応じてフォームが送信されたときに開始されます。 いいえに設定する デーモンを停止し、起動時にデーモンが開始されないようにします。
チェック間隔
自動更新デーモンが有効になっている場合、新しいパッケージのチェック間の分数はこのオプションによって決定されます。
ダウンロード用のプロキシサーバーのURL
システムがRedhatWebサイトに直接接続できない場合は、このオプションをWebプロキシサーバーのURLに設定する必要があります。 http://proxy.company.com:8000/のようにフォーマットする必要があります 。
一致するパッケージをスキップ
このオプションは、自動的に更新したくないパッケージ名のパターンのリストを入力するためのものです。デフォルトでは、カーネルアップデートが自動的にインストールされるのを防ぎます。

保存して適用 ボタンをクリックすると、設定が保存され、必要に応じてrhnsdデーモンが起動または停止します。 今すぐ保存して確認 ボタンは同じことをしますが、 up2dateも実行します 新しいパッケージをすぐに確認してダウンロードするコマンド。コマンドからのすべての出力が表示されるので、どのパッケージが更新されているかを確認できます。

その他のオペレーティングシステム

Linuxは、ソフトウェアのインストールと削除のプロセスを簡素化するためにパッケージを使用するUnixの唯一のバージョンではありません。以下にリストされているオペレーティングシステムは、ほぼ同じユーザーインターフェイスでソフトウェアパッケージモジュールを使用することもできます。ただし、それぞれにLinuxやその他のさまざまなUnixと互換性のない独自のパッケージ形式があります。各UnixのパッケージシステムとRPMの違いを以下に説明します。

Sun Solaris、SCO OpenServer、およびSCO UnixWare

これらのオペレーティングシステムはすべて同じ基本的なSystemVパッケージ形式を使用していますが、一方のパッケージを他のオペレーティングシステムにインストールすることはできません。

パッケージファイルには通常、何かという名前が付けられます .pkgまたは何か .pkg.gz。パッケージファイルが圧縮されている場合、Webminはそれを自動的に解凍します。

ファイルには複数のパッケージを含めることができ、Webminを使用するとすべてがインストールされます。 -SystemVパッケージ用のパッケージリポジトリまたは検索サービスは存在しません。 -/ usr / binのようなディレクトリは、多くの場合、複数のシステムパッケージ間で共有されます。

FreeBSD、NetBSD、OpenBSD

パッケージファイルの名前は何かのようになります .tgzであり、実際には特別にフォーマットされたtarファイルです。

WebminはBSDパッケージのリポジトリをサポートしていません。

HP / UX

HP / UXは、独自のDepotパッケージ形式を使用します。パッケージファイルは通常、何かのような名前が付けられます。 .depotまたは何か .depot.gz。パッケージが圧縮されている場合、Webminは自動的に解凍します。

WebminはHP/UXパッケージのリポジトリをサポートしていません。


Webmin
  1. パッケージマネージャーの進化

  2. Ubuntu11.10およびUbuntu11.04にRPMパッケージをインストールします

  3. CWPでホスティングパッケージを作成/削除する

  1. Ubuntuにインストールされているパッケージを一覧表示する方法

  2. Openbsd 5.1でダウンロードしたパッケージを確認する方法は?

  3. 新しいパッケージと新しいバージョン?

  1. UbuntuにRPMパッケージをインストールする方法

  2. Ubuntuからソフトウェアパッケージをアンインストールまたは削除する方法

  3. UbuntuにRPMパッケージをインストールする