TL; DR:灰色の領域がたくさんあり、それはあなたが何をしているかに依存します。ほとんどの場合、ソフトウェアセンターとコマンドラインメソッドは、.deb
パッケージに関しては同様のことを行いますが、他のソフトウェアパッケージでは異なる手順が必要になる場合があります。
Ubuntuソフトウェアセンターとコマンドラインでのソフトウェアのインストールの違いは何ですか?
これが現実です。インストールとは、ソフトウェアパッケージに付属のファイルを適切なディレクトリに配置することです。コマンドラインとソフトウェアセンターのどちらで行われるかは関係ありません。これらは同じことを行い、ファイルをそれぞれのディレクトリにスローします。ただし、重要なのはパッケージとその処理方法です。ここでは、Ubuntuで処理できるいくつかの基本パッケージについて説明します。コマンドラインとソフトウェアセンターの違いについては、最も基本的な違いは、ソフトウェアセンターでボタンをクリックすることです。コマンドラインでは、コマンドを入力します。Software Centerは多くのPythonコードを使用していますが、コマンドラインでは、使用するユーティリティによって異なります。また、Software Centerが削除できる量もあります(それについては以下をお読みください)
Ubuntuのソフトウェアパッケージには.deb
、.run
ファイル、ファイル、および圧縮zip
またはtar
アーカイブされたrawソースコードの3つの方法があります。どちらを扱うかに応じて、コマンドラインのインストールは多少面倒です。これは、少なくともLinuxを使用する最初の年は、新しいユーザーが本当に心配すべきことではありません。
ほとんどの.deb
ファイルが表示されます。これらは、コンパイル済みのソフトウェアパッケージであり、すぐに使用できます。これらはそれほど痛くないです。また、依存関係を指定することもよくあります。依存関係がないと、プログラムが実行されません。apt
およびなどのコマンドラインユーティリティは、apt-get
依存関係を自動的にインストールします。実際、Software Centerはapt-get
バックエンドとして使用するため、依存関係も自動的にインストールされます。
.run
ファイルは通常、専用のエンコードされたバイナリファイルです。あなたは彼らが何をしているのか本当に見ることができません。
未加工のソースコードでは、ソフトウェアのビルドと依存関係のインストールなど、すべてを自分で行う必要があります。
パッケージのように、他のディストリビューションからパッケージをインストールする方法もあり.rpm
ますが、これが行われることは非常にまれです。
コンテナと呼ばれるソフトウェアのクラスも存在します。港湾労働者とlxd
コンテナーがあります。最近、Ubuntuはsnap
パッケージと呼ばれるものを導入しました。これらすべての良い点は何ですか?それらはどこでも実行でき、メインシステムから安全に隔離されており、非常に迅速にインストール/再インストールできます。これらの種類のソフトウェアは、ソフトウェアセンターからはインストールできません。また、一般的には、専門のシステム管理者または技術者/上級ユーザー向けです。新しいユーザーとして、あなたはそれらについて心配する必要はありません、それらが存在し、それらが素晴らしいことを覚えておいてください:)
最後に、スクリプトのようなもの(通常は単一のファイル)もアプリケーションと見なすことができます。また、インストールとは、ファイルが属している、または属しているはずの場所にそのファイルをスローすることにすぎません。
コマンドラインでインストールした一部のソフトウェアがソフトウェアセンターで検索できない(ウィンドウキーを押す)のはなぜですか?
繰り返しますが、これは本当にパッケージに依存します。ソフトウェアの開発者が.desktop
パッケージにファイルを含めることを決定した場合、ダッシュでそれを検索できます。.desktop
ファイルはWindowsショートカットのようなものですが、はるかに多くのことを行います。.desktop
ファイルに付属するコマンドラインユーティリティの良い例は、端末を追加のタブ/ウィンドウに分割するための非常に便利なプログラムであるByobuです。
ただし、.desktop
プログラムごとに独自のファイルを作成し、それを~/.local/share/applications/
フォルダーに配置することができます。
繰り返しますが、これはアプリがコマンドラインまたはGUIであることとは関係ありません。アプリ開発者の選択によります
コマンドラインからソフトウェアをインストールして検索できるようにするための正しいコマンドは何ですか?
繰り返しますが、あなたが何をしているかに依存します。公式のUbuntuリポジトリからソフトウェアをインストールする場合は、簡単に実行できますsudo apt-get install my-software
.deb
パッケージをインストールする場合は、dpkg
コマンドまたはのいずれかを使用できますapt-get
。これがapt-getを使用してgoogle-chrome debパッケージをインストールする例です。 注:インストールの時点では、.deb
ファイルと同じディレクトリにいるため、./
パーツを指定する必要があります
$ sudo apt-get install ./google-chrome-stable_current_amd64.deb
[sudo] password for xieerqi:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'google-chrome-stable' instead of './google-chrome-stable_current_amd64.deb'
The following NEW packages will be installed:
google-chrome-stable
0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded.
Need to get 0 B/50.0 MB of archives.
After this operation, 190 MB of additional disk space will be used.
Get:1 /home/xieerqi/下载/google-chrome-stable_current_amd64.deb google-chrome-stable amd64 53.0.2785.101-1 [50.0 MB]
Selecting previously unselected package google-chrome-stable.
(Reading database ... 476104 files and directories currently installed.)
Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (53.0.2785.101-1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160701-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up google-chrome-stable (53.0.2785.101-1) ...
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode
Processing triggers for menu (2.1.47ubuntu1) .
何がいいのapt-get
?これには、プログラムに関連--purge
するすべてのものを削除できるオプションがあります。たとえば、sudo apt-get remove google-chrome-stable
ソフトウェアセンターで削除したり、ソフトウェアセンター経由で削除したりすると、構成ファイルが残る場合があるため、ソフトウェアを再インストールすると、以前と同じように使用できるようになります。--purge
オプションも設定ファイルを削除します。ソフトウェアが壊れて完全に新しくインストールしたい場合に便利です。Software Centerはそれを行わないので、それは別の違いです。
.run
ファイルを扱う場合は、そのファイルを実行可能にして実行する必要があります。このような:
$ sudo chmod +x ./software.run
$ sudo ./software.run
システムを一度バックアップして復元しましたが、以前に機能していたいくつかのコマンド( "subl"など)は、システムを復元した後に機能しません。
実行したバックアップの種類によって異なります。バックアップに、機能させるためsubl
に必要なすべてのファイルが含まれていれば、機能するはずです。subl
がインストールされる前にバックアップが行われた可能性もあります。バックアップが適切に構成されていることを確認してください
これらの質問はどういうわけか$ PATHに関するものだと思いますが、これに関する資料が見つかりません。どんな余分な材料もいただければ幸いです。
$PATH
変数は、シェル(あなたがコマンドを入れるコマンドインタプリタ)に関連しています。Unity Dashとは関係ありません。$PATH
変数は実際にはディレクトリのリストであり、シェルは実行権限が設定されているプログラムを検索します。ダッシュは本当に.desktop
ファイルのみに関係しています。たとえば、プログラムを/usr/bin
フォルダーに配置してコマンドラインで開くことができますが、対応する.desktop
ファイルがないため、Dashは開けません。
に関する追加の資料を見つけたい場合は$PATH
、文字通りLinuxシェルスクリプトに関する本を手に入れてください。これは、コマンドラインを使用したいすべてのLinuxユーザーの基礎知識項目の1つです。
いくつか閉じて思考:Linux用ソフトウェアのインストールの複雑さは、時々のWindowsやMacの世界から来た新しいユーザーに衝撃的なことができます。実際には、それは同じ原則です-それが属するすべてのものを投げれば、それは機能します。プログラムへのショートカットが見つかりませんか?作成してください-それは単なるテキストファイルです!コンピュータは機械であり、操作することを意図しています。Windowsの%PATH%
コマンドラインにも変数があります。WindowsのコマンドラインはLinuxに比べて汎用性が低く、使用頻度も低いため、そのことを知らなかっただけです。要するに、日常的にそれが最も頻繁に使用されるコマンドまたはアクションの約20%であり、それらがあなたに80%の仕事を完了させるので、目に見えるすべてのものに怖がらないでください。