Linux
 Computer >> コンピューター >  >> システム >> Linux

AptおよびApt-Getコマンドの究極のガイド

AptおよびApt-Getコマンドの究極のガイド

DebianベースのLinuxディストリビューションに初めて参加する多くの人にとって、パッケージ管理は複雑に見えるかもしれません。一部のチュートリアルでは「apt」を使用するように指示され、他のチュートリアルでは「apt-get」を使用し、一部の非常に古いまたは特定のチュートリアルでは「aptitude」を使用します。 Linuxの世界のこの小さな隅にある、奇妙でやや分断された世界の「なぜ、どこで、何を、どのように」を説明するときが来ました。

Aptの混乱を解消する

それらを区別するすべての細部に関係なく、 apt apt-get 、および aptitude これらはすべて、オンラインリポジトリと相互作用するDebianのパッケージ管理システム用のまったく異なるテレホンカードです。これらがまだ十分ではないかのように、Debianには、ディスク上のインストールを処理するパッケージ管理ツールがもう1つあります。 dpkg

後者は、WindowsのMSIパッケージと同じように、Webから.debパッケージをダウンロードし、それをダブルクリックしてインストールするたびに使用するツールです。 SolusにはEOPKGがあり、FedoraにはRPMがあり、ArchにはAURがあります。 AndroidにもAPKと呼ばれるパッケージがあり、そのパッケージの最大のリポジトリはGooglePlayストアです。 Linuxの構造が他のオペレーティングシステムにどれほど馴染みがあるかがわかるといいのですが、特にデスクトップやラップトップコンピューターで動作していない場合でも同様です。

適性とは何ですか?

AptitudeはAPTの神経の中心地であり、ディストリビューションがリポジトリで提供するすべてのパッケージと追加したパッケージを詳細に確認したい場合に使用できるフロントエンドとして機能します。また、ターミナル内で直接実行される数少ない昔ながらのクリック可能なGUIの1つです。

AptおよびApt-Getコマンドの究極のガイド

APTとは何ですか?

Advanced Packaging Toolとして知られるAPTは、オペレーティングシステムにインストールするさまざまなアプリケーションの削除、インストール、検索、および管理のプロセスを主流化するためのDebianのソリューションです。これに基づくすべてのディストリビューションはAPTを使用しますが、APTのすべてのアプリケーションが同じというわけではありません。これについては後ほど説明します。

今のところ、パッケージマネージャーとしてのAPTはではないことに注意することが重要です。 apt 指図。代わりに、apt-get、apt-mark、apt-cacheなどのさまざまなAPT関連のコマンドが含まれています。

どのディストリビューションがAPTを使用していますか?

ディストリビューションが「Debianベース」と記述されている場合、何らかの方法でAPTツールを使用します。これには以下が含まれますが、これらに限定されません:

  • Debian
  • Ubuntu
  • Linux Mint
  • MX Linux
  • Grml
  • Kali Linux
  • テール
  • PureOS
  • Raspberry Pi OS
  • エレメンタリーOS
  • SteamOS(Debianではなくなりました。2021年にSteam 3.0用にArchに移行しました)

Debianをベースにしたディストリビューションは他にもたくさんあるので、ここにリストされていないものを使用している場合は、 apt-getかどうかを確認してください。 コマンドは、ターミナルに入力するだけで機能します。コマンドが存在しないという混乱したメッセージが端末から返ってきた場合は、Debianが触れたものはまったくありません。

Apt-get vs. Apt

パッケージのインストールに関するオンラインの多くのチュートリアルでは、 apt-getが表示されます。 およびapt Debianベースのシステムでコマンドとして交換可能に使用されます。もののインストールと削除に関しては、実際にどのコマンドを使用しても違いはありません。これを、2つのバージョンが互いに混同しないでください。

apt-getと言ったことを思い出してください Advanced Packaging Toolの他のいくつかのコマンドの1つにすぎませんか? APTを初めて使用する場合、 apt-getに有効なコマンドを覚えておく必要があると少し混乱する可能性があります。 、 apt-mark 、および apt-cache 。たとえば、パッケージを検索するコマンドが apt-cache searchであることをご存知ですか。 ?

AptおよびApt-Getコマンドの究極のガイド

これらのコマンドの3つすべてが日常生活で最も役立つ機能を統合した場合はどうなりますか?

これは正確に apt コマンドはそれ自体で行います。これらの3文字は、端末に入力すると、APTエコシステムの「ラッパー」として機能し、端末での落書きに多くの時間を費やす人々のプロセスを簡素化します。

パッケージを検索するときは、 apt search ほとんど apt-cache searchと同じ結果を返します 。

AptおよびApt-Getコマンドの究極のガイド

APTフラグに関する一言

