Table of Contents
1 はじめに
職場のデスクトップPCには古いFedora 28が入っています。最近dnfで問題が起きてDevOpsに泣きついたら、Rocky Linux 9への入れ替えを勧められました。そこで、デスクトップPCのOS移行に先立ち、MacBook上のvitrualboxで Rocky Linux を試してみることにしました。
CentOSがStreamになって、RHELの無償版という位置づけ(ダウンストリーム)から、RHELのベータ版的な位置づけ(アップストリーム)に変わってしまったために、元々のCentOSのあるべき後継版(RHELのダウンストリーム)として登場したのがRocky Linuxです。
2 Rocky Linuxインストール
まずは ここ からx86_64のDVDイメージ(iso)をダウンロードします。
2.1 VM作成
VirtualBoxでRocky LinuxをインストールするVMを作成します。VM作成手順:
- VirtualBox > Tools tab > New icon > Name: "Rocky9" > Continue > memory 1024 MB > Continue > Create (hard disk) > 略
ストレージはthin provisioningで64GBアサインしました。今回はCPUコア数を1に、メモリをVirtualBox推奨通りの1GBにしました。共にFedora36 VMの半分です。emacsからtramp接続する使い方がメインなので足りるでしょう。
ダウンロードしてきたisoファイルをVMにマウントします:
- VirtualBox > 作成したvm > Settings > Storage > Storage Devices > Controller: IDE > Emptyをクリック > Optical Drive: の右にあるdiscアイコンクリック > choose a disc file > isoを選択 > Open
Rocky9 VMをダブルクリックして、VMを起動します。
2.2 Rocky Linuxインストーラー
しばらく待っているとRocky Linux 9のインストーラー起動画面が出ます。Guest Additionsが入っていないせいか、マウスカーソルがVMに持っていかれ、操作性がやや悪いです。Macの場合、左コマンドキーでマウスカーソルをVMから戻すことができます。
- install to hard drive > installer起動 > インストール先ストレージ選択 > rootパスワード指定 > Nextを押す > インストール開始 > 終わるまで待つ > Finish
DVDイメージは手動でアンマウントしませんでしたが、その後DVDからは起動してきませんでした。
2.3 Rocky Linux起動
初めてインストールしたハードドライブからRocky Linuxが起動してくると、設定画面が出てくるので、メインで使うユーザーを登録して設定を終わらせます。
便利なことに、ネットワークは自動で設定されていました。DNSも問題ありません。
確認のために、terminalから ping google.com
してみます。OSをアップデートします。
sudo dnf update
しばらく待って完了したら、次はGuest Additionsです。
2.4 Guest Additions
最近のfedoraは最初からGuest Additionsがインストールされていますが、Rocky Linuxは手動でインストールする必要があります。Rocky Linux 9 Guest Additionsで検索して出てくる このあたりのサイト を参考にしました。
sudo dnf install epel-release -y sudo dnf install dkms kernel-devel kernel-headers gcc make bzip2 perl elfutils-libelf-devel sudo dnf update kernel-* reboot
そして、VirtualBoxメニュー > Devices > Insert Guest Additions CD image … を選択するとポップアップが出るので Run をクリックします。
Guest Additionsが入ってマウスがシームレスに使えるようになりました。ついで、以下を設定します。
- Devices > Shared Clipboard > Bidirectional
- Devices > Drag and Drop > Bidirectional
- Devices > Shares Folders > Shared Folders Sttings > ホストOSの共有したいフォルダを指定
(相変わらず)共有フォルダにアクセスしようとするとPermission Deniedでエラーとなるので、ユーザーをvboxsfグループに追加します。
sudo usermod -G vboxsf -a <user name>
そして、リブート(logout → loginでもいいかも)する前にホスト名も変えておきます。
sudo hostnamectl set-hostname <hostname>
確認します。Static hostnameがきちんと設定されていたらOKです。
$ hostnamectl Static hostname: r9 Icon name: computer-vm Chassis: vm 🖴 Machine ID: 140b0aa3b900499c85acc0596f73044c Boot ID: 72e3fcfa5cba45a2b26cf6399bc731dd Virtualization: oracle Operating System: Rocky Linux 9.0 (Blue Onyx) CPE OS Name: cpe:/o:rocky:rocky:9::baseos Kernel: Linux 5.14.0-70.22.1.el9_0.x86_64 Architecture: x86-64 Hardware Vendor: innotek GmbH Hardware Model: VirtualBox
リブートします。Rocky Linuxとしての基本的な設定はここで終わりです。
3 gitの設定
gitが入っていなかったのでインストールします。
sudo dnf install git
gitの最低限の設定をしておきます。
git config --global user.email "<user@email.com>" git config --global user.name "<your name>"
4 pythonの設定
最初から入っているPythonは3.9.10と、Fedora36よりも少し古かったです。
[k****@r9 ~]$ which python /usr/bin/python [k****@r9 ~]$ python -V Python 3.9.10
4.1 pyenvを入れる
最新pythonを入れるのにpyenvを使います。pyenvについては公式githubへ。
まずは前提ソフトのインストールです。
sudo dnf install make gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
ついで、pyenvをgit cloneしてきます。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
.bash_profileを書き換えて実行します。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile source .bash_profile
そして、pyenvを使って最新安定版の3.10.7をインストールします。
pyenv install --list
これでインストール可能バージョンを確認して、
pyenv install 3.10.7 pyenv global 3.10.7 pyenv rehash
インストール(しばらくかかります)、グローバルに適用、pyenvのキャッシュ(?)を最新にします。
[k****@r9 ~]$ python -V Python 3.10.7 [k****@r9 ~]$ which python ~/.pyenv/shims/python
無事に、pyenv版のpythonが設定されました。
pythonと共にpipが入ったので、MacBook上のemacsからeglotで使うために、python用のlspサーバーをインストールします。
pip install 'python-lsp-server[all]'
5 emacsを設定する
6 Macからssh接続できるようにする
これも 以前の記事 を参考にして設定します。 なお、Rocky Linux 9ではsshサーバーが最初から動いていました。server with GUI(デフォルト)でインストールしたためでしょうか。
7 github, gitlabにアクセスできるようにする
github, gitlabに生成したsshパブリックキーを登録します。 githubで自分のアイコンをクリック > Settings > SSH and GPG keys > New SSH Keyから登録します。
~/.ssh/configに以下を追記します。
Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_r9
接続確認をします。
ssh -T git@github.com
Welcomeメッセージが出たらOKです。 うまくいかなかったら、verboseモードできちんと意図したsshキーが使われているかを見ます。
ssh -vT git@github.com
8 git cloneしてくる
github, gitlabから、自分で作成したドキュメントやソースコードをgit cloneしてきます。
9 emacsのメール環境を作る
mbsyncの入っているisyncをdnf installしようとしたら「無い」と言われました。 epelを設定しても駄目でした。どうして???
仕方なく このページ のDownload > Binary PackageのURLからrpmをwgetしてきます。
wget https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/i/isync-1.4.4-1.el8.x86_64.rpm
そして、ローカルインストールします。
sudo yum localinstall isync-1.4.4-1.el8.x86_64.rpm
前提パッケージ不足で怒られることもなく、無事にインストールできました。
後は、以前の記事 を参考にして環境を作ります。相変わらずタグは使っておりません。。。
10 ブログ環境を設定する
ブログデータはgit cloneで戻せるものの、pelicanサイトジェネレーターは手動で設定しています。もっとうまくやる方法があるような気もするのですが。。。
このブログの 最初の記事 を参考にして設定します。content ディレクトリは、git cloneしてきたブログデータ(の入ったディレクトリ)へのシンボリックリンクで置き換えます。
11 終わりに
Guest Additionsを手動で設定しなければならないことと、isyncをRPMから入れなければ行けなかったことを除いて、Rocky Linux 9はFedoraの最新版であるかのように設定することができました。今回はVMのメモリを今までの半分である1GBに減らしましたが、特に問題無く使えています。MacのVirtualBoxがへぼいので倍の2GBを使っているわけですが。。。
とりあえず試すつもりが、Fedora36からの全面移行になってしまいました。当たり前ですが、今の所使い勝手はFedoraやCentOSとほとんど同じです。