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