😊

AlmaLinuxにVSCodeをインストールする3つの方法

2022/08/31に公開

序文

UbuntuにVSCodeをインストールする3つの方法という記事の評判が良かったので、AlmaLinuxバージョンでやってみました。

Visual Studio Codeの公式サイトにある3つのインストール方法を試してみました。

  1. リポジトリを追加する方法
  2. snapパッケージでインストールする方法
  3. 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パッケージをダウンロードしてきます。

https://code.visualstudio.com/Download

ダウンロードが完了したら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