Posted at

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

次の3つの方法を全部試してみました。感想としては1の方法が何となく正当なやり方なのかなと思ってましたが、2の方法がめちゃくちゃ簡単でした。基本的に公式サイトを参考にしています。


  1. マイクロソフトのリポジトリを登録する方法

  2. Snapパッケージを利用する方法

  3. debパッケージから直接インストール

3つも方法はいらないという人はこちらをどうぞ


環境


  • ubuntu 18.04

  • vscode 1.33.1


スクリプト

以下につらつらと実行してみたのですが単調作業だったので、bashスクリプト作成しました。gitlabに置いています。


1. マイクロソフトのリポジトリを登録する方法


準備

キーをダウンロードする時にcurlを使用するためcurlをインストールします。

~$ sudo apt install curl

aptのレポジトリで使用するマイクロソフトのキーをダウンロードしてきます。microsoft.ascはASCII形式なので、gpg --dearmorコマンドでバイナリ形式に変換してmicrosoft.gpgとしています。

~$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg

~$ ls -l
合計 4
-rw-rw-r-- 1 yoshi yoshi 641 4月 15 13:34 microsoft.gpg


リポジトリを登録する

ダウンロードしてきたキーmicrosoft.gpgetc/apt/trusted.gpg.d/にコピーします。installコマンドはコピー先ファイルの所有者やグループ、パーミッションの指定ができます。cpコマンドを使った場合はcp -> chmod -> chownをしなければいけないのをコマンド一つでできます。(これは初めて知りました。)gpg --dearmorコマンドで作成したmicrosof.gpgはパーミッション:664、所有者:yoshi、グループ:yoshiだが、コピー先の/etc/apt/trusted.gpg.d/microsoft.gpgはパーミッション:644、所有者:root、グループ:rootになっています。

~$ ls -l /etc/apt/trusted.gpg.d/

合計 12
-rw-r--r-- 1 root root 2796 9月 18 2018 ubuntu-keyring-2012-archive.gpg
-rw-r--r-- 1 root root 2794 9月 18 2018 ubuntu-keyring-2012-cdimage.gpg
-rw-r--r-- 1 root root 1733 9月 18 2018 ubuntu-keyring-2018-archive.gpg

~$ sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/

~$ ls -l /etc/apt/trusted.gpg.d/
合計 16
-rw-r--r-- 1 root root 641 4月 15 13:45 microsoft.gpg
-rw-r--r-- 1 root root 2796 9月 18 2018 ubuntu-keyring-2012-archive.gpg
-rw-r--r-- 1 root root 2794 9月 18 2018 ubuntu-keyring-2012-cdimage.gpg
-rw-r--r-- 1 root root 1733 9月 18 2018 ubuntu-keyring-2018-archive.gpg

マイクロソフトのリポジトリを登録します。/etc/apt/sources.list.d/ディレクトリにaptのリポジトリ定義のファイルvscode.listを追加します。

~$ ls /etc/apt/sources.list.d/

~$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

~$ ls /etc/apt/sources.list.d/
vscode.list

~$ cat /etc/apt/sources.list.d/vscode.list
deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main


インストール

先ほど追加したマイクロソフトのリポジトリはhttpsアクセスになります。aptでhttpsアクセスするにはapt-transport-httpsが必要になるためインストールします。

~$ sudo apt install apt-transport-https

リポジトリ情報を更新するためapt updateコマンドを実行します。先ほど追加したリポジトリhttps://packages.microsoft.com/repos/vscodeから情報を取得してきていることが確認できます。

