(Gentoo)VisualStudioCodeをインストールする

投稿者: | 2020年4月10日
皆さんこんにちは。ヒロウミです。

最近Linuxの1つであるGentooを使い始めてみました。きっかけは、インストール作業をすべて手動で行うディストリビューションだと知って興味をひかれたためです。ただインストールの壁をこえて使い始めはたいいものの他のディストリビューションほど日本語の記事がヒットしないので自分が調べたことをメモがてらのこしておこうとおもいます。

追記:
* カスタムリポジトリを設定せずに、VSCodeを直接tarでダウンロードして利用することもできます。
https://code.visualstudio.com/download#

* カスタムリポジトリを設定せずに、Gentooのoverlay機能を使うのが一般的。本記事の方法はこんなやり方もあるんだ程度で↓を参考にするのが良いと思います。
Gentoo LinuxでOverlayを利用する

カスタムリポジトリを定義する

GentooにVSCodeをインストールするためにはまず初めにカスタムリポジトリを定義する必要があります。GentooのデフォルトのリポジトリにVSCodeは入っていないので、この作業が必要になります。存在しないことを確認するためにemerge –search vscodeで検索してみてもよいですし、find /var/db/repos/gentoo/ -name “vscode“でローカルのリポジトリを検索してみてもよいかもしれません。
# mkdir -p /usr/local/portage/{metadata,profiles}
# chown -R portage:portage /usr/local/portage
# echo 'localrepo' > /usr/local/portage/profiles/repo_name
# cat <<EOF >/usr/local/portage/metadata/layout.conf
masters = gentoo
auto-sync = false
EOF
# cat <<EOF >/etc/portage/repos.conf/localrepo.conf
[localrepo]
location = /usr/local/portage
EOF

VSCodeのリポジトリをクローンして適用する

Gentooユーザが作成してくれているVSCodeのebuildをローカルのカスタムリポジトリに適用します。今回はapp-editorsのみ適用しておきます。 ※公式のリポジトリではないのでその辺は留意してください。
# mkdir ~/git_repos && cd $_
# git clone https://github.com/jorgicio/jorgicio-gentoo-overlay.git
# ln -s ~/git_repos/jorgicio-gentoo-overlay/app-editors /usr/local/portage

ライセンスとアンマスクを設定する

emergeでインストールする準備は整いましたが、このままではライセンスとマスクの設定がなされていないためインストールすることができません。以下の設定を追加します。
# mkdir /etc/portage/package.unmask/
# echo '>=app-editors/vscode-bin-1.43.0' > /etc/portage/package.unmask/vscode-bin

# echo '>=app-editors/vscode-bin-1.43.0 MS-vscode-EULA' >> /etc/portage/package.license

VSCodeをインストールする

以下でVSCodeをインストールします。
# ACCEPT_KEYWORDS="~amd64" emerge -av vscode-bin

VSCodeを起動する

以上でVSCodeのインストールが完了したので、後はターミナルでvscodeとコマンドを実行するか、GNOMEなどのアプリケーション一覧からVSCodeを起動することができます。
VSCodeのアップデートを行う場合は、ローカルリポジトリの更新が必要です。通常emerge –syncでローカルリポジトリを更新できますが、今回は独自のカスタムリポジトリとして、gitで管理されているリポジトリを用いています。
そのため、該当のgitリポジトリで、git pullを実行してカスタムリポジトリを更新する必要があります。

参考: https://wiki.gentoo.org/wiki/Handbook:Parts/Portage/CustomTree/ja   https://wiki.gentoo.org/wiki/Handbook:Parts/Full/Portage/ja#package.unmask  
https://forums.gentoo.org/viewtopic-t-1097786-start-0.html   https://wiki.gentoo.org/wiki/ACCEPT_KEYWORDS/ja   https://github.com/jorgicio/jorgicio-gentoo-overlay/tree/master/app-editors/vscode-bin