見出し画像

Ubuntu(Ubuntu Server 24.04.2 LTS)をノートPCにインストールしてみよう!

初めに~動機~

あけましておめでとうございます
私事で恐縮ですが仕事でサーバーを触る機会が増えてきました。
サーバーはHWのメーカーも様々(富士通、Lenovo、日立、NEC、IBM etc…)ながらそれに乗せる上物のSWも様々です(VMware、Windows、Linux、Nutanix etc…)。
これまでOSといえばWindowsもしくはMacの2台巨頭しか触ってこなかったので、サーバーで使われるOSなんてこの仕事に就くまでほとんど知りませんでした。
しかしながら仕事で対応する以上知識・経験を積まないわけにはいきませんので、そのとっかかりとしてLinuxを触ってみることにしました。

<注意>
  本記事は備忘録的に残しているものであり、実際のコマンド入力が及ぼす影響の責任を取ったりや正確性を担保をしたりはしません
  そもそも著者はLinux初心者です

インストールその①~環境と準備~

〇インストール先のPC:Let's Note(CF-SZ6F27VC)
 ※大学入学時に買って卒業後は使うことがなく遊ばせていたため採用
  BIOS:ver V1.11L21/CPU:i7-7500U, 2.7GHz/RAM(メモリ):8GB/ROM(ストレージ):256GB

〇インストール用のメディア作成
 →イメージ入手元:Ubuntuを入手する
  インストールするUbuntuの詳細:Ubuntu Server 24.04.1 LTS 
 ※自分はコマンドライン(CLI)の勉強がしたかったのでGUIなしのUbuntu Serverにしています。
  CLIに抵抗あるけどLinuxを触ってみたい、という方はUbuntu DesktopなどのGUIアリの方をインストールする方が無難だと思います
 ※この次のBoot可能にする工程でメディアがフォーマットされるため、Ubuntuを入れるメディア(USBメディア、外付けSSD・HDDなど)はUbuntu以外のデータを入れない、もしくは消えても問題ないデータが入っているものを使いましょう

〇入手したイメージをBoot可能にする
 インストールイメージをDLしたのち、Boot可能(OSとして起動可能)な状態にする必要があるので、自分はRufusというソフトを使いました
 →Rufus入手元:Rufus (rufus-4.6.exeを使用)

インストール手順やRufus使用手順は各自ググってください、ここでは割愛します

インストールその②~USBメディアからBootする~

その①で準備したUbuntuイメージをノートPCに接続し、BIOS画面からUSB bootをかけます。
Lets Noteだと電源投入後F2キーを連打です。
この操作でWindowsのログイン画面と違う無骨な画面が出るかと思いますが、それがBIOS画面でありPCのいろいろな設定ができる画面と思ってもらえればOK。
BIOS画面の遷移はこちらの記事がわかりやすいかと
 参考:中古で買ったレッツノートに Ubuntu をインストールした方法
    リンク内の「USB メモリーから起動するように BIOS の起動設定を変更する」

他のメーカーPCでも同様にBIOS環境からUSBブートをしてインストールするかと思いますが、Let's NoteのようにBIOSで起動順序を変えたり直接Boot menuを開いてBootメディアを選択したりと機器によって変わります。
「○○(メーカー名、又はPCの機種名) USBブート」と調べればどのように操作するかページが出てくると思います
例:Think Pad USBドライブから起動するには - ThinkPad
    マウスコンピューター PC 起動時に任意のブートデバイスを選択できる 「 Boot Device 選択画面 」 を表示する方法 
※マウスコンピューター使ったことないんですが、製品ごとに連打するFキーが違うんですね…    

インストールその③~初期セットアップ~

その②でUSBからBootすることで、その①で作ったUbuntuイメージが読み込まれPCへのインストールが進行します。
インストール中に読み込みが走った後、Windwos初回起動時のように初期設定ができる画面が立ち上がりますので
・使用する言語/キーボードレイアウト @英語
・インストールの種類 @Ubuntu Server
・ネットワーク設定 @未設定で進行
・プロキシサーバー/ミラーサーバーの設定 @未設定で進行
・ストレージ @Use an entire disk
・ユーザー名/サーバー名/パスワードの設定 @それぞれお好みで入力
をそれぞれ選択・入力し進めましょう。
※@(アットマーク)以降は自分が実施した選択・入力です
 自分の使用目的や使いやすさに合わせて設定してください
※実際の画面遷移はこちらのサイトがわかりやすい
 参考:実機へUbuntu Server 24.04 LTSをインストール
 note書くと思ってなかったから画面遷移撮ってませんでした
 もっかいインストールすれば撮れるけど面倒くさい…(小声)

インストールその④~ネットワーク設定~