~$ sudo apt update

ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
取得:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
取得:5 https://packages.microsoft.com/repos/vscode stable InRelease [3,182 B]
取得:6 https://packages.microsoft.com/repos/vscode stable/main amd64 Packages [109 kB]
365 kB を 1秒 で取得しました (286 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードできるパッケージが 196 個あります。表示するには 'apt list --upgradable' を実行してください。

apt listコマンドでcodeで検索をかけるとバージョン1.33.1が表示されました。-aオプションをつけて実行すると過去のバージョンを表示されます。

~$ apt list code

一覧表示... 完了
code/stable 1.33.1-1554971066 amd64
N: 追加バージョンが 60 件あります。表示するには '-a' スイッチを付けてください。

~$ sudo apt list -a code
一覧表示... 完了
code/stable 1.33.1-1554971066 amd64
code/stable 1.33.0-1554390824 amd64
code/stable 1.32.3-1552606978 amd64
(略)
code/stable 1.10.1-1488415350 amd64
code/stable 1.10.0-1488387854 amd64
code/stable 1.9.1-1486597190 amd64

準備は整ったのでvscodeをインストールします。インストールが完了してcode --versionコマンドを実行するとバージョン1.33.1がインストールされていることがわかります。

~$ sudo apt install code

~$ code --version
1.33.1
51b0b28134d51361cf996d2f0a1c698247aeabd8
x64

起動はcodeです。

~$ code


アンインストール

あまり機会がないと思いますがアンインストールの方法です。インストールしてきたパッケージをapt removeコマンドで削除して、不要になったパッケージもapt autoremoveコマンドで削除します。追加したaptのリポジトリ定義ファイルとマイクロソフトのキーの削除をします。

~$ sudo apt remove apt-transport-https curl code

~$ sudo apt autoremove
~$ sudo rm /etc/apt/sources.list.d/vscode.list
~$ sudo rm /etc/apt/trusted.gpg.d/microsoft.gpg

apt updateコマンドを実行するとマイクロソフトのリポジトリからは情報を取得してきていないことがわかります。

~$ sudo apt update

ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
取得:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
252 kB を 1秒 で取得しました (194 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードできるパッケージが 196 個あります。表示するには 'apt list --upgradable' を実行してください。

起動もできません。

~$ code

-bash: /usr/bin/code: そのようなファイルやディレクトリはありません


2. snapパッケージを利用する方法


インストール

snap installでcodeをインストールします。snap listコマンドでcodeが追加されていることがわかります。

~$ sudo snap install --classic code

code 51b0b281 from Visual Studio Code (vscode✓) installed

~$ snap list
Name Version Rev Tracking Publisher Notes
code 51b0b281 6 stable vscode✓ classic
core 16-2.37.1 6350 stable canonical✓ core
gnome-3-26-1604 3.26.0 74 stable/… canonical✓ -
gnome-calculator 3.30.1 260 stable/… canonical✓ -
gnome-characters 3.30.0 139 stable/… canonical✓ -
gnome-logs 3.30.0 45 stable/… canonical✓ -
gnome-system-monitor 3.30.0 57 stable/… canonical✓ -
gtk-common-themes 0.1-4-g88bc1b2 818 stable/… canonical✓ -

起動はパスを通していないため/snap/bin/codeです。

~$ /snap/bin/code

コマンドラインでバージョンも確認できます。1.33.1でした。

~$ /snap/bin/code --version

1.33.1
51b0b28134d51361cf996d2f0a1c698247aeabd8
x64


アンインストール

こちらもあまり機会はないと思いますがアンインストールの方法です。snap removeコマンドでcodeの削除をします。snap listコマンドで確認すると確かにcodeの文字が見当たりません。

~$ sudo snap remove code

[sudo] yoshi のパスワード:
code removed

~$ snap list
Name Version Rev Tracking Publisher Notes
core 16-2.37.1 6350 stable canonical✓ core
gnome-3-26-1604 3.26.0 74 stable/… canonical✓ -
gnome-calculator 3.30.1 260 stable/… canonical✓ -
gnome-characters 3.30.0 139 stable/… canonical✓ -
gnome-logs 3.30.0 45 stable/… canonical✓ -
gnome-system-monitor 3.30.0 57 stable/… canonical✓ -
gtk-common-themes 0.1-4-g88bc1b2 818 stable/… canonical✓ -

~$ /snap/bin/code --version
-bash: /snap/bin/code: そのようなファイルやディレクトリはありません


3. debパッケージから直接インストール


準備

debパッケージをダウンロードしてくるときにcurlを使用するのでインストールします。

~$ sudo apt install curl


debパッケージのダウンロード

VSCodeのdebパッケージをダウンロードしてきます。下の例のURLはリダイレクトされるので-Lオプションで対応します。ファイル名を-oオプションで指定します。

~$ curl -L https://go.microsoft.com/fwlink/?LinkID=760868 -o vscode.deb

~$ ls -lh
合計 47M
-rw-rw-r-- 1 yoshi yoshi 47M 4月 15 16:00 vscode.deb


インストール

apt installコマンドでdebパッケージを指定すればインストールすることができます。

~$ sudo apt install ./vscode.deb

バージョンは同じ1.33.1ですね。

~$ code --version

1.33.1
51b0b28134d51361cf996d2f0a1c698247aeabd8
x64

リポジトリを登録した場合と違い過去バージョンについての情報は取得できません。

~$ apt list -a code

一覧表示... 完了
code/now 1.33.1-1554971066 amd64 [インストール済み、ローカル]


アンインストール

少し飽きてきましたがお約束通りのアンインストール

~$ sudo apt remove code

~$ code --verison
-bash: /usr/bin/code: そのようなファイルやディレクトリはありません