両方の検索コマンドの出力を示す画像に細心の注意を払った場合、それらはわずかに異なる情報を示しています。これは、 aptが コマンドは、 apt-cache search に加えて、システム内のアプリケーションのステータスに関する情報を取得します 出します。

apt search の出力で、パッケージ名の横にある「i」の意味を説明する良い機会です。 。これは、Debianパッケージツールのフロントエンドであるaptitudeによって配置されたフラグです。

ターミナルに表示されるフラグのリストとその意味は次のとおりです。

  • A –おそらく、より大きなメタパッケージの一部として、またはオペレーティングシステム自体のインストールとして、自動的にインストールされます。
  • B –パッケージには破損のフラグが付けられているため、再インストールする必要があります。
  • H –ハーフインストール。パッケージのインストールを完了する必要があります。
  • c –パッケージは削除されましたが、その「ゴースト」は構成ファイルの形式で残ります。これは、 apt-getpurgeを使用して解決できます。 またはaptパージ 、その後にこのフラグが付いたパッケージの名前が続きます。
  • p –パッケージがパージされたか、インストールされなかった。
  • v –パッケージは、機能を提供するために他の人によって一般的に使用されます。たとえば、Firefoxは他のアプリケーションで使用できるブラウジング機能を提供し、仮想パッケージにします。
  • i –このパッケージはシステムにインストールされています。
  • h –このパッケージは保留されているため、新しいバージョンに更新できません。

すべてのAptが等しいわけではありません!

行く前に パッケージ管理のトピックにさらに入ると、 aptに注意することが非常に重要です。 コマンドは、別のディストリビューションよりも1つのディストリビューションで使用可能な引数が多い場合があります。たとえば、Ubuntuには「ホールド」がありませんが、Mintには「ホールド」があります。

ここで私が言っていることを完全に理解するには、UbuntuとMintのリストを見て、 aptで渡すことができる引数を確認する必要があります。 そして、2つの間の完全な割れ目を見てください。

これは、チュートリアル用に新しく作成された(しゃれを意図した)テストベッド上のUbuntuです。

AptおよびApt-Getコマンドの究極のガイド

これがLinuxMintです。

AptおよびApt-Getコマンドの究極のガイド

これまでのところ、Mintには、これまでに見たすべてのDebianベースのディストリビューションの中で最も肉付けされたラッパーがあります。短いコマンドでアプリを安心してインストールしたい初心者と、すべてを調整したいターボオタクの両方に対応するために、Mintを維持しているコミュニティによってカスタマイズされていることに気付いたとき、これは驚くべきことではありません。ミリメートルの精度で彼らが望む方法。

APTコマンドの究極のガイド

APTパッケージシステムの力を理解するのに、いくつかの重要なコマンドに歯を食い込ませるよりも良い方法はありません。リストは、APTコマンドとそれに続く aptで構成されます。 括弧内は、該当する場合は簡略化。特定のディストリビューションで簡略化が機能しない場合は、何らかの理由で簡略化が含まれていないか、ミントの巨大なラッパーを実行していないことが原因です。その場合、多くを失うことなく、バニラコマンドに安全にフォールバックできます。

  • add-apt-repository apt add-repository )–パッケージメンテナからのソフトウェアソースのリストに新しいリポジトリを追加します。

たとえば、Lutrisの現在のMint 20リポジトリを追加する場合は、 sudo add-apt-repositoryのいずれかを入力できます。 またはsudoapt add-repository 、続いて ppa:lutris-team / lutris 。各リポジトリは一意であり、ディストリビューションの公式リポジトリにパッケージが見つからないほとんどのアプリケーション開発者には、正しい方向を示す手順が含まれています。

  • apt-get clean apt-get autoremove apt clean apt autoremove )–多くの場合、これら2つのコマンドは、システム内のほこりを、不要になったインストールスクリプトとインストールメディア( clean )の形で一掃します。 )、および誰も使用または依存していないパッケージのストレージを自動的に解放します( autoremove )。

例: sudo apt autoremove &&sudo apt clean メインドライブのすべてのクモの巣をターミナルの1行にまとめます。

  • apt-get changelog apt changelog )–パッケージ内の最新の変更を見つけます。

例: apt-get changelog brave-browser 前回のリビジョンと比較して、Braveブラウザの最新バージョンに含まれているものを教えてくれます。

  • apt contains – Linux Mintおよびおそらく他のいくつかのUbuntu派生ディストリビューションでのみ検出されるこのコマンドは、プログラムで「ファイルが見つかりません」という種類のエラーが発生した場合に使用します。運が良ければ、 apt contains インストールしたアプリケーションの遠く離れたフォルダにそのファイルが見つかります!

