BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

sudo apt-get update vs upgrade –違いは何ですか?

sudo apt-get update およびsudoapt-get upgrade は、DebianまたはDebianベースのLinuxディストリビューションですべてのパッケージを最新の状態に保つために使用できる2つのコマンドです。

これらはLinux管理者やDevOpsを実行する人々にとって一般的なコマンドですが、コマンドラインを頻繁に使用しない場合でも知っておくと便利です。

この記事では、これらのコマンドの両方の機能、使用方法、およびいくつかのよくある質問について説明します。

sudo apt-get update> およびsudoapt-get upgrade

主な違いは、 sudo apt-get update ディストリビューションのソフトウェアリポジトリ、および設定したサードパーティのリポジトリから最新バージョンのパッケージリストを取得します。つまり、各パッケージと依存関係の最新バージョンはわかりますが、これらの更新を実際にダウンロードまたはインストールすることはありません。

sudo apt-get upgrade コマンドは、古いパッケージとシステムへの依存関係ごとに更新をダウンロードしてインストールします。ただし、 sudo apt-get upgradeを実行するだけです。 古いパッケージは自動的にアップグレードされません。変更を確認して、アップグレードを実行することを確認する機会があります。

sudo apt-get updateの使用方法 コマンド

DebianベースのLinuxディストリビューション(Debian、Ubuntu、Linux Mint、Kali Linux、Raspberry Pi OSなど)で、ターミナルウィンドウを開きます。

ディストリビューションによっては、端末を開く方法に応じて、端末の名前が異なる場合があります。たとえば、UbuntuおよびLinux Mintでは、デフォルトのターミナルはGnomeターミナルですが、アプリケーションメニューのターミナルの下に表示される場合があります。

ターミナルで、 sudo apt-get updateと入力します コマンドラインで管理者パスワードを入力し、Enterキーを押します。

更新がある場合は、次のような出力が表示されます:

kris@pihole:~ $ sudo apt-get update
Hit:1 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease
Get:2 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB]
Get:3 https://archive.raspberrypi.org/debian bullseye InRelease [23.7 kB]       
Get:4 https://packages.azlux.fr/debian buster InRelease [3,989 B]               
Get:5 https://archive.raspberrypi.org/debian bullseye/main armhf Packages [282 kB]
Get:6 https://packages.azlux.fr/debian buster/main armhf Packages [3,418 B]
Fetched 340 kB in 4s (94.8 kB/s)     
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.

アップグレードできるパッケージを確認するには、 apt list --upgradableを実行します。 :

kris@pihole:~ $ apt list --upgradable
Listing... Done
libcamera0/stable 0~git20220426+18e68a9b-1 armhf [upgradable from: 0~git20220303+e68e0f1e-1]
raspi-config/stable 20220425 all [upgradable from: 20220419]
rpi-eeprom/stable 13.13-1 armhf [upgradable from: 13.12-1]

ただし、ディストリビューションのソフトウェアリポジトリに新しいバージョンのパッケージや依存関係がない場合は、次のような出力が表示されます。

kris@pihole:~ $ sudo apt-get update
Get:1 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB]
Hit:2 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease           
Hit:3 https://packages.azlux.fr/debian buster InRelease                         
Hit:4 https://archive.raspberrypi.org/debian bullseye InRelease
Fetched 26.7 kB in 3s (8,789 B/s)
Reading package lists... Done

アップグレードできるパッケージについては言及されておらず、 apt list --upgradableの実行についても言及されていないことに注意してください。 。

ただし、これは必ずしもシステムに古いソフトウェアがないことを意味するわけではなく、パッケージリストの最新バージョンをすでに入手していることを意味します。 sudo apt-get updateを実行した可能性があります 複数回。

apt list --upgradableはいつでも実行できます もう一度アップグレードできるかどうかを確認します。

または、最新の sudo apt updateを使用することもできます 代わりにコマンド。このコマンドは、アップグレードできるパッケージの数、またはすべてが最新であることを示すメモを常に表示します。

aptの違いの詳細については およびapt-get 、以下のこのセクションを確認してください。

sudo apt-get upgradeの使用方法 コマンド

sudo apt-get updateを実行した後 コマンド、同じターミナルウィンドウで、 sudo apt-get upgradeと入力します 、必要に応じてパスワードを入力し、Enterキーを押します。

次に、次のような出力が表示されます。

kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

出力の下部に、アップグレードされるパッケージが表示されます:

The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

フェッチする必要のあるデータの量、およびアップグレードされたパッケージがインストール後に使用するストレージ容量:

Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.

そして最後に、アップグレードを続行するかどうかを尋ねるプロンプトが表示されます。

Do you want to continue? [Y/n] 

