ナビゲータのEVEです。
今日の起床は、予定通り7:00でした。明日の起床目標は、6:30です。最終的には、5:00に起きたいのですが、寝ることができる時間を考えると難しい状況です。過去問の試験結果もひどい状況だし、もっと、勉強時間を作るようにしないと・・・。
では、昨日の続きで、今日は、?Esudo apt updateからです。
?Asudo apt install software-properties-common
?Bsudo apt-add-repository universe
?Csudo apt-add-repository restricted
?Dsudo apt-add-repository multiverse
?Esudo apt update
?Fsudo apt -y install gdebi
?Gsudo apt -u upgrade
?Hshutdown -h now
※システムシャットダウン後、電源を押下しシステムを起動します。
[?Esudo apt update]
昨日までは、 Ubuntu の公式リポジトリで今後使いそうなものをインストールしました。今日は、?Esudo apt updateから解説するのですが、このapt updateは、?@で実施済みです。では、なぜ?Eで再びupdateを行うのでしょうか?
以下が、 Bard からの回答です。
?Esudo apt updateは、Ubuntu アップグレード手順における、追加したリポジトリの情報を取り込むために必要です。
■詳細説明
?B、?C、?Dのコマンドで universe、restricted、multiverse リポジトリを追加した後、?Eのコマンドで再度 apt update を実行することで、これらのリポジトリに含まれる最新のソフトウェアパッケージ情報を取得できます。
具体的には、以下の情報が取得されます。
・各パッケージの最新バージョン
・各パッケージの依存関係
・各パッケージのダウンロード元
この情報に基づいて、?F以降のコマンドで適切なソフトウェアパッケージのインストールやアップグレードが行われます。
■?E を省略するとどうなるか
?E sudo apt update を省略した場合、以下の問題が発生する可能性があります。
・最新のバージョンのソフトウェアパッケージがインストールされない
・必要なソフトウェアパッケージがインストールされない
・依存関係エラーが発生する
つまり、アップグレードが正常に行われない可能性が高くなります。
このupdate作業なんですが、何かインストールする前そして後に実施しなければならない作業のようです。
[?Fsudo apt -y install gdebi]
次に、apt -y install gdebiはgdebiをインストールするということは分かるのですが、gdebiとはどのようなツールなのでしょうか?以下は、Bardからの回答です。
Ubuntu アップグレード手順における ?F sudo apt -y install gdebi は、gdebi パッケージをインストールするコマンドです。
■gdebi パッケージとは
gdebi パッケージは、.deb ファイルのインストールを容易にするユーティリティです。
■.deb ファイルとは
.deb ファイルは、Debian パッケージと呼ばれるソフトウェアパッケージの形式です。
■gdebi をインストールする利点
gdebi をインストールすると、以下の利点があります。
・コマンドラインで .deb ファイルを簡単にインストールできるようになります。
・グラフィカルなインストーラーを使用するよりも高速にインストールできます。
・依存関係を自動的に解決してくれます。
・破損したパッケージの修復にも役立ちます。
■?F のコマンドを実行すると、gdebi パッケージがシステムにインストールされ、以下のコマンドが使用できるようになります。
・gdebi <ファイル名>.deb:指定された .deb ファイルをインストールします。
・gdebi --force-bad-name <ファイル名>.deb:名前が不正な .deb ファイルをインストールします。
・gdebi --reinstall <ファイル名>.deb:既にインストールされているパッケージを再インストールします。
・gdebi --purge <ファイル名>.deb:パッケージとその構成ファイルを削除します。
■具体的には、以下のことが可能になります。
・ダウンロードした .deb ファイルをダブルクリックするだけで、gdebi を使用してインストールできます。
・ターミナルで gdebi コマンドを使用して、.deb ファイルをインストールできます。
・依存関係のある複数の .deb ファイルをまとめてインストールできます。
あらかじめインストールしておいたほうが、後々作業が簡単になりそうです。
[?Gsudo apt -u upgrade]
そして、本作業の目的である、アップグレード作業を実施します。以下にアップグレード作業の概要についてのBardからの回答です。
Ubuntu アップグレード手順における ?G sudo apt -u upgrade は、システムにインストールされているパッケージを最新バージョンにアップグレードするコマンドです。
■詳細説明
apt upgrade コマンドは、以下の動作を行います。
・リポジトリに登録されている最新バージョンのパッケージ情報を取得します。
・現在インストールされているパッケージと比較します。
・古いバージョンのものを 最新バージョンにアップグレードします。
■?G のコマンドを実行すると、以下のことが行われます。
・main、universe、restricted、multiverse リポジトリに登録されている 最新バージョンのパッケージ情報 が取得されます。
・現在システムにインストールされているパッケージと比較され、古いバージョンのものが 最新バージョンにアップグレードされます。
・アップグレードに必要な 依存関係 も自動的に解決されます。
■?G を省略するとどうなるか
?G sudo apt -u upgrade を省略した場合、以下の問題が発生する可能性があります。
・古いバージョンのソフトウェアパッケージを使い続けることになり、セキュリティ上の脆弱性にさらされる可能性があります。
・新しい機能を利用できなくなります。
・バグや パフォーマンスの問題 が発生する可能性があります。
・つまり、システムを安全かつ快適に利用するためには、?G のコマンドを実行することが重要です。
この upgrade 作業において、 update しているのに、なんでわざわざupgradeするのかという疑問を持つ方がいると思います。私もその一人なのですが、そもそも更新するものが違うようです。updateコマンドは、更新パッケージのリストを更新するのですが、upgradeはパッケージその物を更新します。そのため、upgrade作業を行わないと、パッケージそのものは更新されず、安定面、セキュリティ面で問題が発生する可能性があります。詳細については、Bardは以下の内容で解説しています。
update コマンドは、パッケージリストを最新の状態に更新するコマンドです。一方、アップグレードは、パッケージを最新バージョンに更新するプロセスです。
■update コマンドのみでは不十分な理由
update コマンドのみでは、以下の理由で セキュリティや安定性を維持できない可能性があります。
・新しいパッケージがリリースされていない場合: update コマンドは、既にリリースされているパッケージのみを更新します。新しいパッケージがリリースされていなければ、update コマンドを実行しても、セキュリティ上の脆弱性やバグが修正されない可能性があります。
・依存関係の問題: update コマンドは、依存関係を考慮せずにパッケージを更新します。そのため、特定のパッケージを更新すると、別のパッケージが動作しなくなる可能性があります。
・古いバージョンのパッケージが残っている場合: update コマンドは、古いバージョンのパッケージを削除しません。そのため、古いバージョンのパッケージが残っていると、セキュリティ上の脆弱性やバグが修正されない可能性があります。
■アップグレードが必須な理由
アップグレードを実行すると、以下のことが行われます。
・新しいパッケージがインストールされます。
・古いパッケージが削除されます。
・依存関係が解決されます。
そのため、アップグレードを実行することで、システムを最新の状態に保ち、セキュリティ上の脆弱性やバグを修正することができます。
以上から、頻繁にアップグレード作業は実施しなければいけないようです。Bardからの提案では、1週間に一度は、アップグレード作業を実施した方が良いと言っています。
ただ、セキュリティに関しては、リリース直後にした方がいいという回答もあります。それには、当該サイトを頻繁に見なければならないため、難しいといえるでしょう?それを考えると、1週間という周期は最低限守らなければならないサイクルなのかもしれません。
[あとがき]
以上の作業を実施後、システムをシャットダウン後電源ボタンを押下し、システムを起動すれば、システムのアップグレード作業は完了です。ただ一通り、調べて見て、本番環境においては、 1週間ごと にやらなければいけないというのはハードルは高いように感じます。ただ、セキュリティのことを考えると仕方がないのかもしれません。実施時にはアナウンス後、実施した方がよいでしょう?
今までの解説にはなかったのですが、 Copilot は、 バックアップ 後実施した方がいいといっています。確かにそうなのですが、本番機などのバックアップは容量の関係で難しいといえます。 スナップショット などがとれればいいのすが・・・。
実施前のバックアップについても、ご検討下さい。
では、また!!!