Sudo apt-get update
は何をしているのでしょうか?
何が更新されますか?
簡単に言えば、apt-get update
は実際にはソフトウェアの新しいバージョンをインストールしません。代わりに、アップグレードが必要なパッケージのアップグレード用のパッケージリストと、リポジトリに到着したばかりの新しいパッケージを更新します。
apt-get update
は、リポジトリからパッケージリストをダウンロードし、それらを「更新」して、パッケージの最新バージョンとその依存関係に関する情報を取得します。すべてのリポジトリとPPAに対してこれを行います。 http://linux.die.net/man/8/apt-get から:
ソースからパッケージインデックスファイルを再同期するために使用されます。利用可能なパッケージのインデックスは、
/etc/apt/sources.list
(5)で指定された場所から取得されます。更新は、アップグレードまたはdist-upgradeの前に常に実行する必要があります。
APTがapt-get upgrade
によってこれらの新しいバージョンを知っている場合、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回だけ要求されます(またはどういたしまして)。
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
サイトです。たとえば、そのサイトでapt-get
を検索した場合、結果の1つとして AptGet/Howto が見つかります。
Sudo apt-get update
を実行すると、すべてのリポジトリとPPAのパッケージのリストが最新であることを確認するだけです。このコマンドを実行しないと、インストールしているさまざまなパッケージの古いバージョンを取得している可能性があります。さらに悪いことに、依存関係の問題が発生している可能性があります。 PPAを追加したばかりで更新していない場合、PPAまたはリポジトリからのパッケージリストがないため、PPAからは何も機能しません。
一言で言えば:非常にインストール前にSudo apt-get update
を実行することをお勧めしますが、本当に時間をかけられている場合はスキップされる可能性がありますリポジトリを変更したり、最後のapt-get update
以降のPPA。
コンピューター上の使用可能なソフトウェアリストを更新します。
お使いのコンピューターには、Ubuntuサーバーが利用可能なすべての利用可能なソフトウェアを含むリスト(カタログなど)があります。ただし、使用可能なソフトウェアとバージョンは変更される可能性があるため、「更新」がサーバーにヒットし、ローカルリスト(またはカタログ)を更新するために使用可能なソフトウェアを確認します。
update
はupgrade
とは異なることに注意してください。上記のように、更新は利用可能なソフトウェアを取得してリストを更新し、upgrade
はコンピューターにインストールされたソフトウェアの新しいバージョンをインストールします(実際のソフトウェア更新)。
(リストを「更新」するのではなく)実際にソフトウェアをアップグレードするには、次のコマンドを実行します
Sudo apt-get upgrade
通常、「更新」後に実行されます。
新しいパッケージをインストールする前に、apt-get update
を1回実行する必要があります。これにより、ローカルリポジトリ情報が更新されます。すぐに複数のパッケージをインストールする場合、apt-get update
を実行する必要はありません。また、Sudo apt-get install package1 package2...
と入力すると、複数のパッケージを一度にインストールできます
Sudo apt-get install ...
(またはSudo aptitude install ...
)を使用してコマンドラインからパッケージをインストールする場合、またはコマンドラインからパッケージをアップグレードする場合(upgrade
の代わりにinstall
またはdist-upgrade
を使用)、次の情報はローカルシステムの構成から取得し、インターネットからnotを取得します。
利用可能なパッケージ
利用可能なバージョン
利用可能なパッケージを取得する場所
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が前述したように、expect GUIアプリケーションはapt-get update
の前にapt-get install
/apt-get upgrade
を実行しますが、興味深いエラー404を発見しました。比較的新しい攻撃セキュリティVMマシンで、1分間困惑しました。
コマンドラインからapt-get update
を実行してから、System Tools/Software-Updateコマンドを再試行しましたが、今回は404エラーなしで実行しました。
したがって、apt-get update
がGUIアプリケーションから実行されていると常に想定できるわけではないと思います...
私の前に多くの人が言ったように、これはあなたのローカルリポジトリ(パッケージリスト)を更新します。
インストールしようとすると問題が発生する場合があります
apt-get install foobar
foobarまたは依存関係の最新バージョンがリポジトリにありません。これは、.debファイルを手動でインストールする場合、またはサードパーティからppaをインストールする場合に特に問題になる可能性があります。
基本的には、your listがmasterリストと一致することを確認します。
Ubuntuに VLCメディアプレーヤー をインストールする例を考えてみましょう。
Sudo apt-get update
リポジトリで利用可能な更新を確認します。
一方、
Sudo apt-get install vlc vlc-plugin-Pulse mozilla-plugin-vlc
検索したリポジトリからVLCメディアプレーヤーをインストールします。
Rootユーザー(管理者)としてログインしている場合は、Sudo
を使用する必要はありません。既にスーパーユーザー権限を持っているためです。