さて、その③で初期設定をやった時にネットワーク設定をやりませんでした。
めんどくさかったから後回しにしていたのですが、後々弄っているうちに早めにやっておいた方がいいことに気付きました。
初回インストールをやった直後にやっておいた方がいい(1敗)という反省から、その④の段階で設定する構成にしました。

1' ネットワークの環境を確認する
  まずはip link showを実行し、Ubuntu ServerがインストールされたPCのネットワーク環境、とりわけHW部分を確認してみましょう。
※以下、コマンド部分については1行目の$以降が実際に入力したコマンドとして
 2行目以降は実行結果ととらえてください
 1つ目の例だと「$ ip link show」のうち実際に入力するのは「ip link show」、2行目以降の1:~/2:~/3:~がコマンド入力結果です

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether a8:13:74:c1:2e:54 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:28:f8:a9:dc:0b brd ff:ff:ff:ff:ff:ff

出力結果のうち、「1:lo ~」こちらはローカルループバックアドレス(以下lo)となり、コンピュータ事自体を示す部分です。IPとしてはあるものの外部からは到達できず自身とのみ通信できるものです。
「2: enp0s31f6~」「3: wlp2s0~」はそれぞれ有線LAN(Ethernet)と無線ネットワーク(Wi-Fi)です。ipアドレスを振ったりする際にどのネットワークインターフェースを指定して振るのか(有線側に振るのか無線側に振るのか)、という作業をする際に何回も使いますので控えておきましょう

※インストール先のPCによってネットワークインターフェースは異なりますのでそこは各々で要確認。
 Wi-Fiについては対応する部品(WLANカード)が搭載されてないと無線通信できませんし、新しいノートPCだと有線LAN端子(RJ-45ポート)がない場合もちらほら。また、レアではありますがBIOS設定でネットワーク設定が無効になっているとOS側でどう設定してもネットワーク接続が出来ませんのでご注意を。

さて、出力結果を見る限り(loを除き)2つのネットワークインターフェースが、しかも有線無線両方の通信形式で使用できそう。
上記の出力結果はネットワーク設定後に行ったものなので、有線(enp0s31f6)側がstate UPとなっていますが、初期設定時は両方ともstate DOWNの状態でした。
このState(状態)がUPだとリンクアップとなり通信可能な状態を、DOWNだとリンクダウンとなり通信不可の状態を示しますので、第一目標としてstate UPの状態に持っていけるようにしてみました。

※本noteは諸々終わった後に記しているため、試行錯誤してうまくいかなかった部分は本筋から外し後述します。
 うまくいった方を選択して綺麗なフローに見えるように書いているのでご了承ください
 ネットワーク設定の部分で言うと最初から有線でインターネットに接続できるように設定したかったけれど、うまくいかなかったので無線ネットワーク設定後にアップデートファイルをインターネットから入手、その後ドライバ類をアップデートしてから有線ネットワークを接続するという周り道を踏んでいます

2' 無線ネットワークを設定する
    今回インストールしたUbuntu ServerではNetplanでネットワーク管理をしている、らしいです。
  この設定ファイルを拡張子.yamlで記載して設定しましょう(基本的には有線でも.yamlファイルを編集して設定します)。

$ #netplanファイルがあるディレクトリに移動
$ cd /etc/netplan
$ # ディレクトリ内のファイルを確認
$ ls
50-cloud-init.yaml
  

※#以降の文章はコメントです。実際には実行されません。
 コマンドを実行する際のメモなどをコメントして残してます。

lsコマンドで/etc/netplan内にあるファイルを確認したところ、「50-cloud-init.yaml」という.yamlファイルがあります。
デフォルトで入っている.yamlファイルのようですが、いろいろ調べてみたところあまり無駄にいじったりしない方がよさそう…
ということで新しく.yamlファイルを作成しその中にネットワーク設定を記載しましょう。

$ #99_config.yamlという名前で.yamlファイルを作成
$ sudo vim 99_config.yaml

sudo(rootユーザーでのコマンド実行)をしないとvimエディタ上でファイルを編集しても最後に保存ができない(permission denied:許可されてないよ!)と出る場合があるのでご注意(1敗)。
またvimエディタは使用方法が特殊、というかWindows純粋培養だった人間にとってはなかなか慣れない操作方法だったので私のようにCLI初めて触る人はググるなどして調べておきましょう。

vimの操作方法は割愛しますが、私が「99_config.yaml」に記載した内容は以下の通り。

network:
 version: 2
 wifis:
  wlp2s0:
   dhcp4: false
   addresses: [111.111.111.111/24]
   optional: true
   access-points: 
    "SSID_name"
     passworrd: "wifi_passwrod"

