次の3つの方法を全部試してみました。感想としては1の方法が何となく正当なやり方なのかなと思ってましたが、2の方法がめちゃくちゃ簡単でした。基本的に公式サイトを参考にしています。
- マイクロソフトのリポジトリを登録する方法
- Snapパッケージを利用する方法
- 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.gpg
をetc/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: そのようなファイルやディレクトリはありません