AlmaLinuxにVSCodeをインストールする3つの方法
序文
UbuntuにVSCodeをインストールする3つの方法という記事の評判が良かったので、AlmaLinuxバージョンでやってみました。
Visual Studio Codeの公式サイトにある3つのインストール方法を試してみました。
- リポジトリを追加する方法
- snapパッケージでインストールする方法
- rpmパッケージでインストールする方法
環境
- AlmaLinux 9.0
- Visual Studio Code 1.70.2
1.リポジトリを登録する方法
登録されている公開鍵を調べる
現在、登録されている公開鍵を調べるにはrpm -q gpg-pubkeyコマンドを使います。
2つの公開鍵が登録されているようです。
$ rpm -q gpg-pubkey
gpg-pubkey-b86b3716-61e69f29
gpg-pubkey-621e9f35-58adea78
公開鍵のインポート
GPG公開鍵をインポートする
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
もう一度、登録されている公開鍵を調べると1つ増えて3つになっています。
$ rpm -q gpg-pubkey
gpg-pubkey-b86b3716-61e69f29
gpg-pubkey-621e9f35-58adea78
gpg-pubkey-be1229cf-5631588c
追加された公開鍵
追加された公開鍵の詳細を表示してみます。
$ rpm -qi gpg-pubkey-be1229cf-5631588c
Name : gpg-pubkey
Version : be1229cf
Release : 5631588c
Architecture: (none)
Install Date: 2022年08月30日 21時20分52秒
Group : Public Keys
Size : 0
License : pubkey
Signature : (none)
Source RPM : (none)
Build Date : 2015年10月29日 08時21分48秒
Build Host : localhost
Packager : Microsoft (Release signing) <gpgsecurity@microsoft.com>
Summary : Microsoft (Release signing) <gpgsecurity@microsoft.com> public key
Description :
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: rpm-4.16.1.3 (NSS-3)
mQENBFYxWIwBCADAKoZhZlJxGNGWzqV+1OG1xiQeoowKhssGAKvd+buXCGISZJwT
LXZqIcIiLP7pqdcZWtE9bSc7yBY2MalDp9Liu0KekywQ6VVX1T72NPf5Ev6x6DLV
7aVWsCzUAF+eb7DC9fPuFLEdxmOEYoPjzrQ7cCnSV4JQxAqhU4T6OjbvRazGl3ag
OeizPXmRljMtUUttHQZnRhtlzkmwIrUivbfFPD+fEoHJ1+uIdfOzZX8/oKHKLe2j
H632kvsNzJFlROVvGLYAk2WRcLu+RjjggixhwiB+Mu/A8Tf4V6b+YppS44q8EvVr
M+QvY7LNSOffSO6Slsy9oisGTdfE39nC7pVRABEBAAG0N01pY3Jvc29mdCAoUmVs
ZWFzZSBzaWduaW5nKSA8Z3Bnc2VjdXJpdHlAbWljcm9zb2Z0LmNvbT6JATUEEwEC
AB8FAlYxWIwCGwMGCwkIBwMCBBUCCAMDFgIBAh4BAheAAAoJEOs+lK2+EinPGpsH
/32vKy29Hg51H9dfFJMx0/a/F+5vKeCeVqimvyTM04C+XENNuSbYZ3eRPHGHFLqe
MNGxsfb7C7ZxEeW7J/vSzRgHxm7ZvESisUYRFq2sgkJ+HFERNrqfci45bdhmrUsy
7SWw9ybxdFOkuQoyKD3tBmiGfONQMlBaOMWdAsic965rvJsd5zYaZZFI1UwTkFXV
KJt3bp3Ngn1vEYXwijGTa+FXz6GLHueJwF0I7ug34DgUkAFvAs8Hacr2DRYxL5RJ
XdNgj4Jd2/g6T9InmWT0hASljur+dJnzNiNCkbn9KbX7J/qK1IbR8y560yRmFsU+
NdCFTW7wY0Fb1fWJ+/KTsC4=
=J6gs
-----END PGP PUBLIC KEY BLOCK-----
リポジトリの追加
現在、vscode.repoと言う名前のリポジトリが登録されていないため何も表示されません。
$ ls /etc/yum.repos.d/ | grep vscode.repo
もしくは
$ sudo dnf repolist | grep code
リポジトリの登録をします。
$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
改めて確認すると、vscode.repoというファイルが追加されています。この中でリポジトリの設定がされています。
$ ls /etc/yum.repos.d/ | grep vscode.repo
vscode.repo
もしくは
$ sudo dnf repolist | grep code
code Visual Studio Code
リポジトリ情報の更新
dnf check-updateコマンドでリポジトリ情報の更新をします。
$ sudo dnf check-update
Visual Studio Code 1.1 MB/s | 28 MB 00:25
メタデータの期限切れの最終確認: 0:00:29 時間前の 2022年08月30日 21時34分17秒 に実施しました。
インストール
dnf install codeコマンドでインストールします。
$ sudo dnf install code
メタデータの期限切れの最終確認: 0:01:39 時間前の 2022年08月30日 21時34分17秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
===================================================================================================================================================================================================================
インストール:
code x86_64 1.70.2-1660629488.el7 code 115 M
トランザクションの概要
===================================================================================================================================================================================================================
インストール 1 パッケージ
ダウンロードサイズの合計: 115 M
インストール後のサイズ: 341 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
code-1.70.2-1660629488.el7.x86_64.rpm 924 kB/s | 115 MB 02:07
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 923 kB/s | 115 MB 02:07
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : code-1.70.2-1660629488.el7.x86_64 1/1
scriptletの実行中: code-1.70.2-1660629488.el7.x86_64 1/1
検証 : code-1.70.2-1660629488.el7.x86_64 1/1
インストール済み:
code-1.70.2-1660629488.el7.x86_64
完了しました!
インストールされている確認します。
$ code --version
1.70.2
e4503b30fc78200f846c62cf8091b76ff5547662
x64
起動
コマンドラインで起動するときは code 2> /dev/null & と打ちます。
$ code 2> /dev/null &
2.snapでインストールする方法
epelリポジトリの追加
$ sudo dnf install epel-release
$ sudo dnf upgrade
インストール
$ sudo dnf install snapd
起動
デフォルトではsnapdは起動していません。
$ sudo systemctl status snapd.socket
○ snapd.socket - Socket activation for snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.socket; disabled; vendor preset: disabled)
Active: inactive (dead)
Triggers: ● snapd.service
Listen: /run/snapd.socket (Stream)
/run/snapd-snap.socket (Stream)
システムの起動時にsnapdが立ち上がるような設定と同時に起動します。
$ sudo systemctl enable --now snapd.socket
Created symlink /etc/systemd/system/sockets.target.wants/snapd.socket → /usr/lib/systemd/system/snapd.socket.
Active:が active (listening) になっているので起動中です。またLoaded:が enabled; になっているのでシステムの起動時にsnapdが起動するようになっています。
$ sudo systemctl status snapd.socket
● snapd.socket - Socket activation for snappy daemon
Loaded: loaded (/usr/lib/systemd/system/snapd.socket; enabled; vendor preset: disabled)
Active: active (listening) since Wed 2022-08-31 00:19:30 JST; 20s ago
Until: Wed 2022-08-31 00:19:30 JST; 20s ago
Triggers: ● snapd.service
Listen: /run/snapd.socket (Stream)
/run/snapd-snap.socket (Stream)
Tasks: 0 (limit: 22601)
Memory: 0B
CPU: 537us
CGroup: /system.slice/snapd.socket
snapの動作確認
$ snap version
snap 2.56.2-1.el9
snapd 2.56.2-1.el9
series 16
almalinux 9.0
kernel 5.14.0-70.22.1.el9_0.x86_64
classic snap対応
classic snapのサポートを有効にする
$ sudo ln -s /var/lib/snapd/snap /snap
もし上記コマンドを実行しなかったらcodeをインストールできません
$ sudo snap install --classic code
error: cannot install "code": classic confinement requires snaps under /snap or symlink from /snap
to /var/lib/snapd/snap
インストール
$ sudo snap install --classic code
2022-08-31T00:27:54+09:00 INFO Waiting for automatic snapd restart...
code e4503b30 from Visual Studio Code (vscode✓) installed
バージョン確認
$ code --version
1.70.2
e4503b30fc78200f846c62cf8091b76ff5547662
x64
3.rpmパッケージでインストールする方法
ダウンロードサイトに行ってrpmパッケージをダウンロードしてきます。
ダウンロードが完了したらdnf installコマンドでインストールします。
$ sudo dnf install ./code-1.70.2-1660629488.el7.x86_64.rpm
[sudo] yoshi のパスワード:
メタデータの期限切れの最終確認: 11:35:12 時間前の 2022年08月31日 00時08分32秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
===================================================================================================================================================================================================================
インストール:
code x86_64 1.70.2-1660629488.el7 @commandline 115 M
トランザクションの概要
===================================================================================================================================================================================================================
インストール 1 パッケージ
合計サイズ: 115 M
インストール後のサイズ: 341 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : code-1.70.2-1660629488.el7.x86_64 1/1
scriptletの実行中: code-1.70.2-1660629488.el7.x86_64 1/1
検証 : code-1.70.2-1660629488.el7.x86_64 1/1
インストール済み:
code-1.70.2-1660629488.el7.x86_64
完了しました!
バージョン確認
$ code --version
1.70.2
e4503b30fc78200f846c62cf8091b76ff5547662
x64
このやり方だとリポジトリが登録されないので自動更新ができないようです。自動更新したい場合はリポジトリを登録しておくと良いでしょう。Ubuntuなどのdebian系OSのapt install <debパッケージ>だとリポジトリも追加されるみたいです。
リポジトリの追加
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
リポジトリ情報のアップデート
$ sudo dnf update
Visual Studio Code 7.5 kB/s | 3.0 kB 00:00
Visual Studio Code 5.6 MB/s | 28 MB 00:05
メタデータの期限切れの最終確認: 0:00:09 時間前の 2022年08月31日 11時53分20秒 に実施しました。
依存関係が解決しました。
行うべきことはありません。
完了しました!
リポジトリが追加されたことの確認
$ ls /etc/yum.repos.d/ | grep vscode.repo
vscode.repo
もしくは
$ sudo dnf repolist | grep code
code Visual Studio Code
Discussion