Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

次の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: そのようなファイルやディレクトリはありません
yoshiyasu1111
日々の作業を忘れないために残しておきます。なるべく動作確認したものを記述しますが、ツッコミなどある場合はお知らせください。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした