Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?
@walk8243

CentOS8でVSCodeでRemote開発できるようにする

More than 1 year has passed since last update.

はじめに

VirtualBoxにCentOS8をインストールして、VSCodeで Remote - SSH で繋ぐまでの流れをここに記します。

インストールしたCentOS8のソフトウェアは『最小限のインストール』を選択しています。
インストールするときの注意点は、全てのネットワークにちゃんと『この接続が利用可能になったときに自動的に接続する』のチェックを付けることです。
また、インストール完了後にドライブの自動アンマウントがされていないので、手動でアンマウントすることを忘れないでください。おそらく、インストール完了の再起動で、再びインストール選択画面になります。

VSCodeのRemote開発までにしておきたい準備

  • 公開鍵認証によるSSHログイン
    • Remoteログインの簡略化のため
  • sudo権限を付与
    • 開発時に必要になることが予想されるため
  • インストールパッケージの更新
    • 脆弱性などへの対応のため

公開鍵認証によるSSHログイン

(クライアント)鍵の準備

ssh-keygen -t rsa -f ~/.ssh/develop_rsa
scp ~/.ssh/develop_rsa.pub develop:.

(サーバー)公開鍵を登録

mkdir ~/.ssh
cat develop_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/

一度ログアウトして、パスワード無しでログインできることを確認してください。

sudo権限の付与

まずは、rootユーザーに su - でログインします。
ログインが完了したら、対象のユーザーに wheel グループを付与します。

gpasswd -a develop wheel
groups develop

グループの付与が完了したら、一度sshからもログアウトして、再度sshでログインしてください。
その後、 wheel グループが付与されていることを確認してください。

インストールパッケージの更新

sudo dnf update

おそらくカーネルもアップデートされていると思うので、再起動します。
カーネルのデフォルトに指定されているものを sudo grubby --default-title で確認しておきましょう。
新たにインストールされたカーネルのバージョンが指定されているはずです。

VSCodeのRemoteSSHを試す

もし、VSCodeの拡張機能として Remote - SSH をインストールしていない場合は、インストールしてください。

左側にあるActivityBar内にあるRemoteExplorerから、 develop にアクセスしてみましょう。
すると、エラーとなり、アクセスできないことと思います。
そのエラーをこれから解決していきましょう。

tar がない

実際にアクセスしてみると、以下のようなログが出力されて、エラーになります。

remote-ssh@0.46.1
win32 x64
SSH Resolver called for "ssh-remote+develop", attempt 1
SSH Resolver called for host: develop
Setting up SSH remote "develop"

(中略)

> Installing to /home/develop/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a376128
> 4e3ffb0...
> 
> Downloading with curl

(中略)

> Download complete
> bash: 行 188: tar: コマンドが見つかりません
> mv: 'vscode-server-linux-x64*/*' を stat できません: そのようなファイルやディレ 
> クトリはありません
> WARNING: tar exited with non-0 exit code
> WARNING: /home/develop/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a3761284e3ff
> b0/node doesn't exist. Download/untar may have failed.
> WARNING: /home/develop/.vscode-server/bin/b37e54c98e1a74ba89e03073e5a3761284e3ff
> b0/server.sh doesn't exist. Download/untar may have failed.

(中略)

"install" terminal command done
Install terminal quit with output: a3cf400d-2c9d-47b9-8a86-bd67fcc560d4##32##
Received install output: a3cf400d-2c9d-47b9-8a86-bd67fcc560d4##32##
The VS Code Server failed to start
TELEMETRY: {"eventName":"resolver","properties":{"outcome":"failure","reason":"ExitCode"},"measures":{"resolveAttempts":1,"exitCode":32,"retries":1}}
------

このログによると、エラーの原因は tar コマンドがないことです。
どうやら『最小限のインストール』を選択してインストールをすると、 tar パッケージがインストールされていないようです。
なので、 tar パッケージをインストールすれば解消されます。

sudo dnf install tar

tar のインストールが完了すれば、RemoteSSHをもう一度試してみましょう。
アクセスできる状態になっていることと思います。

7
Help us understand the problem. What is going on with this article?
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
walk8243
ただの乃木オタです。 業務中に感じた良く分からない気持ち悪さを、形にして解決するにはどうしたらいいかを考えながら記事を書いてます。 執筆は握手会の会場でできるからいいですね!
yahoo-japan-corp
Yahoo! JAPAN を運営しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
7
Help us understand the problem. What is going on with this article?