回答:
一言で言えば、apt-get update
実際にはソフトウェアの新しいバージョンをインストールしません。代わりに、アップグレードが必要なパッケージのアップグレード用のパッケージリストと、リポジトリに到着したばかりの新しいパッケージを更新します。
apt-get update
リポジトリからパッケージリストをダウンロードし、それらを「更新」して、パッケージの最新バージョンとその依存関係に関する情報を取得します。すべてのリポジトリとPPAに対してこれを行います。http://linux.die.net/man/8/apt-getから:
ソースからパッケージインデックスファイルを再同期するために使用されます。使用可能なパッケージのインデックスは、
/etc/apt/sources.list
(5)で指定された場所から取得されます。更新は、アップグレードまたはdist-upgradeの前に常に実行する必要があります。
apt-get upgrade
APTがを介してこれらの新しいバージョンを認識している場合、マシンに存在するパッケージの新しいバージョンを取得しますapt-get update
。
http://linux.die.net/man/8/apt-getから:
/etc/apt/sources.list
(5)に列挙されているソースから現在システムにインストールされているすべてのパッケージの最新バージョンをインストールするために使用されます。現在利用可能な新しいバージョンでインストールされているパッケージが取得され、アップグレードされます。現在インストールされているパッケージは削除されません。また、まだインストールされていないパッケージは取得およびインストールされません。別のパッケージのインストールステータスを変更せずにアップグレードできない現在インストールされているパッケージの新しいバージョンは、現在のバージョンのままになります。[Emphasis mine] apt-getがパッケージの新しいバージョンが利用可能であることを知るために、最初にアップデートを実行する必要があります。
apt-get dist-upgrade
は、と同じジョブを実行しますapt-get upgrade
。さらに、依存関係もインテリジェントに処理するため、古いパッケージを削除したり、新しいパッケージを追加したりできます。こちらをご覧ください:「dist-upgrade」とは何ですか?なぜ「upgrade」以上にアップグレードするのですか?
http://linux.die.net/man/8/apt-getから:
このオプションは、アップグレードの機能を実行することに加えて、パッケージの新しいバージョンとの依存関係の変更をインテリジェントに処理します。apt-getには「スマート」な競合解決システムがあり、必要に応じて重要度の低いパッケージを犠牲にして最も重要なパッケージのアップグレードを試みます。
/etc/apt/sources.list
(5)ファイルには、所望のパッケージファイルの取得元の場所のリストが含まれています。個々のパッケージの一般設定を上書きするメカニズムについては、apt_preferences(5)も参照してください。
&&
次のようにコマンドを組み合わせることができます。
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
または、依存関係のバージョン要件に従って最新バージョンを入手するには:
sudo apt-get update && sudo apt-get dist-upgrade
sudo
両方の時間を必要とsudo
しますが、デフォルトでは最後のsudo
操作から5分以内にプロンプトが表示されないため、パスワードの入力は1回のみ要求されます(またはまったく要求されません)。
apt-get update
時間がかかることです。ここのインターネットはまだ原始的です。
Google検索では、ターミナルでの--helpのように、ほぼすべてのターミナルコマンドの定義を取得できます。例えば、
apt-get --help
sudo apt-get update
基本的に3つの部分があります。
sudo
スーパーユーザー(root)機能を使用して次のコマンドを実行します。システムファイルの変更またはアプリケーションのインストールを必要とする多くのアクションを実行するには、追加のアクセス許可が必要です。
apt-get
Ubuntuがソフトウェアパッケージのインストール、削除、管理に使用するコマンドラインツールです
update
は、インターネット上のサーバーからパッケージリストを更新するapt-getプログラムのオプションです。パッケージリストは、apt-getユーティリティを使用して、apt-getを使用してインストールできるソフトウェアパッケージに関する重要な情報を提供します。apt-getはこれらのリストを使用して、インストールするコマンドが与えられたときにインストールするソフトウェアを決定します。例えば
sudo apt-get install guake
私のコンピューターのローカルソフトウェアリストに現在リストされているGuakeターミナルをインストールします。ただし、これは適切なバージョンではない可能性があります。また、プログラムが新しい場合は、まったく利用できない可能性があります。したがって、apt-getを使用してソフトウェアをインストールする場合、通常は次のように入力します。
sudo apt-get update
sudo apt-get install <package>
apt-getがパッケージの最新バージョンをインストールすることを認識していることを確認します。
別の有用な情報源はhelp.ubuntu.com
サイトです。たとえば、そのサイトを検索した場合、結果の1つとしてAptGet / Howtoapt-get
が見つかります。
&&
、それらの間のようにsudo apt-get update&&sudo apt-get install foo bar baz
&&
すると、2番目のコマンドは最初のコマンドが成功した場合にのみ実行されます。最初のコマンドの成功を気にしない場合は、;
代わりに使用してください。
実行するsudo apt-get update
だけで、すべてのリポジトリとPPAのパッケージのリストが最新であることを確認できます。このコマンドを実行しないと、インストールしているさまざまなパッケージの古いバージョンが取得されたり、さらに悪いことに依存関係の問題が発生したりする可能性があります。PPAを追加したばかりで更新していない場合、PPAまたはリポジトリからのパッケージリストがないため、PPAからは何も機能しません。
簡単に言うと、インストールする前に実行することを強くお勧めしますが、最後からリポジトリまたはPPAを変更していない限り、本当に時間がかかる場合はスキップすることができます。sudo apt-get update
apt-get update
コンピューター上の使用可能なソフトウェアリストを更新します。
お使いのコンピューターには、Ubuntuサーバーが利用できるすべての利用可能なソフトウェアを含むリスト(カタログなど)があります。ただし、使用可能なソフトウェアとバージョンは変更される可能性があるため、「更新」がサーバーにヒットし、ローカルリスト(またはカタログ)を更新するために使用可能なソフトウェアを確認します。
update
はとは異なることに注意してくださいupgrade
。上記のアップデートは、利用可能なソフトウェアを取得してリストを更新upgrade
し、コンピューターにインストールされているソフトウェアの新しいバージョンをインストールします(実際のソフトウェアの更新)。
実際にソフトウェアをアップグレードするには(リストを「更新」するのではなく)、次のコマンドを実行します
sudo apt-get upgrade
通常、「更新」後に実行されます。
sudo apt-get install
、その後のために?一般的なアップグレードの代わりに特定のパッケージをインストールしますか?
apt-get update
これによりローカルリポジトリ情報が更新されるため、新しいパッケージをインストールする前に1回実行する必要があります。すぐに複数のパッケージをインストールする場合、実行する必要はありませんapt-get update
。また、入力すると複数のパッケージを一度にインストールできます
sudo apt-get install package1 package2...
sudo apt-get install ...
(またはsudo aptitude install ...
)を使用してコマンドラインからパッケージをインストールする場合、または(upgrade
またはdist-upgrade
その代わりにinstall
)コマンドラインからパッケージをアップグレードする場合、インターネットからではなく、ローカルシステムの構成から次の情報が取得されます。
利用可能なパッケージ
それらのどのバージョンが利用可能ですか
利用可能なパッケージを取得する場所
実行sudo apt-get update
(またはsudo aptitude update
)すると、ローカルシステムでこれが更新されます。これは、現在インストールされているパッケージのパッケージの更新が利用可能であるなど、インストール可能なパッケージに関する情報を実際に取得するステップです、インターネットソースから。
GUIインターフェイス(Update Manager、Software Center、またはSynaptic Package Manager)でパッケージをインストールすると、の作業sudo apt-get update
は自動的に行われます。コマンドラインからパッケージをインストールする場合はそうではありません。ごく最近インストールした場合を除き、常に自分で実行する必要があります。
使用可能なパッケージの更新バージョンに関する情報は実行sudo apt-get update
(またはsudo aptitude update
)によって取得されるため、パッケージをインストールする前にこれを実行することをお勧めします。ソフトウェアを追加または削除していない場合でも、最新の更新をインストールするために実行する必要がありますソース(PPAなど)。
同時に複数のパッケージ管理操作を実行する場合は、sudo apt-get update
各操作を実行する前に実行する必要はありません。情報がしばらく更新されていない場合にのみ、必ず実行してください。
Eliah Kaganが上で述べたように、GUIアプリケーションは/の前に実行されると予想されますが、比較的新しい攻撃セキュリティVMマシンで興味深いエラー404を発見しました。apt-get update
apt-get install
apt-get upgrade
コマンドラインからを実行してapt-get update
から、システムツール/ソフトウェアアップデートコマンドを再試行しましたが、今回は404エラーなしで実行しました。
だから、それapt-get update
がGUIアプリケーションから実行されると常に仮定することはできないと思います...
apt-get
Software Updater / Update Managerを実行することによって実行される自動チェックよりも、実行時の方が適切に処理される異常なネットワーク状況がありますか?HTTPプロキシを使用していますか?そして、あなたはそれを再び起こさせることができますか、それは一度だけ起こったのですか?孤立した異常の場合、問題の原因は一時的なサーバーの構成ミスにあるのではないかと思います。どのミラーを使用していますか?もっと情報があれば、答えを改善できるかもしれません。(ところで、これは別の回答として意図されているのですか、それともコメントに変換する必要がありますか?)
UbuntuにVLCメディアプレーヤーをインストールする例を考えてみましょう。
sudo apt-get update
リポジトリで利用可能な更新を確認します。
一方、
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
検索したリポジトリからVLCメディアプレーヤーをインストールします。
rootユーザー(管理者)としてログインしているsudo
場合は、スーパーユーザー権限を既に持っているため、使用する必要はありません。
sudo apt-get update
パッケージをインストールするときは常にコマンドを実行する必要がありますか?そうしない場合のデメリットは何ですか?