1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS 7.9 を Azure DevOps Agent Poolに追加する

Posted at

Azure DevOpsのSelf-Hosted Agentとして、ローカルネットワークのCentOS 7.9 を追加するときのメモです。

基本的な手順

公式ドキュメントの Self-hosted Linux agents に従えばよい、はず。

引っかかりどころ

Must not run with sudo エラー と Failed to create CoreCLR 0x80004005 エラー

  • 原因
     dotnetのdiagnosticsログ? で名前付きパイプを作成しようとしているらしく、
     その権限が不足している

  • 解決策
     恥を忍んでrootで実行する。

何が起こったか

基本的にLinuxのサービスの実行時の権限はroot以外のユーザが推奨されているので、例えば azdevops ユーザを作成して
以下のようにやればよい。はずだった。

sudo -u azdevops ./config.sh

もし sudo を使用せずに、または 一般ユーザが sudoroot に権限を昇格して ./config.sh を実行すると、
Must not run with sudo というエラーが出てセットアップが終了する。

そこで上記のコマンドでやる必要があるのだが、次は Failed to create CoreCLR エラーが出てしまう。
この時のエラー番号は 0x80004005 である。

これはDotnetのエラーであるのだが、というか、これはdotnetのエラーである、ということがわかるのは
.NET を使用しているユーザぐらいではないか?

もし、ほかの言語の開発者、あるいは単にLinuxに詳しいだけではエラーの内容がわからない。
たいていの場合問題となるSELinux(/var/log/audit/audit.log)には
エラーは記録されていないし、もちろんjournalにも記録されていないからである。

となれば権限不足であろう。エラーの内容から何かしらを作成できていないことはcreateの文字列でわかるわけで、
問題は何を作成しようとしたかである。

端的に言うと、dotnetのdiagnosticsログ? で名前付きパイプを作成しようとしているらしく、
その権限が不足しているようである
以下、githubのissueにも指摘がある

@mskadu At startup, CoreCLR tries to create named pipes for debugging and profiling of the process in /tmp/. It could be that the pipe creation fails intermittently when pwsh gets started so frequently.
Can you please try disabling CoreCLR diagnostics by setting the environment variable export COMPlus_EnableDiagnostics=0 (as instructed here), and then try running your repro step again to see if that helps?

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?