0
0

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.

そうだ、Ubuntuを覚えよう(インストール手順メモ)

Posted at

状況

以前現場に居たときはオンプレミスでRHEL4, CentOS6を使っており、現場からは離れた気でいたけれども諸事情でUbuntu使わないといけなくなったのでチャレンジしていくお話。私のスペック感

  • NetworkManagerちょっとだけ触ったことあるけど基本的にipコマンドだった
  • systemctlもあんまり。/etc/init.dとかserviceだったし
  • journalってなんぞ

自分の学習Outputなので何か結論をまとめたものではありません。ただ、こういう考え方してんだな、という脳内トレースにはなる、のかな。

今回はHPノートPCのWindows10上でVirtualBoxを使ってサーバ構築を目指す。

Ubuntuインストールする

imgファイルの入手

日本語Remix か 純正か

「Ubuntu インストール」で検索して見つかるのがこちら:Ubuntuの入手 - Ubuntu Japanese Team

この時点で日本語Remix版というものが存在することを知る。だいたい機械語の次元において日本語は悪さをしてくれるけれども、以下の2つの観点から日本語Remixを受け入れる方針とした。

  • 各種システムメッセージをある程度日本語化してくれている可能性
    • 初学であるため、解析はかどるほうが良い(※)
  • この先、自分だけではなくどのレベル層のエンジニアか触るかわからない
    • 90%ぐらいの確率で日本語を母国とする方が触るためハードルを下げておく

※「解析がはかどる」という観点でいうと、英文メッセージのほうが検索するとより多くの情報にHitする。ここでは「その場で自分が問題箇所のあたりをつけられるかどうか」の意味

バージョンはどれにするか

2023年08月12日現在、バージョンはUbuntu 22.04 LTSらしい。で、これは安定版なのか?と気になって調べる:Ubuntu LTS について

LTS = Long Term Support。じゃあOK

ざっくりと方針決めておく

  • 現場に居たときは当たり前にroot使っていた。今回は無し。sudo使っていく。
  • 現場に居たときは当たり前にfirewalld, iptablesは無効化していた。今回はちゃんと見る。
  • ただしSELinux、てめぇは駄目だ。Ubuntuにあるのか知らないけど。

素のUbuntuインストール(インストーラ利用範囲まで)

皮の作成

Oracle VirtualBoxを使っていく

仮想マシンパラメータ
メインメモリ 4GB
EFIを有効化 Disable
Processors 2
ビデオメモリ 128MB
ストレージ HDDに80GB(VDI)
ネットワーク1 NAT
ネットワーク2 ホストオンリー

インストール

image.png
「Try or Install Ubuntu」を選択

image.png
パッケージは最小インストールで開始

image.png
パーティション構成。お試しなので基本的に全部/にぶっこみ。このあとDockerなど試す予定があったので/dataとして作業領域を残しておく。

image.png
ここは一般ユーザではなく管理者アカウントの話らしい。もはや管理者 = rootということではないのか。衝撃を受けた。かといってadminという名前にしようとしたら既にシステムで使用していると言われた。なんでや。しかたないので適当な名前でインストールを完了させておく。

インストール後の初期設定

初期セットアップ

インストール時に作成したアカウントでログインして状態をチェック。最小インストールなのにデスクトップ入ってるんだ。へぇ~

SSO(シングルサインオン)

どれとも連携しない。スキップ

Livepatch

Canonical Livepatch helps keep your comuter secure, by applying some up dates that would normally require restarting.
Would you like to set up Livepatch now?

Canonical Livepatchは、通常再起動が必要なアップデートを適用することで、お客様のコンピュータを安全に保つのに役立ちます。
今すぐLivepatchを設定しますか?

再起動なしでKernelをアップデートできるとかそんなのらしい。商用利用のサーバで勝手に更新とかされるとこまるので今回はパス

ソフトウェアの更新

image.png

ありがたいのだがこれをそのまま受けると検証時と商用構築時で各種パッケージのバージョンに差分が出てしまう。今回は後回しにして手動で取り込んでいく。

アカウント設定

初期設定 : root ユーザーを有効にする

へぇ~。つまり最初に作ったアカウントは全操作sudoできるけれどもrootでは無いらしい。今回は検証なのでインストール時に作成したアカウント(udon)のみで作業を進めていく。

ネットワーク設定

初期設定 : ネットワークの設定

ネットワーク設定にyamlを使っていますけど!?既に衝撃。/etc/netplan配下に置くyamlファイルの命名規則があるのかと考えて調べてみる。

Netplanの使い方

  • /etc/netplanに置いたファイルが名前順に読み込まれる
  • sudo netplan applyもしくはサーバ再起動で反映
  • TAB使用禁止。半角スペースで対応すること。まじか。
  • 私がインストールしたときはデフォルトでNetworkManagerへrendererされていた。