yと入力できます 、 Y 、または yes アップグレードを続行するには、または n N 、または no upgradeを終了します コマンド。

終了することを選択した場合は、次のような出力が表示されます。

kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

アップグレードを続行することを選択した場合、次のような長い出力が表示されます。

kris@pihole:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB]
Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB]
Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB]
Fetched 2,616 kB in 3s (1,019 kB/s)   
Reading changelogs... Done
(Reading database ... 43496 files and directories currently installed.)
Preparing to unpack .../libcamera0_0~git20220426+18e68a9b-1_armhf.deb ...
Unpacking libcamera0:armhf (0~git20220426+18e68a9b-1) over (0~git20220303+e68e0f1e-1) ...
Preparing to unpack .../raspi-config_20220425_all.deb ...
Unpacking raspi-config (20220425) over (20220419) ...
Preparing to unpack .../rpi-eeprom_13.13-1_armhf.deb ...
Unpacking rpi-eeprom (13.13-1) over (13.12-1) ...
Setting up rpi-eeprom (13.13-1) ...
Setting up libcamera0:armhf (0~git20220426+18e68a9b-1) ...
Setting up raspi-config (20220425) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

そして、それが完了すると、古いパッケージと依存関係がすべて更新されます。

sudo apt-get upgradeについて覚えておくべき重要なことの1つ コマンドは、何も削除せずにできることだけをアップグレードすることです。

たとえば、アップグレードに新しい依存関係が必要な場合、 upgrade コマンドはそれをダウンロードしてインストールしますが、古い依存関係は削除されません。古い依存関係を削除するには、別のコマンドが必要です。これは、新しいカーネルバージョンにアップグレードするときによく見られます。

アップグレード後に次のようなメッセージが表示された場合:

The following packages were automatically installed and are no longer required:
  g++-8 gir1.2-mutter-4 libapache2-mod-php7.2 libcrystalhd3
Use 'sudo apt autoremove' to remove them.

提案に従い、 sudo apt autoremoveを使用できます それらの不要なパッケージを削除します。

sudo apt-get upgradeで特別なオプションを使用する方法 コマンド

sudo apt-get upgradeで使用できる特別なオプションやパラメータがいくつかあります。 コマンドですが、2つ目立ちます:-dry-run および--yes

-dry-runの使用方法 オプション:

-dry-run (または、 -s または--simulate )オプションは、アップグレードプロセス中に何が起こるかをシミュレートしますが、実際にはシステム上で何も変更しません:

kris@pihole:~ $ sudo apt-get upgrade --dry-run
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst libcamera0 [0~git20220303+e68e0f1e-1] (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf])
Inst raspi-config [20220331] (20220425 Raspberry Pi Foundation:stable [all])
Inst rpi-eeprom [13.12-1] (13.13-1 Raspberry Pi Foundation:stable [armhf])
Conf libcamera0 (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf])
Conf raspi-config (20220425 Raspberry Pi Foundation:stable [all])
Conf rpi-eeprom (13.13-1 Raspberry Pi Foundation:stable [armhf])

繰り返しになりますが、DebianおよびDebianベースのディストリビューションは非常に安定していますが、このオプションは、アップグレード中に競合が発生しないようにする場合に役立ちます。

の使用方法--yes オプション:

-はい (または、 -y または--assume-yes )オプションは、安全であれば、プロンプトに対して自動的に「はい」と答えます。

kris@pihole:~ $ sudo apt-get upgrade --yes
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libcamera0 raspi-config rpi-eeprom
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,616 kB of archives.
After this operation, 1,596 kB of additional disk space will be used.
Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB]
Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB]
Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB]
...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

続行しますか? [Y / n] 上記はスキップされ、すべてのパッケージがアップグレードされます。

よくある質問

sudoとは およびapt-get

sudo apt-get updateについて注意すべき重要なこと およびsudoapt-get upgrade 両方のコマンドが3つの部分で構成されているということです: sudo apt-get 、および update またはupgrade

sudo 「superuserdo」の略で、rootまたはadmin権限でプログラムを実行できます。

たとえば、システムを再起動するにはスーパーユーザー/ルートレベルの権限が必要なため、 restartを実行します ターミナルで次のようなエラーが返される場合があります:

Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to open initctl fifo: Permission denied
Failed to talk to init daemon.

ただし、 sudo restartを実行すると 、次に管理者パスワードを入力すると、 restartが実行されます スーパーユーザーとしてコマンドを実行すると、システムがすぐに再起動します。

apt-get は、パッケージのインストールと管理に使用するDebianおよびDebianベースのLinuxディストリビューションのコマンドラインツールです。

apt-getの違いは何ですか およびapt

apt は、DebianおよびDebianベースのディストリビューションにアプリケーションをインストールおよび管理するためのより最新のツールです。