例:aptにはgettext.shが含まれています gettextのシェルスクリプトを含むアプリケーションを探します 。 gettext-baseがある場合 Mintディストリビューションにインストールされている場合は、すぐに見つける必要があります!

  • apt-get install apt install )–名前が示すように、パッケージをインストールします。 -reinstallを渡す apt-getのフラグ コマンドはすぐにパッケージを再インストールします。

インストールの例: sudo apt-get install firefox 。 Firefoxの再インストールの例: sudo apt-get install --reinstall firefox aptによるより単純なバリアント ラッパーはsudoapt restart firefoxです 。

  • apt-get remove apt remove )–ターミナルの洞窟ダイバーの兵器庫で頻繁に使用されるもう1つのツール。このコマンドは、APTエコシステムまたはDPKGパッケージマネージャーのいずれかによってインストールされたものをすべてアンインストールします。

例: sudo apt remove grub-customizer

  • apt-get update apt update )–このコマンドはしません システム内のアプリケーションを更新します。 APTキャッシュを更新するだけで、システムはリポジトリで利用可能なバージョンをシステムに現在インストールされているバージョンと比較できます。 チェック中 更新のためですが、実行していません。
  • apt-get upgrade apt upgrade )–これにより、システムが検出したパッケージの更新が利用可能な場合にダウンロードされます。通常、これを実行するために実行中のものを閉じる必要はありません。
  • apt-mark hold /保留 / showhold apt hold /保留 / showhold )–この一連のコマンドは、保持されているアプリケーションを管理します。パッケージを保持すると、オペレーティングシステムに将来更新しないように指示されます。 holdを使用 およびunhold 、アプリケーションの更新保留を開始またはキャンセルできます。 showhold 引数には、現在保留中のものが一覧表示されます。

例: sudo apt hold pulseaudio 。賢明な一言:他の人が依存しているパッケージの更新を保持すると、自分が何をしているのかわからない場合、長期的にシステムに損傷を与える可能性があります。

  • apt-cache検索 /表示 apt search /表示 )–この素敵なコマンドのペアはうまく結合します。最初にパッケージを見つけてから、 showを使用します パッケージの詳細については、パッケージのフルネームを続けてください。

例: sudo apt search gimp

ここでカバーされていない可能性のある特定のディストリビューションのAPTの複雑さについて詳しく知りたい場合は、それらのマニュアルがターミナルにあります。 manと入力するだけです コマンドの前に引数を追加せずに、 Enterを押します。 、そしてpresto!

​​恐ろしい「apt-getコマンドが見つかりません」の問題

APTが機能しなくなって消えたために端末に何もインストールできない場合、これは世界の終わりではありません。少しのエルボーグリースを使用すると、お気に入りのパッケージマネージャーを稼働させることができます。

まず、これが新しいシステムである場合は、想定されていることを再確認してください。 パッケージマネージャーとしてAPTを使用する。 FedoraはDNF/yumを使用し、ArchはPacmanを使用し、SolusはEOPKGを使用し、openSUSEはzypperを使用し、Mandrivaはurpmiを使用します。この便利なチートシートには、他にもたくさんあります。確実にするには、端末にこれらの文字を入力するだけです。

Debianベースのシステムを使用していて、APTが実際に欠落していることを確認したら、次のステップに進みます。

問題に少し余分な利害関係を持ってこれを説明するために、Ubuntuシステムを機能不全にし、OSを再インストールする簡単な脱出を許可しません!

AptおよびApt-Getコマンドの究極のガイド

その結果、「コマンドが見つかりません」というエラーが発生するか、コマンドを処理できなくなります。

AptおよびApt-Getコマンドの究極のガイド

次に、システムに適したAPTパッケージを見つけてインストールします。使用できるAPTがないため、依存関係を自動的にダウンロードすることもできません。

幸い、Debianのディスク上のパッケージマネージャー( dpkg )日を救うためにここにあります! CPUアーキテクチャに対応する最新バージョンのaptパッケージをUbuntuのメインリポジトリからダウンロードし、 dpkg -Iを実行しました。 インストールする必要のある依存関係を一覧表示します。

AptおよびApt-Getコマンドの究極のガイド

私の場合、最新バージョンのAPTをインストールしようとすると、依存関係はすべて存在していましたが、十分に最近のものではありませんでした。

dpkg -i / path / to / your / apt / deb / file と入力すると、これらのことがわかります。 。明らかに、私が入力した偽のパスを、Webサイトからダウンロードした.debファイルに対応するパスに置き換える必要があります。

AptおよびApt-Getコマンドの究極のガイド

バージョン2.3.11の代わりに、バージョン2.0.6を選択しました。これは、執筆時点でMintにインストールされているものです。

AptおよびApt-Getコマンドの究極のガイド

あちこちでバージョンをいじった後、最終的には現在の設定で機能するバージョンに出くわします。これはまさに私に起こったことです。 sudo dpkg -iと入力した後 パッケージに続いて、魔法のようにスムーズにインストールされました。