記載内容で注意する部分は以下の通り
・wifis 今回は無線ネットワークを設定するのでwifisに、有線ネットワーク設定をする場合はethernetsにします。
・wlp2s0 これは各々の機器に載っているネットワークインターフェース名を指定しましょう。筆者の機器だと無線ネットワークを設定するのでwlp2s0を指定、有線ネットワークを設定する場合はenp0s31f6を指定する必要があります。
・addresses IPアドレスを固定にしたい場合は設定しましょう。自分は自宅のネットワークと同じサブネット内にあるネットワークにしました。
      例えば、199.88.77.66/サブネット 255.255.255.0のネットワークを使用している場合は 199.88.77.1~254(66は重複するので除く)のどれかから設定し、サブネットも255.255.255.0(上記のvimファイル内では「/24」と表現)で設定するのが無難な気がします。
・access-points "SSID_name"と"wifi-password"はそれぞれ自宅で使っているWi-FiのSSIDとパスポートを入れておきましょう。

3' 作成したネットワーク設定を適用
  先ほどネットワーク設定のためのファイルを作成しましたが、作成後に適用しなければ反映されません。

$ #作成した99_config.yamlを適用する
$ sudo netplan apply  
$ #ipアドレスが設定できたか確認
$ ip a
$ #インターネットに接続できるか確認
$ ping 8.8.8.8

「ip a」の出力結果はここでは割愛しますが、inet~と書かれた行に.yamlないで設定したipアドレスが記載されていれば正常に適用出来ています。
実際にインターネットに接続できたかはpingでも確認しましょう。
Linuxのpingは途中で止めるまでずっと出力され続けるので、確認が終わったら「ctrl + C」で中断しましょう。
※netplan applyした際に「インデントがおかしいよ!」ってエラー吐かれたりすることがままあります(というか何回も吐かれた)(n敗)
 ちょいちょいインデントを訂正するより一回全部書き直した方が成功率が高い気がします

4' アップデートを取得する(ネットワークドライバをアップデートする)
  本来であれば無線ネットワークの設定などせずに直接有線ネットワークを設定してしまえばいいのですが、私が今回インストールした際はうまくいきませんでした。
  いろいろ試した結果有線のネットワークドライバが原因でうまく有線ネットワーク接続がリンクアップしない様子。ドライバをUSBメディア経由でアップデートを試してみましたが成功しなかったので、先に無線ネットワークでインターネットに接続し、そこからアップデートファイルを取得するという回りくどい手法を取りました。

$ #アップデートが可能なパッケージのリストを更新する
$ sudo apt update
$ #更新したパッケージをもとにアップグレードする
$ sudo apt upgrade

コマンド実行後、自動でアップデート・アップグレードが進行します。
途中操作を実行して問題ないか確認が入ると思いますので、その際は「Y(Yes)」を入力し進めましょう。

5' 有線ネットワークを設定する。
  大変めんどくさい回り道をしましたが、ここでやっと有線ネットワークを設定する段階に来ました。
  設定自体は無線の時にやったように/cat/netplan内に設定を.yamlにて記述するやり方です。別の.yamlファイルを記述するでもいいですし、同じ.yamlファイル内に有線と無線両方の設定を記述するでもいいと思います。
  自分は無線を今後使う予定がないので、無線で記述したファイルを丸々有線用に書き直しました。

network:
 version: 2
 ethernets:
  enp0s31f6:
   dhcp4: false
   addresses: [111.111.111.111/24]
   nameservers:
    addresses: [111.111.111.1111]
   routes:
     - to: default
      via: 111.111.111.111

有線無線併用する場合はwifis:とethernets:両方を記載する形式になるかと思います。
あとIPアドレスは使用する際に任意のものを入れてください(このnoteに書いてある111で埋めたIPアドレスはテキトーに入れたダミーです)。
設定出来たら無線の時と同様設定を再適用し、ping通るか確かめましょう。



$ #作成した.yamlファイルを適用する
$ sudo netplan apply  
$ #ipアドレスが設定できたか確認
$ ip a
$ #インターネットに接続できるか確認
$ ping 8.8.8.8


終わりに

(主に自分のせいで)回りくどいネットワーク設定をするハメになり大変疲れました。
設定回りは一筋縄ではいかなかったのですが、最近は生成AIに質問してみると回答が貰えるので大変便利ですね。
”Ubuntuで<コマンド>を実行すると、<出力結果/エラー>になるけどどう解決すればいい?"
と聞くと精度よく回答をもらえ初歩的な質問でも何回質問しても嫌な顔しないので私のような初学者にはとてもありがたい存在です。

ながながと読みにくいnoteで失礼しました。
初期設定編は一旦ここで終了。
次回以降は
「遠隔で操作できるように設定する(tera term)」
「Wake-on-Lanで起動できるようにする」
「起動時に特定のコマンドを実行する」
といった部分を書き記そうと思います。



いいなと思ったら応援しよう!