ホームページ  >  記事  >  運用・保守  >  Linuxの依存関係パッケージとは何ですか

Linuxの依存関係パッケージとは何ですか

藏色散人
藏色散人オリジナル
2023-03-24 09:28:352118ブラウズ

Linux 依存関係パッケージは「ライブラリ ファイル」を指します。ほとんどの依存関係パッケージは、ダイナミック ライブラリや静的ライブラリを含むライブラリ ファイルです。Linux システムは、他のオペレーティング システムと同様に、設計がモジュール化されており、機能が実装されていると言われています。相互に依存しており、一部の関数はそれらをサポートするために他の関数を必要とするため、コードの再利用性が向上します。

Linuxの依存関係パッケージとは何ですか

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

依存関係パッケージとは何ですか?依存関係パッケージをダウンロードする理由は何ですか?

Linux システムは、他のオペレーティング システムと同様、モジュール設計になっています。つまり、関数は相互に依存しており、一部の関数はそれらをサポートするために他の関数を必要とするため、コードの再利用性が向上します。

依存関係パッケージのほとんどは、ダイナミック ライブラリやスタティック ライブラリなどのライブラリ ファイルです。プログラムの依存関係パッケージがインストールされておらず、プログラム自体だけがインストールされている場合、そのプログラムは使用できません。

DLL などの Windows ライブラリ ファイルのようなものとして理解できます。

たとえば、あるソフトウェアをインストールしたい場合、このソフトウェアは特定の開発パッケージに依存しています。この開発パッケージには環境ファイルが含まれています。ソフトウェアを実行するための依存関係です。

別の例として、Youku にアクセスしてビデオを見たいとします。

##フラッシュをインストールするだけです。 Youkuのプレーヤーはフラッシュをベースに開発されているためです。

インストールしたいパッケージに必要な依存関係パッケージをクエリするにはどうすればよいですか?

現時点では、rpm または yum という非常に一般的なコマンドを使用する必要があります。

クエリを実行するには?

1. rpm を介したクエリ

[root@testvm02 ~]# rpm -q ghostscript   #查看对应的rpm包.
ghostscript-8.70-19.el6.x86_64
[root@testvm02 ~]# rpm -qR ghostscript  #R的意思就是requires就是依赖哪些软件包.
/bin/sh  
/sbin/ldconfig  
/sbin/ldconfig  
config(ghostscript) = 8.70-19.el6
ghostscript-fonts  
libICE.so.6()(64bit)  
libSM.so.6()(64bit)  
libX11.so.6()(64bit)  
libXext.so.6()(64bit)  
libXt.so.6()(64bit)  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.11)(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libc.so.6(GLIBC_2.4)(64bit)  
libc.so.6(GLIBC_2.7)(64bit)  
libcairo.so.2()(64bit)  
libcom_err.so.2()(64bit)  
libcrypt.so.1()(64bit)  
libcups.so.2()(64bit)  
libcupsimage.so.2()(64bit)  
libdl.so.2()(64bit)  
libdl.so.2(GLIBC_2.2.5)(64bit)  
libfontconfig.so.1()(64bit)  
libgs.so.8()(64bit)  
libgssapi_krb5.so.2()(64bit)

注: 上記のクエリは依存ソフトウェア パッケージです。

2. yum を介した依存プログラムのクエリ

[root@testvm02 ~]# yum deplist ghostscript
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Finding dependencies: 
package: ghostscript.i686 8.70-19.el6
  dependency: libc.so.6(GLIBC_2.11)       #依赖的库或者程序
   provider: glibc.i686 2.12-1.149.el6    #这个库是通过哪个rpm包安装的.
  dependency: libXext.so.6
   provider: libXext.i686 1.3.2-2.1.el6
  dependency: libpng12.so.0
   provider: libpng.i686 2:1.2.49-1.el6_2
  dependency: libpng12.so.0(PNG12_0)
   provider: libpng.i686 2:1.2.49-1.el6_2
  dependency: libpthread.so.0(GLIBC_2.1)
   provider: glibc.i686 2.12-1.149.el6
  dependency: libdl.so.2
   provider: glibc.i686 2.12-1.149.el6

3. このソフトウェアがどのソフトウェアに依存しているかを確認します (つまり、ソフトウェアを削除する場合、どのソフトウェアが動作に影響を与えるか)

[root@testvm02 ~]# rpm -q nfs-utils         #查看这个软件是否安装.
nfs-utils-1.2.3-54.el6.x86_64
[root@testvm02 ~]# rpm -e --test nfs-utils  #通过--test进行测试删除,查看是否有依赖关系,如果有会阻止删除.测试是否能够删除.
error: Failed dependencies:
    nfs-utils >= 1.2.1-11 is needed by (installed) nfs-utils-lib-1.1.5-9.el6.x86_64  #有其他的软件包依赖这个软件包,如果删除可能对这个程序有影响.
[root@testvm02 ~]# rpm -e --test nfs-utils
error: Failed dependencies:
    nfs-utils >= 1.2.1-11 is needed by (installed) nfs-utils-lib-1.1.5-9.el6.x86_64
[root@testvm02 ~]# rpm -e --test gcc  #测试删除gcc,没有报错,也就是没有别的地方依赖它,可以进行删除.
[root@testvm02 ~]# rpm -q gcc         #上面的--test并没有真正删除
gcc-4.4.7-11.el6.x86_64
[root@testvm02 ~]# rpm -e gcc         #不带--test参数,进行真正的删除.
[root@testvm02 ~]# rpm -q gcc         #再次查询没有这个gcc已经被删除掉了.
package gcc is not installed

関連する推奨事項: 「

Linux ビデオ チュートリアル

」 「###

以上がLinuxの依存関係パッケージとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。