LinuC（リナック）レベル1
技術解説無料セミナー
主題

1.04 リポジトリとパッケージ管理

副題

1.04.3 yumコマンドによるパッケージ管理

講師所属企
業のロゴや企業名など

株式会社エンライズコーポレーション（LPI-Japanアカデミック認定校）

橋本 明子© LPI-Japan / EDUCO all rights reserved.

講師プロフィール◼所属
株式会社エンライズコーポレーション
人財本部 人財育成部 マネージャ◼経歴
講師派遣業務に従事（Solaris、Linux、NW、Storage、プログラミング…etc）→産業機器のプログラマーとして従事→社内育成の責任者へ◼現在社員の成長＝会社の成長を掲げ、社内の人財育成に注力
IT未経験者の入社後研修や社員研修の企画/実施/運営/管理
ｅラーニングサイト教材の監修 等© LPI-Japan all rights reserved.

2

eLearning教材 TECHHUB© LPI-Japan all rights reserved.

3

LinuCレベル１／レベル２ Version10.0とは◼LinuCとはクラウド時代の即戦力エンジニアであることを証明するLinux技術者認定✓現場で「今」求められている新しい技術要素に対応• オンプレミス／仮想化・コンテナを問わず様々な環境下でのサーバー構築• 他社とのコラボレーションの前提となるオープンソースへの理解• システムの多様化に対応できるアーキテクチャへの知見✓全面的に見直した「今」身につけておくべき技術範囲を網羅
今となっては使わない技術やコマンドの削除、アップデート、新領域の取り込み✓Linuxの範疇だけにとどまらない領域までカバー
セキュリティや監視など、ITエンジニアであれば必須の領域もカバー© LPI-Japan all rights reserved.

4

クラウドを活用できるITエンジニアに必須の技術がまとまっている
AWSなどのパブリッククラウドを活用するための技術

AWSなどのパブリッククラウドを活用するための技術間が欠けている状態

仮想マシン／コンテナ技術、クラウドセキュリティ、アーキテクチャ、ほかオンプレミスのサーバーサイドLinux技術

オンプレミスのサーバーサイドLinux技術【今まで／その他】

Version10.0© LPI-Japan all rights reserved.

5

今回のテーマ
リポジトリとは何か、yumを通して理解する

対象範囲主題1.04 リポジトリとパッケージ管理副題1.04.3 yumコマンドによるパッケージ管理© LPI-Japan all rights reserved.

6

オンラインセミナーの講師環境◼講師使用の実機環境•

Virtual BoxとはホストOS型の仮想化ソフトウェアの一つ。
ソフトウェアとしてPCを再現する技術。
Windows/Mac/Linux上でも動作。
ダウンロードは下記より。
http://www.oracle.com/technetwork/serverstorage/virtualbox/downloads/•

CentOSとは有名なRedhat系Linuxディストリビューションの一つ。
CentOS Projectが提供。
ダウンロードは下記より。
https://www.centos.org/download/

CentOS7 202003

VirtualBox 6.1

Windows10 Pro

インストール時のパラメータ
ネットワークとホスト名：Ehternet オン
ソフトウェアの選択：GNOME Desktop© LPI-Japan all rights reserved.

7

コマンドの基本のかたち◼コマンド書式$ コマンド名 [オプション] [引数] ↩

[]…必要に応じてつける↩…エンターキーを押す© LPI-Japan all rights reserved.

8コマンドの基本のかたち◼コマンド書式
プロンプト
Linuxがコマンドを受け付ける準備が整ったことを表す記号↓$ コマンド名 [オプション] [引数] ↩
↑Linuxに出す指示意味のある英単語や省略形が多い↑↑
コマンドの実行内容をコマンド動作する対象選択/調整するための文字列
ファイル名が多い-a、-i、-r など
ハイフンと英字の組み合わせが基本[]…必要に応じてつける↩…エンターキーを押す© LPI-Japan all rights reserved.

9

コマンドの基本のかたち◼コマンド書式
プロンプト
Linuxがコマンドを受け付ける準備が整ったことを表す記号

コマンドライン↓$ コマンド名 [オプション] [引数] ↩
↑Linuxに出す指示意味のある英単語や省略形が多い↑↑
コマンドの実行内容をコマンド動作する対象選択/調整するための文字列
ファイル名が多い-a、-i、-r など
ハイフンと英字の組み合わせが基本[]…必要に応じてつける↩…エンターキーを押す© LPI-Japan all rights reserved.

10本日の内容1. Linuxのソフトウェア管理とパッケージ管理
2. リポジトリとは3. yumの設定ファイルとリポジトリの関係性© LPI-Japan all rights reserved.

11