Ubuntu の Network設定

Ubuntu Server だと networkd になる

え!?Ubuntu Serverなんてものがあるのか。もしかして私がインストールしているものはサーバ用途ではなくパーソナルコンピューティング用??調べたところ日本語RemixはDesktop版しか提供していなさそう。やり直しだ。がーん。

Ubuntu Serverのインストール

細かいところは端折っていく。
ダウンロード:Ubuntu 22.04.3 LTS (Jammy Jellyfish)

image.png
と思ったらなにか出た。

The Virtual machine failed to boot. That might be caused by a missing operating system or misconfigured boot order. Mounting an operating system install DVD might solve this problem.Selecting an ISO file will attempt to mount it after th dialog is closed.

仮想マシンの起動に失敗しました。オペレーティングシステムが見つからないか、ブート順序が正しく設定されていないことが原因かもしれません。オペレーティングシステムのインストールDVDをマウントすると、この問題が解決する可能性があります。ISOファイルを選択すると、ダイアログが閉じた後にマウントしようとします。

なんじゃい。DVDのプルダウンにISOファイルを選択してみる。むぅ。変わらんぞ。

image.png
これかな。起動順序でIDEプライマリマスターにすりゃいいのかな。うーん駄目だな。そういうわけじゃないらしい。

image.png
じゃあこっちか?うーん、これでもない。ググるか。

Virtual Machine failed to boot
く、、、読むの面倒だな。

もしかしてBIOSでHyper-Vが有効になってないのか?というわけで確認する。むぅ、BIOSではVTxは有効になっていた。

Windows 10 上に Hyper-V をインストールする
と思ったらOSにもなにかやらんといかんのか。

image.png
これかな。うーん、変わらないな。

image.png
であればEFIを有効化かな。

image.png
お、進んだ、ぽい?いや違うな。これ仮想マシンのBIOS開いているだけだ。試しにISOをホストOS(Windows)でマウントし、そのディスクドライブを選択したらどうなるのだろう。

image.png
Fドライブにマウント

image.png
Fドライブを指定・・・あれーだめだな。

image.png
再び機能の有効化。「Windowsハイパーバイザープラットフォーム」と「仮想マシンプラットフォーム」をEnableにする。うーん、変わらない。

VBox.logを漁ってみる。

00:00:08.864689 VirtualBox VM 7.0.8 r156879 win.amd64 (Apr 17 2023 16:42:53) release log
00:00:08.864691 Log opened 2023-08-12T05:42:21.584273700Z
00:00:08.864692 Build Type: release
00:00:08.864695 OS Product: Windows 10
00:00:08.864696 OS Release: 10.0.19045
00:00:08.864696 OS Service Pack: 
:
00:00:09.177228 Guest OS type: 'Ubuntu'
00:00:09.177666 fHMForced=true - No raw-mode support in this build!
00:00:09.183096 File system of 'C:/Users/xxxx/Downloads/ubuntu-22.04.3-live-server-arm64.iso' (DVD) is ntfs
00:00:09.187246 File system of 'D:\VM\Ubuntu\Ubuntu.vdi' is ntfs
:

うん、isoを見つけてはいる。

00:00:30.201347 File system of 'C:/Users/alpha/Downloads/ubuntu-22.04.3-live-server-arm64.iso' (DVD) is ntfs
00:00:30.202801 DrvVD: Flushes will be ignored
00:00:30.202821 DrvVD: Async flushes will be passed to the disk

これはどういう意味だろう。

00:00:47.232056 VMMDev: Guest Log: BIOS: CDROM boot failure code : 0009
00:00:47.232283 VMMDev: Guest Log: BIOS: Boot from CD-ROM failed

ふむ。わからん。このエラーコードで調べたがかなり昔の情報にしか行き当たらなかった。また改めてDesktop版を指定すると普通にインストールを進めることができた。

マイナーバージョンアップ前のubuntu-22.04-live-server-amd64.isoであればいけるだろうか。探してみよう。って探してたら以下に行き着いた

Ubuntu 22.04.3 LTS (Jammy Jellyfish) via ftp.riken.jp
よく見るとファイル名が違う。駄目だったやつはarm64で、今回はamd64。なんかこっちのほうが聞き慣れている。

image.png
動いたぁ~~~えーーーなんでーーー??うん、じゃあまぁスマホとかサーバ用途てきには良いんだね。うーん、己の知識不足よ。

CPUアーキテクチャの種類(x86, x64, arm)

image.png
が、今度はここからカーソルがチカチカするだけで進まんな。。Windowsの機能を色々いじったからなのか?一度もとに戻してやりなおしてみよう。

うーん駄目だな。また別の事象か。EFIモードで起動してみるか。。。いや違うな。

