SlideShare a Scribd company logo
今すぐ始める! Ubuntu入門
日本仮想化技術株式会社
水野 源 mizuno@VirtualTech.jp
2021/01/27
1
日本仮想化技術株式会社 概要
• 社名:日本仮想化技術株式会社
• 設立:2006年12月
��� 資本金:3,000万円
• 売上高:212,358千円(2019年7月期)
• 本社:東京都渋谷区渋谷1-8-1
• 取締役:宮原 徹(代表取締役社長兼CEO)・伊藤 宏通(取締役CTO)
• スタッフ:8名(うち、6名が仮想化技術専門エンジニアです)
• 仮想化技術に関する研究および開発
• 仮想化技術に関する各種調査・導入運用サポート
• 自動化・DevOps支援
• 5G・MECに関わる研究開発
2
ベンダーニュートラルな
独立系仮想化技術の
エキスパート集団
発表者について
• 水野 源
• VTJ 技術部所属
• Ubuntu JPメンバー
• ubuntu.comメンバー
• Debianパッケージメンテナ
• 日経Linuxにて���Linux 100%活用
ガイド」を連載中(7年目)
• ニフクラ クラウドナビの記事作
成に協力しています
3
本日のアジェンダ
• Ubuntuの基礎
• Ubuntuってなに?
• Ubuntuを使う魅力とは?
• Ubuntuの運用
• リリースサイクルとサポート期間は?
• エンタープライズ向けのサポートは?
• バージョンアップやセキュリティ対策は?
• RHEL/CentOSユーザーがハマりがちなポイント
4
Ubuntuの基礎
5
Ubuntuとは
• Debian開発者であったMark Shuttleworthによって作られた、Debian
ベースの派生ディストリビューション
• 使いやすいデスクトップOSを作ることを目標として開発開始
• 比較的新しいディストリな印象があるが、2004年10月リリース
• 実は今年で17年目
• OSとしてのすべての機能は無償で使用できる
6
Mark Shuttleworth by Martin Schmitt
from Wikimedia
UbuntuコミュニティとCanonical
• Ubuntuの開発の主体はUbuntuコミュニティ
• CanonicalはMarkがUbuntuをサポートするために設立した企業
• コミュニティに資金的な援助を行っている
• CanonicalはフルタイムでUbuntuを開発する開発者を雇用している
• セキュリティ修正などはCanonicalの手助けなしではたぶん無理
• 緊急時に備え、Ubuntu財団に資金がプールされている
• 初期投資で1000万ドル
• コミュニティによる開発体制と、企業による資金、技術的なサポート
が両立している
7
Ubuntuの利用状況
• サーバーやコンテナのベースOSとして広く使われている
• Linuxを利用していると判明しているWebサイトのうち48.1%がUbuntu
• Archive.org、Sourceforge.net、Wikipedia等で採用されている
• 3DCG映画のレンダリングにも大規模で利用された実績あり
8
https://w3techs.com/technologies/details/os-linux/all/all より
Ubuntuを使う魅力
• コミュニティ主体のオープンな開発体制
• Debian由来の豊富なソフトウェア資産
• 世界的に大きいシェア
• 速い進化と長いサポートの両立
• 企業による支援
9
Ubuntuの運用
10
Ubuntuのリリースサイクルとサポート期間
• 半年に一度のタイムベースリリース
• 4月と10月の第三木曜日リリース
• バージョン番号は��暦下2桁.月2桁で表現される
• 例: 2020年4月リリース=20.04
• サポート期間は9ヶ月
• 2年に1度、長期サポート版(LTS)がリリースされる
• LTSのサポート期間は5年
• 公式派生版(フレーバー)は、サポート期間が異なることがある
• LTSにはExtended Security Maintenance(ESM、重要なセキュリティ
修正だけを提供する延長サポート)が有償で提供されている
11
Ubuntuのコードネーム
• リリースごとにコードネームがつけられている
• 頭韻を踏んだ英単語で「形容詞+動物名」をアルファベット順につけ
るのがならわし
• 開発者間の会話やリポジトリのディレクトリ名などで、コードネームの
形容詞部分が使われる
12
バージョン コードネーム
19.10 Eoan Ermine
20.04 LTS Focal Fossa
20.10 Groovy Gorilla
LTSとポイントリリース
• LTSのサポート期間は5年
• 次のLTS(2年後)や、その次のLTS(4年後)まで使い続けられる
• リリースから時間がたつと、新しいハードウェアにインストールできな
いことがある
• インストールしようとしたら、ストレージを認識しないんだけど……etc
• それまでのアップデートと新しいカーネルを含んだインストールメディ
アをリリースしよう → ポイントリリース
• LTSリリースから数ヶ月後に最初のポイントリリースがリリースされる
• それから半年ごとに新しいポイントリリースがリリースされていく
• 2年後に次のLTSがリリースされると、ポイントリリースは打ち止め
13
LTSとポイントリリース
14
20.04 LTS
20.10
21.04
21.10
20/04 20/08 21/02
20/10 21/08 21/10
21/04 22/02 22/04 22/08
22.04 LTS
20.04.1 20.04.2(予定) 20.04.3(予定) 20.04.4(予定) 20.04.5(予定)
Ubuntuのバージョンアップ
• 半年ごとにリリースされるバージョンへのアップグレードと、LTSから
LTSへのアップグレードがある
• LTSから半年後に非LTSへのアップグレードも可能だが非推奨
• LTSからポイントリリースへのOSアップグレードというものはない
• 日々のアップデートを実施すると、自動的にポイントリリース相当になる
• 新しいカーネルを使いたい場合は別途インストールが必要
• 専用のコマンド(do-release-upgrade)で次バージョンへ更新する
• これによるアップグレード中は、別デーモンが別ポートでSSHを待ち受けるな
どの親切機能がある
15
Ubuntuのバージョンアップ
16
20.04 LTS
20.10
21.04
21.10
20/04 20/08 21/02
20/10 21/08 21/10
21/04 22/02 22/04 22/08
22.04 LTS
エンタープライズ向けの有償サポート
• 有償サポートパッケージ「Ubuntu Advantage」
• 多数のUbuntuサーバーを管理するツール「Landscape」
• 再起動なしにカーネルにパッチを当てる「Livepatch」
• Extended Security Maintenanceによる延長サポート
• Canonicalのナレッジベースへのアクセス
• 24時間の電話、オンライン窓口
• などが含まれている(内容はプランによる)
• 一番安いEssentialプランは���間225USD/物理サーバーだが、AWS
のMarket Placeでは1時間単位での時間課金で購入できる
17
Ubuntuのパッケージとセキュリティ
• Linuxディストリビューションでは、なんらかのパッケージ管理システ
ムを使って、ソフトウェアをパッケージとして扱うのが一般的
• UbuntuではDebian由来のDebパッケージと、ユニバーサルパッケー
ジであるsnapが利用されている
• Ubuntuのリポジトリは、main、universe、restricted、multiverseの4つ
のコンポーネントに分かれている
• これ以外にもCanonicalがメンテナンスしているpartnerリポジトリなど
が存在する
18
Ubuntuのパッケージとセキュリティ
19
restricted multiverse
main universe
Canonical Community
Free
Non-Free
Ubuntuのパッケージとセキュリティ
• main/restrictedのパッケージは、Canonicalのセキュリティチームによ
るセキュリティアップデートが保証されている
• インストールメディアにはこのカテゴリのパッケージのみが収録されている
• universe/multiverseのパッケージは、コミュニティによるアップデート
のみが提供される
• そのためアップデートが保証されず、脆弱性も放置される可能性がある
• Canonicalによるサポートがないため、サーバーで利用するかどうかは要検
討の上、自己責任で
20
Ubuntuのパッケージアップデート方針
• 一度リリースされたパッケージについては、バージョンを上げないの
が基本
• 共有ライブラリをはじめ、複数のパッケージが依存することでOSが作られて
いるため、リリース後に迂闊にバージョンを変更すると影響が読めないため
• そのため、LTSでは5年間同じバージョンを使い続けることになる
• 同じバージョンが5年以上サポートされ、セキュリティ修正が提供されるとい
うのはメリットでもある
• とはいえバージョンアップの激しいフロント寄りのアプリでは不便
• 最近では、アップデートによって挙動が変わったり,致命的なバグが
発生しないことが保証されている場合は許容されるようになっている
21
新しいパッケージシステム「snap」
• CanonicalとUbuntuコミュニティが開発・推進しているユニバーサル
パッケージ
• あらゆるディストリビューションで利用できる
• 依存関係を気にしなくてよい
• 複数バージョンの並行利用が簡単
• 過去バージョンへのロールバックも簡単
• 開発版/安定版のような複数ブランチの並行配信に対応
• 更新頻度の高いアプリケーションの配布に向いている
22
Ubuntuを継続して運用していくためには
• リリースタイミング、サポート期間、サポート範囲を意識すること
• main/universeを意識しよう
• タイムベースリリースのため、アップグレードやリプレース計画は立てやすい
• 有償サポートの利用も検討しよう
• 大規模運用ならLandscapeを使うことで、複数サーバーを管理・監視できる
• Livepatchは再起動なしでカーネルの脆弱性にパッチを当てられるので、停
止できないシステムで有効
• Ubuntu CVE Trackerを活用しよう
• 特定の脆弱性の影響範囲を確認できる
• https://people.canonical.com/~ubuntu-security/cve/
23
RHEL/CentOSユーザーが
ハマりがちなポイント
24
運用中のUbuntuのバージョンを知るには
• /etc/redhat-releaseは(当然)存在しない
• /etc/debian_versionはベースになったDebianのバージョン
• Ubuntuのバージョンを知るにはlsb_releaseコマンド
25
$ cat /etc/debian_version
bullseye/sid
$ lsb_release –a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.10
Release: 20.10
Codename: groovy
パッケージ更新時のお作法
• パッケージ管理コマンドは「apt」
• 従来のapt-getとapt-cacheを統合し、便利機能を追加したコマンド
• とはいえapt-getもまだ使用可能
• apt updateでパッケージ情報を更新
• apt upgradeでパッケージ本体を更新
• yumと異なり、update & upgradeの二段構え
• apt-get upgradeとは挙動が異なることに注意
• apt full-upgradeで全パッケージを完全に更新
• こちらはapt-get dist-upgradeと同等
26
aptとapt-get、upgradeとfull-upgradeの違い
27
パッケージの更新 新規パッケージのインストール 不要パッケージの削除
apt upgrade する する しない
apt full-upgrade する する する
apt-get upgrade する しない しない
apt-get dist-upgrade する する する
• apt full-upgrade/apt-get dist-upgradeは完全なアップグレード
• 依存関係の変更によって、新規パッケージがインストールされたり、古い
パッケージが削除されるとしても、すべて実行する
• apt upgradeはパッケージ削除をともなうアップグレードを保留する
• apt-get upgradeは新規パッケージのインストールもしない
• すなわちapt-get upgradeではカーネルの更新が行われない
パッケージアップデート時の挙動の違い
• /etc以下のファイルは自動で保護される
• パッケージアップデート時、パッケージ内のファイルとローカルのファイルに
差分があった場合、選択肢が表示される
• yumの場合、RPMのSPECでconffileに指定されていないファイルは問答無用
で上書きされてしまう
• より安全に運用するには、etckeeperを使用するなどの工夫を
28
/bin/shがdashへのシンボリックリンク
• dashとはDebian版のAlmquist shell
• Almquist shellとは小型軽量なBourne Shellの代替実装
• よくbashの誤植と勘違いされる……
• dashはbashのような拡張文法を持たない
• Shebangに/bin/shを指定しているにもかかわらず、bash拡張を使っ
ているスクリプトが世の中には存在する
• CentOSではbashが起動されるため、動いてしまう
• Ubuntuではdashが起動されるため、動作しない ←これが本来正しい
29
ファイアウォールがufw
• ufw(Uncomplicated FireWall)はiptablesのフロントエンド
• アクションと許可するプロトコルを指定するだけ
• ポート番号はアプリ/プロトコル名で指定可能
• コメントも書ける
30
$ sudo ufw allow http
$ sudo ufw limit from 192.168.1.0/24 to any port ssh comment ‘from home’
$ sudo ufw status
To Action From
-- ------ ----
80 ALLOW Anywhere
22 LIMIT 192.168.1.0/24 # from home
名前解決はsystemd-resolvedで
• ローカルアプリ向けに名前解決を提供するsystemdサービス
• 127.0.0.53:53で待ち受けるスタブリゾルバ
• /etc/resolv.confにはnameserver 127.0.0.53と書かれる
• resolv.confは動的に生成されるため、手動で編集してはいけない
• /etc/resolv.confは/run/system/resolve/stub-resolv.confへのsymlink
• 設定を変更したい時は/etc/system/resolved.confをいじること
31
ネットワークの設定はnetplanで
• ネットワークの設定をyamlで記述できる抽象化レンダラー
• 異なるバックエンドを自由に切り替えられる
• 対応しているのはsystemd-networkdとNetworkManager
• 従来のifupdownはnetplanに置き換えられた
• /etc/network/interfacesはもう使わない
• /etc/netplan/*.yamlに設定を記述し、netplan applyで適用
32
参考(になる)資料
• Ubuntu Weekly Recipe
• https://gihyo.jp/admin/serial/01/ubuntu-recipe
• Ubuntu Weekly Topics
• https://gihyo.jp/admin/clip/01/ubuntu-topics
• Linux 100%活用ガイド
• 日経Linux誌 連載
• Ubuntu Server Guide
• https://help.ubuntu.com/lts/serverguide/
33
Ubuntuへの移行をお手伝いします
• Ubuntuに興味があるけど、何から始めていいかわからない、というよ
うなケースもお手伝いします。
• まずは sales@virtualtech.jp までお気軽にご相談ください。
34

More Related Content

今すぐ始める!Ubuntu入門