１．Linuxのソフトウェア管理とパッケージ管理◼パッケージとはLinuxが採用しているアプリケーションの配布形態のこと。
アプリケーションのための必要なファイルがひとまとまりになっているファイルの名称。

• アプリケーションの実行ファイル• アプリケーションに必要なライブラリ• アプリケーションの設定ファイル• アプリケーションのドキュメント

パッケージ

Linuxのソフトウェア管理＝パッケージ管理© LPI-Japan all rights reserved.

12

１．Linuxのソフトウェア管理とパッケージ管理◼管理するもの
 パッケージの種類 パッケージのバージョン など◼管理するために行うこと
 パッケージの調査＝照会
 パッケージのインストール
 パッケージのアンインストール
 パッケージのバージョンの更新 など※照会とは問い合わせて確かめること。

© LPI-Japan all rights reserved.

13

１．Linuxのソフトウェア管理とパッケージ管理◼パッケージ管理のタイミング例）構築時AパッケージがBパッケージと依存関係の場合
照会
インストールシステム
構築時
A 依存 B照会
更新システム運用開始

照会
インストールアンインストールC

A‘ 依存 B‘A‘‘ 依存 B‘

BパッケージバージョンアップAパッケージバージョンアップ※Aパッケージのバージョンアップが必要※Bパッケージとの依存関係が解消され、Cパッケージが© LPI-Japan all rights reserved.
代わりに必要になる

14

１．Linuxのソフトウェア管理とパッケージ管理◼Linuxのパッケージ管理の種類
Linuxではパッケージ管理は大きく2種類に分けられる。
分類

拡張子

コマンド

ディストリビューション

RPM系

.rpm

rpm
yumyumdnf

Red Hat Enterprise LinuxCentOS
Fedoraなど

Debian系.debdpkg
apt

DebianUbuntuなど© LPI-Japan all rights reserved.

15

２．リポジトリとは◼リポジトリ（repository）何かしらを保存しておく場所のこと。
Linuxのパッケージ管理においては、パッケージファイルを格納し、yumコマンドやaptコマンドを実行したときに参照される先のサーバーを指す。
 外部リポジトリ＝インターネット上のリポジトリ
 内部リポジトリ＝社内ネットワーク上のリポジトリ

リポジトリ

インターネット

リポジトリ

Linux（CentOS7）

社内ネットワーク© LPI-Japan all rights reserved.

16

３．yumの設定ファイルとリポジトリの関係性◼yumの設定ファイル
 /etc/yum.conf ファイル /etc/yum.repos.d/ ディレクトリ
/etc

yum.repos.dyum.conf…
a.repoz.repo© LPI-Japan all rights reserved.

17

３．yumの設定ファイルとリポジトリの関係性◼yum.confファイル【/etc/yum.conf ファイルの中身】# cat /etc/yum.conf[main] ← セクション名
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log← グローバル設定
exactarch=1
obsoletes=1
gpgcheck=1plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?
project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release© LPI-Japan all rights reserved.

18

３．yumの設定ファイルとリポジトリの関係性◼yum.repos.dディレクトリ内の.repoファイル【/etc/yum.repos.d/ ディレクトリの中身】# ls /etc/yum.repos.d/CentOS-Base.repo
CentOS-Media.repo
CentOS-CR.repo
CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo

CentOS-fasttrack.repo
CentOS-x86_64-kernel.repo【/etc/yum.repos.d/CentOS-Base.repo ファイルの中身】# cat /etc/yum.repos.d/CentOS-Base.repo(略)[base]
name=CentOS-$releasever - Basemirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7(略)© LPI-Japan all rights reserved.

19

３．yumの設定ファイルとリポジトリの関係性◼新しいリポジトリを追加する
 エディタで手動追加【viエディタで手動追加する場合】# vi /etc/yum.repos.d/test.repo[test]
name=test
baseurl=http://xxxxxx.xxxx.xx/xxxx/xxxxx/xxxx
gpgcheck=0

 yumコマンドで追加【yumコマンドで公開されているリポジトリを追加】# yum -y install epel-release
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile(略)
インストール:epel-release.noarch 0:7-11
完了しました!
© LPI-Japan all rights reserved.

20

まとめ

1. Linuxのソフトウェア管理とパッケージ管理→ソフトウェア≒パッケージの種類、バージョンの管理のこと→具体的には、インストール・更新・アンインストールを適切に行うこと

2. リポジトリとは→ネットワーク上のパッケージ置き場のこと→インターネット上なら外部リポジトリと呼ぶ→社内ネットワーク上なら内部リポジトリと呼ぶ

3. yumの設定ファイルとリポジトリの関係性→yum.conf ファイルが全体設定→yum.repos.d ディレクトリがリポジトリの個別設定ファイル置き場→*.repoファイル が個別設定ファイル© LPI-Japan all rights reserved.

21