image.png
結局、バージョン部分が32-bitになっていたことが原因だった。これただのアイコン画像差し替えるためのものじゃなかったのか。。

image.png
言語は英語、キーボードはJapanese。このあたりはServer Worldさんに沿う。

image.png
パーティション構成の記録

ここに行き着くのに半日かかっちゃったよ…

初期設定

Server Worldさんのお品書きに沿って実施。

(01)ユーザーを追加する

必須ではないっぽいのでパス

(02)rootユーザーを有効にする

udon@localhost:~$ sudo -s
[sudo] password for udon:
root@localhost:/homeudon# 

イメージ的にsudo su -だったのだが、オプションとして存在するらしい。へぇ。ちなみにsudo su -でも昇格できた。そのときはrootのホームディレクトリに移動したのでログインシェルを実行しているのだろう。あくまでsudo -sは「root権限だけど実行者はudonですよ」というところだろうか。

(03)ネットワークの設定

ようやっと戻ってきたぞぉ。でnetplanyamlを編集しようとしたら

root@localhost:/etc/netplan# vi 01-netcfg.yaml
bash: vi: command not found

うそやろw インストールメディアを挿入してインストールを試みる。あぁ~rpmコマンドしか知らないぞ私…。というか最小限パッケージでここまで最小限にするかねw

root@localhost:/etc/netplan# mount /dev/cdrom -r /mnt
root@localhost:/etc/netplan# ls -l /mnt

ちゃんとマウントできている。良かったぁ~mountコマンドは生きてて。。

root@localhost:/mnt# find . -type f -name *.rpm | head -n 5
root@localhost:/mnt#

いや何もないですやん。あれ、マジで?

root@localhost:/mnt# cd /
root@localhost:/# umount /mnt

仕方ないね、aptとやらを使いましょうか。いま家のネットワークだからいいけど、職場の場合はインストール時のproxyの設定がちゃんと生きてくれることを信じるしか無い。そんでこのあたりのパッケージ追加は怖い。常に最新がインストールされてしまう。検証環境構築時と商用構築時でパッケージのバージョン変わってました~は大変なことになるので、「ローカルにダウンロード→ダウンロードしたものをインストール」としておきたい。

[apt] パッケージの事前ダウンロードを行う

root@localhost:/# mkdir /home/pkgs
root@localhost:/home/pkgs# cd !$
root@localhost:/home/pkgs# apt-get -d install vim
~ごにゃごにゃ~
Do you want to continue? [Y/n] (Enter)
~ごにゃごにゃ~
Download complete and in download only mode
root@localhost:/home/pkgs# ls -tlr /var/cache/apt/archives/
たくさんファイルある

で、これを指定してインストールはどうやるんだろう。ふむふむ。
apt-get installでローカルのdebをインストール出来た

root@localhost:/home/pkgs# cp -p /var/cache/apt/archives/*deb .
root@localhost:/home/pkgs# apt-get -y install *.deb
:
E: Unable to locate package libgpm2_1.20.7-10build1_amd64.deb
E: Couldn't find any package by glob 'libgpm2_1.20.7-10build1_amd64.deb'
:

いや駄目ですやん。なんだろう。cacheのところにあったファイル群も必要なのだろうか。

オフライン環境のUbuntuでapt install

こっちは通常のaptで入れられると書いてある。

~# cd /var/cache/apt/archives
~# apt install -y *.deb
:
E: Unable to locate pakcage ....deb

うーん駄目だな。

UbuntuでUnable to locate packageのエラー解決法

あぁ、なるほどね。リポジトリを更新してないからなのか。ってapt updateしても状況かわらず。うーん、嫌だけど直接インストール試してみるか。

~# apt install -y vim
~# which vim
/usr/bin/vim

うわーいやだなぁ。なんでだろう。まぁいいこれでネットワークの設定に戻れる。デバイス一覧を確認しておく。

~# ip addr show | grep mtu
1: lo: ....
2: enp0s3: ...
3: enp0s8: ...

ということでnetplanの生成

/etc/netplan/01-netcfg.yaml
network:
  ethernets:
  # network IF name
  enp0s3:
    dhcp4: true
    dhcp6: false
  enp0s8:
    dhcp4: false
    addresses: [192.168.56.102/24]
    dhcp6: false
  version: 2
~# netplan apply

IPv6も手順通り閉じておく。

(04)サービスの管理

特にやることなし

(05)システムを最新化する

さて困ったぞ。さっきと同じようにやると商用・ローカルで差が出てしまうかもしれない。その時はまた考えよう。

apt update
apt -y upgrade

ひとまずこのあたりまでやればごく普通のLinuxサーバとしては使えそう。firewallとかの設定見当たらんけど。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?