13
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

yum install と localinstallの違い

Last updated at Posted at 2022-05-11

はじめに

環境構築の際に使うyumコマンド。
基本的な流れはリポジトリを追加(インストール)して、それを基にパッケージを取ってくるわけですが

環境構築方法を調べると
yum installyum localinstallを使っているサイトがありますよね

どっちでも出来るんですが、何が違うのだろうと
ふと気になったのがきっかけ。

調べてみた

によれば

yum install

リポジトリからシステムにパッケージをインストールする

# vsftpd パッケージをインストールする
yum install vsftpd

うん。これはまあわかる。

yum localinstall

ローカルファイル、http、または ftp からパッケージをインストールする

# ローカルディレクトリから abc パッケージをインストールする
yum localinstall abc-1-1.i686.rpm
例2
# FTP サイトから abc をインストールする
yum localinstall http://myrepo/abc-1-1.i686.rpm

おろ?
なるほど、名前通りローカル内にあるrpmファイルからパッケージをインストールできるわけですね。
(リポジトリの追加って言った方が正しい気がする)

ローカルから出来るってことは
rpm用のディレクトリ作っておいて

/tmp/rpm
yum localinstall *

みたいにすれば一気にリポジトリが追加できますね
なるほどなるほど

例2はいつものやつですね
普通にサイトから直接とってくる奴ですね

比較

それじゃあyum installでrpmファイルは取得できないのか?
(リポジトリは追加できないのか?)

結論:出来る

出来るんかーい!

じゃじゃじゃじゃあ
yum localinstallでパッケージのインストールはできないのか?

結論:出来ない

出来ないんかーい!

調べてみると、こんなのを見つけました。
参考

RHEL 5以前のバージョンでは、yum installは有効なリポジトリからのパッケージ名のみを受け入れ、ローカルRPMへのパスを受け入れませんでした。これらをインストールするには、yum localinstallを使用する必要がありました。

RHEL 6以降では、yum installはパッケージ名とローカルファイル名の両方を受け入れるため、localinstallは不要になりましたが、下位互換性のために含まれています。

RHEL 8では、dnf localinstalldnf installの単なるエイリアスです。

なるほどー
つまり以前はrpm取得(リポジトリの追加)する際には
yum localinstallじゃないとダメだったけど
RHEL 6以降
yum installでも取ってこれるようになったと。ふむふむ。

そして

CentOS7では微妙な違いがあることに注意してください
Sudo yum install <alreadyExistingPackage>
エラーが発生しますError: Nothing to do

しかし

Sudo yum localinstall <alreadyExistingPackage>
エラーは発生しません

ほー
yum installだとすでにリポジトリが追加されている場合、エラーが返るが
yum localinstallだとエラーは出ない

結論

ローカルにrpmファイルをあらかじめ用意しておいて
まとめて追加するとかやる以外は
基本yum installで良いんじゃないかと

# リポジトリの追加
yum install [パッケージ名(url)].rpm

# リポジトリの確認
yum repolist

# パッケージのインストール
yum install [パッケージ名]

注意点としては
yum localinstallでも出来るけど
最終的なパッケージのインストールは
yum installじゃないと出来ないよってことですね




結論:yum installで良くね?

おまけ

rpm -qlp [パッケージ名].rpm

するとパッケージに含まれているファイル一覧が表示される

.repoファイルにリポジトリURLが書かれており
yum install [パッケージ名]することでこのURLからパッケージがダウンロード&インストールされる

参考

epelやら基本的なことにまったく触れてないですが
参考サイト様&参考記事がわっかりやすく書いてくださっているので
こちらを見てもらえればと思います

13
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?