【さくらの VPS】Ubuntu を使う場合の初期設定
前書き
さくらの VPS で Ubuntu を使用する場合の初期設定についてまとめておきます。ここで言う初期設定とは、OS の基本的な設定のことで、サーバーを作ったあとかなり早い段階で実行するものです。使い勝手に直結するような設定内容が多いと思います。
- 設定変更を行ったもの
- 設定変更は行わないがデフォルトでどうなっているのかを確認したもの
- インストールしたもの
を記録しておく。
この投稿は個人的な備忘的側面が強いので、ここで書いている設定方法よりも好ましいやり方がある気がします。が、そこには目を瞑って書いていきます。
Ubuntu のバージョンは 20.04 です。
$ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.4 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.4 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal $
設定変更は Ubuntu に ssh ログインして行った。ssh ログインできるようにする方法については過去記事に書いておいた。
初期設定あれこれ
ログインシェル
デフォルトだと bash ではなく sh だった。さすがに sh は使いにくいので変更する。usermod コマンドで使い慣れている bash に変更した。
$ ps PID TTY TIME CMD 2406 pts/0 00:00:00 sh 2486 pts/0 00:00:00 ps $ which bash /usr/bin/bash $ sudo usermod -s /usr/bin/bash hoge [sudo] password for hoge: $
最初に ps コマンドで現在のシェルを確認した sh と表示されていることから sh が設定されている。これを bash に変更したわけだ。usermod コマンドで変更したことで /etc/passwd が書き変えられる。
$ date Sun May 29 17:19:04 JST 2022 $ ls -l /etc/passwd g-rw-r--r-- 1 root root 1870 May 29 17:18 /etc/passwd $ grep ^hoge /etc/passwd hoge:x:1001:1001::/home/hoge:/usr/bin/bash $
設定を反映させるために ssh ログインしなおす。
hoge@os3-3jj-525kk:~$ ps
PID TTY TIME CMD
2610 pts/0 00:00:00 bash
2612 pts/0 00:00:00 ps
hoge@os3-3jj-525kk:~$
ログインシェルを bash に変更することでプロンプトが $ から hoge@os3-3jj-525kk:~$ に変わった。hoge は ssh ログインしているユーザー名で os3-3jj-525kk はこの Ubuntu のホスト名だ。
エディター
crontab の編集をするときに vi じゃないと嫌なのでエディターの設定を確認します。
デフォルトでは nano が設定されている。
hoge@os3-3jj-525kk:~$ ls -l /etc/alternatives/editor lrwxrwxrwx 1 root root 9 Feb 2 2021 /etc/alternatives/editor -> /bin/nano hoge@os3-3jj-525kk:~$
vi (vim) に変更します。/etc/alternatives/editor が /usr/bin/vim.basic に向くようにすれば良いようです。
hoge@os3-3jj-525kk:~$ which vi
/usr/bin/vi
hoge@os3-3jj-525kk:~$ ls -l /usr/bin/vi
lrwxrwxrwx 1 root root 20 Feb 2 2021 /usr/bin/vi -> /etc/alternatives/vi
hoge@os3-3jj-525kk:~$ ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 18 Feb 2 2021 /etc/alternatives/vi -> /usr/bin/vim.basic
hoge@os3-3jj-525kk:~$ sudo update-alternatives --set editor /usr/bin/vim.basic
[sudo] password for hoge:
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode
hoge@os3-3jj-525kk:~$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 May 29 18:02 /etc/alternatives/editor -> /usr/bin/vim.basic
hoge@os3-3jj-525kk:~$
上記赤字のコマンドで設定を変えています。
ひょっとしたらこれだけではダメなことがあるかもしれません。特にエディターの設定をするまえに crontab -e を実行して nano を使うように選択してしまった要な場合には。今回これを僕はやってしまいまして、以下の回避策をとりました。
hoge@os3-3jj-525kk:~$ select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny 4. /bin/ed Choose 1-4 [1]: 2 hoge@os3-3jj-525kk:~$
ここで crontab -e を叩くと vim での操作であることが確認できたのでひと安心。
時刻同期
timedatectl status コマンドを実行すると、デフォルトで時刻同期が有効になっていました。
hoge@os3-3jj-525kk:~$ timedatectl status Local time: Sun 2022-05-29 17:38:51 JST Universal time: Sun 2022-05-29 08:38:51 UTC RTC time: Sun 2022-05-29 08:38:52 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no hoge@os3-3jj-525kk:~$
NTP service のところが active になっていますね。
どこの NTP サーバーと時刻同期しているかは systemctl コマンドで確認します。
hoge@os3-3jj-525kk:~$ sudo systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-05-29 14:06:14 JST; 3h 28min ago Docs: man:systemd-timesyncd.service(8) Main PID: 494 (systemd-timesyn) Status: "Initial synchronization to time server 210.188.224.14:123 (ntp1.sakura.ad.jp)." Tasks: 2 (limit: 1066) Memory: 1.3M CGroup: /system.slice/systemd-timesyncd.service └─494 /lib/systemd/systemd-timesyncd May 29 14:06:14 os3-326-52509 systemd[1]: Starting Network Time Synchronization... May 29 14:06:14 os3-326-52509 systemd[1]: Started Network Time Synchronization. May 29 14:06:15 os3-326-52509 systemd-timesyncd[494]: Network configuration changed, trying to establish connection. May 29 14:06:44 os3-326-52509 systemd-timesyncd[494]: Initial synchronization to time server 210.188.224.14:123 (ntp1.sakura.ad.jp). hoge@os3-3jj-525kk:~$
ntp1.sakura.ad.jp という NTP サーバーと時刻同期させるのがデフォルト設定のようだ。さくらの VPS だからさくらインターネットの NTP サーバーを使うようにしてあるということだろう。
同期できれば良いので設定はこのままで変更しないことにした。
インストールしたもの
インストール可能なパッケージをインストールするのにいつも使っている aptitude がインストールされていなかったのでインストールした。
sudo apt-get install aptitude