ほとんどの場合、 apt およびapt-get 互換的に使用できます– sudo apt update およびsudoapt-get update どちらもシステムのパッケージリストを更新します。

お気づきの主な違いは、 apt 入力が簡単で、出力は一般的に便利で、パッケージのインストール時のプログレスバーなどのユーザーフレンドリーな機能が含まれています。

この記事のほとんどの例ではapt-getを使用しています。 、 aptを使用することを強くお勧めします 代わりに。

sudo apt-get update およびsudoapt-get upgrade 安全に使用できますか?

はい、DebianおよびDebianベースのディストリビューションは一般的に非常に安定しており、 update およびupgrade コマンドは安全に使用できます。これは、パッケージ/依存関係のメジャーアップデート、およびディストリビューション自体が、年に1〜2回しかリリースされないためです。

欠点は、Arch Linuxのような最先端のディストリビューションとは異なり、最新バージョンのパッケージを使用する場合は、追加の作業を行う必要がある場合があることです。 PPAを介してサードパーティのリポジトリを構成するか、Snap of Flatpakなどの代替パッケージシステムを使用するか、パッケージを自分でコンパイルする必要がある場合があります。

しかし、少なくとも私の意見では、少し古いソフトウェアに伴う安定性はそれだけの価値があります。

sudo apt-get updateをチェーンできますか およびsudoapt-get upgrade コマンド?

考えているかもしれませんが、 sudo apt-get updateを実行するのは面倒ではありませんか 、それが完了するのを待ってから、 sudo apt-get upgradeを実行します ?

両方のsudoapt-get update およびsudoapt-get upgrade 非常に高速に実行されます。一連のコマンドを実行して、数分後にもう一度確認する方が簡単な場合もあります。

&&を使用 演算子、次のように複数のコマンドを連鎖させることができます:

sudo apt-get update && sudo apt-get upgrade

&&で覚えておくべき重要なこと 演算子とは、演算子の後のコマンドは、それが成功する前のコマンドの場合にのみ実行されるということです。

上記の例を使用して、 sudo apt-get upgrade sudo apt-get updateの場合にのみ実行されます 成功します。パッケージリストの更新中のネットワークの問題など、何らかのエラーが発生した場合は、 sudo apt-get update スキップされます。

sudoapt-とはdist-upgradeを取得する およびsudoapt full-upgrade 、およびそれらは安全に使用できますか?

このStackOverflowスレッドによると、これらのコマンドは内部で同じことを行います。古いパッケージをアップグレードし、必要に応じて一部のパッケージをインテリジェントに削除します。

基本的に、これらは sudo apt-get upgradeの組み合わせのようなものです。 およびsudoapt autoremove コマンド。

これらのコマンドを実行することはすべきです ほとんどの場合安全です。

しかし、私を含め、多くの人が sudo apt-get updateの使用を推奨しています。 およびsudoapt-get upgrade 代わりは。 upgrade 以降、今後の変更を確認する機会が増えます。 パッケージを削除することはありません。破壊的ではありません。

./ thanks_for_reading.sh

sudo apt-get updateでこの内訳を見つけた場合 およびsudoapt-get upgrade より多くの人々がそれから利益を得ることができるように、それをあなたの友人と共有してください。

また、Twitterでお気軽にご連絡いただき、ご意見をお聞かせください。


  1. ゲーム用ルーターと標準ルーター:違いは何ですか?

    毎年、「エクストリームゲーマー」マーケティングで登場する新しい、より高価なルーターがたくさんありますが、広告の背後には、それが本当に何を意味するのでしょうか。このガイドでは、パフォーマンス、機能、デザインの実際の違いと、それらが価格に見合うかどうかを分析します。 「X-tremetotheMax」 最近の多くの企業と同様に、ルーターメーカーは、「ゲーマー」市場は、実際のパフォーマンスをわずかに向上させるだけで、多くの追加コインを喜んで支払う市場であることを学びました。その結果、Netgear、Linksys、D-Linkなどの大手企業はすべて、標準のルーターよりも優れたパフォーマンスを

  2. プロキシと VPN:違いは?

    セキュリティの点で VPN がプロキシ サーバーと異なる基本的なメカニズムは、データを暗号化する機能にあります。 企業のサイバー攻撃が 50% 増加し、アメリカの家庭の 73% がセキュリティとプライバシーに関する懸念を持っていることを考えると、多くの人々がプロキシと VPN を使用してデジタル災害を防いでいることは驚くべきことではありません。これら 2 つの方法は同等のタスクを実行しますが、それらの違いを認識しておくと、ブラウジングの要件に最も適した方法を選択するのに役立ちます。あなたを支援するために、プロキシと VPN の違いに関する詳細なガイドを作成して、それぞれがどのように動作す