web-dev-qa-db-ja.com

Linuxにインストールされているアプリケーションを知るにはどうすればよいですか?

Linuxで次のことを理解しようとしています。 Windowsでは、実行または「起動」するサービスがあります。アプリケーションをインストールすると、サービスとしてインストールされ、自動的に起動します。

しかし、アプリケーションがサービスとしてインストールされていない場合、通常、Start->プログラムメニュー。したがって、インストールされているアプリケーションがわかります。

Linuxで同等のものは何ですか?同等のサービスが/etc/initにあり、サービスが開始/停止することを理解しています。しかし、パッケージをインストールしても、必ずしも/etc/initに起動スクリプトが作成されるとは限らないと思います。

したがって、どのようにインストールされ、Linuxで使用できるかを知るにはどうすればよいですか(WindowsでStartからできるように)->プログラム)?

注: CLIモードについて質問しています。デスクトップバージョンでは、さまざまなメニューに関連するアイコンが表示されると思います(たとえば、KubuntuではApplication->インターネット->Firefox)。

1
Jim

多くの質問。カップルを取り上げて、問題を解決できないかどうか確認してみましょう。

Q1

同等のサービスが/ etc/initにあり、サービスが開始/停止することを理解しています。しかし、パッケージをインストールしても、/ etc/initに起動スクリプトが作成されるとは限りません。

Linuxディストリビューション(dpkg/APT、RPM/YUM、pacmanなどのパッケージマネージャーを使用するもの)にアプリケーションをインストールする場合は、インストールされているソフトウェアの一部として、パッケージマネージャーに次のようなスクリプト機能があります。 Windowsにあるもの スクリプトの追加、スクリプトの作成、システムへのユーザーの追加、およびインストール後のサービスの開始が可能です。

Q2

では、どのようにインストールされ、Linuxで使用できるかを知るにはどうすればよいでしょうか(Windowsの[スタート]-> [プログラム]でできるように)。

簡単です。上記と同じパッケージマネージャーには、システムにクエリを実行して、インストールされているアプリケーション、これらのパッケージに関連するファイルなどを確認するために使用できるコマンドがあります。

Red Hatベースのディストリビューションでは、コマンドrpmを使用して、インストールされているパッケージに関する情報を見つけることができます。

$ rpm -aq | head -5
libgssglue-0.4-2.fc19.x86_64
pygame-1.9.1-13.fc19.x86_64
Perl-HTML-Parser-3.71-1.fc19.x86_64
ibus-libs-1.5.4-2.fc19.x86_64
libnl-1.1-17.fc19.x86_64

パッケージの一部であるファイルを見つけるには:

$ rpm -ql pygame | head -5
/usr/lib64/python2.7/site-packages/pygame
/usr/lib64/python2.7/site-packages/pygame-1.9.1release-py2.7.Egg-info
/usr/lib64/python2.7/site-packages/pygame/LGPL
/usr/lib64/python2.7/site-packages/pygame/__init__.py
/usr/lib64/python2.7/site-packages/pygame/__init__.pyc

パッケージ(アプリケーション)に含まれている実行可能ファイルのみを表示するにはどうすればよいですか?ほとんどの場合、実行可能ファイルはLinuxの特定の場所にインストールされます/usr/binまたは/binはそのような2つのディレクトリです。私は通常、RPMパッケージを次のように検索します。

$ rpm -ql pygtk2 | grep "/bin"
/usr/bin/pygtk-demo

$ rpm -ql httpd | grep -E "bin/|sbin/" | head -10
/usr/sbin/apachectl
/usr/sbin/fcgistarter
/usr/sbin/htcacheclean
/usr/sbin/httpd
/usr/sbin/rotatelogs
/usr/sbin/suexec
5
slm

/ var/logを見ると、パッケージマネージャーのログがあるはずです。たとえば、Arch Linuxにはpacmanのログファイルがあり、インストール、削除、およびアップグレードされたすべてのプログラムがタイムスタンプ付きで一覧表示されます。このログはテキストファイルです。

UNIXベースのOSの特定のプログラムは、/ bin、/ sbin、/ usr/bin、および/ usr/sbinに保存されます。ただし、さまざまな場所に保存できます。

プログラムがUNIXファイルシステムに保存される他の場所については、このスレッドを参照してください。 https://askubuntu.com/questions/27213/what-is-the-equivalent-to-the-windows-program-files-folder-where-do-things-g

2
defcon

私はGUIに相当するCLIがあり、プログラムがあなたのところにジャンプする方法を発見できるとは思いません。もっと探索的です。新しいLinuxシステムに入るとき、私は/optディレクトリ。標準ユーティリティ以外にインストールされているすべてのオプションパッケージを検索します。特定のユーティリティを探している場合は、aproposlocatewhichwhereisを使用します。

管理者がすでに特定のユーティリティをインストールしている場合、envおよびシステムパスにそれらが含まれていることを期待しているので、これらを調べます。さらに、システム全体のエイリアスがある場合は、それについても調べます。

一部の大規模システムには、モジュールおよび/またはsoftenvがインストールされています。そのような場合、私はmodule availまたはsoftenv。 aptやyumなどのパッケージマネージャーを備えたシステムでは、それらを使用して、インストールされているパッケージを一覧表示できます:yum list installedおよびrpm付き:rpm -q myfavtool

1
mkc

あなたは走ることができます

cat /var/log/dpkg.log | grep -i <search_text>目的のパッケージ名かどうかを確認する<search_text>はすでにインストールされています。

Ubuntuで動作します。

よろしく、

0
ha9u63ar