一般的に、APTの最も悲惨な依存関係は、システムに欠けていないものです。ただし、APTがないため、何でも可能です。いずれにせよ、 dpkg -I を調べた後、リストされている依存関係の1つが不足していることがわかった場合 前に説明したように、リンクしたリポジトリ内の親フォルダーを確認してください。それらは対応するアルファベット順のフォルダにあるはずです。

よくある質問

1。安全でないAPTコマンドはありますか?

一般に、端末にAPT関連のものを入力する場合は、そのコマンドが何を実行しようとしているのかを知っておく必要があります。メジャーアップデートの前に、特に新しいカーネルをインストールする場合は、安全のためにシステムの完全バックアップを作成してください。

それはさておき、あなたが本当に注意しなければならないコマンドは apt holdです。 およびaptfull-upgrade / dist-upgrade 。前者は、前述のようにホールドを解除するまでシステムを破壊する可能性があります。後者は、ディストリビューションが移行先の新しい長期バージョンをリリースする場合にのみ役立ちますが、使用に慣れていたインストール済みパッケージも削除される可能性があります。通常のaptupgrade を実行することで、はるかに安全な領域にいます 、次に apt autoremoveを実行します 本当にほこりを集めているパッケージを片付けるために。

2。 AptはApt-getよりも優れていますか?

私はこれが疲れた声明であることを知っています、しかしそれは本当にあなたがしていることに依存します。非常に多くのコマンドを入力することで、指がじゅうたんに火傷を負っていませんか? aptを使用することをお勧めします apt-getという特定のものが必要ない場合のショートカットとして に適しています。多くの点で、aptはパッケージ管理プロセスを合理化するだけでなく、 apt-get searchを比較したときに見たような追加情報も提供します。 apt searchへ 。

ただし、 aptの巨大な引数リストを使用してMintを使用していない場合 これはほぼ完全にapt-getをレンダリングします 余計なことをすれば、もっと古い学校に頼ることができて気分がいいかもしれません。

3。リポジトリとアプリストアの違いは何ですか?

日常のユーザーにとって、違いはまったく驚異的ではありません。実際、それらは非常に比較可能です。彼らが別れを始めるのは、ソフトウェアの「代替可能性」です。 Linuxには非常に流動的なソフトウェア市場があり、ユーザーには圧倒的な選択肢が提示されることがあります。スマートフォンアプリストアはほぼ石のように設定されており、ユーザーが代替品を探しているとは想像しがたいです。

同時に、理論的には、Ubuntuで人々が楽しんで使用するパーソナルパッケージアーカイブ(PPA)が危険にさらされ、悪意のある攻撃者による悪意のあるソフトウェアの拡散につながる可能性があります。

これから取り除くべきことが1つあるとすれば、分散化にはユーザーの責任が伴うということです。ディストリビューションに追加するリポジトリが、信頼できるソースと長い間存在してきたプロジェクトからのものであることを確認してください。

結論

うまくいけば、この時点で、APTのコマンドとツールの完全なスイートが提供できるものを理解したときに、どれだけの電力が提供されているかを観察できるようになりました。これは、コンピュータにソフトウェアを追加したり、コンピュータからソフトウェアを削除したりするための単なる方法ではありません。これは完全に複雑なフレームワークであり、そこに何を置いたかについて、より多くの情報に基づいた選択を行うことができます。

LinuxでバックグラウンドでBashコマンドを実行する方法と、知っておく必要のある15のLinuxLSコマンドを学ぶために読んでください。


  1. Ubuntu Aptをマスターして、Aptの達人になる

    Ubuntuソフトウェアセンターから多くのアプリケーションをインストールして管理するのは簡単ですが、コマンドプロンプトからインストールやその他の操作を処理できると便利なことがよくあります。 Ubuntuでは、コマンドラインからのアプリの管理とインストールはAPT(Advanced Package Tool)によって処理されます。 これを処理することで、マシンにアプリケーションをインストールするプロセスをより細かく制御できるようになります。 Ubuntu APTに慣れてくると、付属のGUIソフトウェアセンターよりもコマンドラインからインストールしたアプリケーションをより迅速に管理できるように

  2. Mac上のAndroidメッセージの究極のガイド

    Mac 上の Android メッセージ ?不可能に聞こえますよね? 2 つのブランド間の競争が激しいため、ほとんどの人は Android と Mac は連携しないと考えています。ただし、Google は会話をユーザーにとって便利で柔軟なものにしたいと考えているため、Android Messages を開発しました。 このメッセージング プラットフォームは、PC デバイスと Mac デバイスの両方で使用できます。したがって、Mac コンピューターをお持ちの場合は、使用するのが難しくないので心配する必要はありません。 Android メッセージは複数のデバイスで互換性があるため、さまざま