低価格・高品質・最速のHTMLコーディングはクロノドライブへ

yum updateって実際何をしているの?composerと比較してみた

エンジニアリング部システムソリューション課のひよっこエンジニアKと申します。今回の記事では、普段何気なくやっている yum update は一体何をやっているのかを、 composer と比較しながら明らかにしていきます。

 

そもそも yum って何?

linux のサーバーに触ったことがあるなら多分知っている、超有名な linux コマンドの一つです。 vim やら php やらをインストールしたいときに使うやつです。

正確に言うと、RPM パッケージを扱うためのパッケージ管理コマンドで、

yum install (パッケージ名)

でパッケージをインストールすることができます。

 

composer と yum

rpm コマンドを使って個々でインストールする際はリポジトリを参照しませんが、 yum install の際はリポジトリを参照するので、パッケージ同士の依存関係も自動解決してくれます。

一方で、 composer も git リポジトリから参照してパッケージをインストールしてきてくれます。 composer がなければわざわざ git リポジトリから zip ファイルをインストールしてきて、それを展開する、ということをそれぞれのパッケージでやらなければならなくなってしまいます。つまり、 composer も yum も、リポジトリ参照でパッケージをインストールしてくれて、パッケージをインストールする手助けをしてくれている、ということです。

 

yum  update でやっていることって?

yum に触れたことのある人は、最初になんとなく「 yum update は定期的にした方が良い」と習っているんじゃないかと思います。しかし、なんで yum update を定期的にした方が良いと言われているのかや、実際 yum update をすることで何をしているのかまで理解していますか?

以下では、 composer update と比較しながら、 yum update でやっていることは何なのかについて説明していきます。

 

まず composer  update って何?

composer がcomposer.lock によってバージョン管理されているのは知っているでしょうか。git などで複数の開発者が同じ開発環境を作るとき、開発環境にインストールしたパッケージのバージョンの違いによって不具合が出てしまっては困ります。そのため、composer.lock というファイルで、それぞれのパッケージをどのバージョンでインストールすべきなのかを管理しています。この composer.lock は、存在しない場合は初回の composer install で composer.json を元に依存解決してダウンロードしたパッケージのバージョン情報が書き出されて作成され、すでにある場合は composer install のときに参照されるようになっています。

composer update を実行すると、 composer.lock があった場合もなかった場合も composer.json に書かれているライブラリの最新のバージョンがインストールされます。そして composer.lock はその最新のバージョンをインストールするように上書きされます。

yum update でやっていることと注意点

yum もcomposer と同様バージョン管理を行っています。そして、 yum update をすると、 composer update 同様インストールされているパッケージのバージョンがすべて最新のものに更新されます。「定期的に yum update した方が良い」のは、アップデートすることで脆弱性や不便な仕様に対しての改善版が提供されるためです。

しかし、一点注意しなければならないのは、本番環境での yum update です。パッケージがアップデートされてバージョンが変わることによって、今動いている機能に不具合が出る可能性があるので、慎重に行いましょう。まずテスト環境でアップデートを行い何か不具合が出ないか確認することが必要です。

 

今回のまとめ

① composer も yum も、リポジトリ参照でパッケージをインストールし、パッケージのバージョン管理を行っている

② composer update や yum update をすると現在インストールされているパッケージがすべて最新のものに変更される

③本番環境での yum update は慎重に行うこと

 

参考:

モジュールやパッケージ、ライブラリの違いとは? python

yum installで学ぶ! yum の仕組み

composer install composer update の使い方

composer.json、composer.lockって何なの?という人向けのまとめ

Composer は何者か。あるいは install と update の違い。そしてオートロードの仕組み。

 

「フロントエンドエンジニアの教科書」を出版しました!HTML・CSS・JavaScript+α 次世代コーダーのための仕事術

HTMLコーダーからフロントエンドエンジニアにステップするために必要な知識と技術を解説。
現場で求められる人材となるためには、何を知っていて、何ができなければいけないのか。
Web制作の最先端にいるクロノドライブだからこそ教えられるノウハウが満載です。

出版社名:ソフトバンククリエイティブ
著者:クロノドライブ

Amazon.co.jp詳細ページへ