Homebrew の Failed to download resource 系エラーの確認方法

Homebrew がファイルをダウンロードする必要がある際、何らかの理由でダウンロードに失敗した場合「Failed to download resource 〜」というエラーが表出されます。

Failed to download resource 系エラーの例

  • Failed to download resource "gdbm"
  • Failed to download resource "gdbm_bottle_manifest"
  • Failed to download resource "openssl@1.1_bottle_manifest"

何らかの理由でファイルがダウンロード出来なかったということですが、ご想像の通り理由は多岐にわたります。

一つ共通の解決方法があるわけではないので、エラーメッセージの周辺のヒントを頼りに確認出来ます。

curl エラーコードの確認

上記の様な文言の直前に「curl: 〜」で始まる部分があると思います。

「curl: (7) Couldn't connect to server」や「curl: (22) The requested URL returned error: 403 Forbidden」、「curl: (22) The requested URL returned error: 404 Not Found」など、() の中に数字が入っているのでそれをエラーコードのリストで確認し、大きな意味で何が起きているのかを確認出来ます。

参照:libcurl error codes

エラー「Failed to download resource 〜」での検索と同時に「curl: 〜」の文言でも検索すると良いかと思います。

番外編 Bintray.com の終了に伴うエラー

エラーメッセージの直後にダウンロード元の URL が書いてあると思いますが、そのダウンロード元 URL が「https://homebrew.bintray.com/ 〜」で始まる場合は brew update で Homebrew を更新してください。

バイナリ共有のプラットフォームとして Homebrew のファイルも配置されていた Bintray ですが、サービスを終了するということで Homebrew のパッケージは Github へ統合されています。

「authenticating for org.freedesktop.systemd1.〜」の意味

Linux OS で作業しているとたまに表示される「authenticating for org.freedesktop.systemd1.〜」という文言。

直訳すると「org.freedesktop.systemd1.〜 のために認証を行なっています」となりますが、どういう意味なのでしょうか。

Polkit によるアクセス管理

このメッセージは Polkit という認証 API から発されているのですが、Linux 系 OS の起動処理やシステム管理に関する機能を提供する systemd は、基本的に Polkit によって特権プロセスへのアクセスを管理しています。

その上で、非特権プロセスが特権プロセスと通信する必要がある際、Polkit によって認証を行い、問題がない場合に許可を与えます。

参照:freedesktop.org - polkit

特権の種類

リクエストされた処理の種類によって、Polkit によって与えられる特権の種類が変わります。

  • ユニットの状態を変更するプロセス
    • org.freedesktop.systemd1.manage-units
  • ユニットファイルの Enable/Disable 状態を変更するプロセス
    • org.freedesktop.systemd1.manage-unit-files
  • 環境変数を変更するプロセス
    • org.freedesktop.systemd1.set-environment
  • Reload と Reexecute
    • org.freedesktop.systemd1.reload-daemon

systemd に対して変更する際に表示される

つまり、systemd のユニットの状態を変更するプロセスが行われる際にアクセス認証として「authenticating for org.freedesktop.systemd1.〜」が表示され、ユーザー名とパスワードが求められます。

参照:freedesktop.org - org.freedesktop.systemd1

【Ubuntu】sudo ユーザーを作成する方法

ユーザーの作成

root ユーザーに昇格します。

ubuntu@xx1-234-56789:~$ sudo su -

「adduser ユーザー名」でユーザーを作成します。

root@xx1-234-56789:~# adduser adminvps
Adding user `adminvps' ...
Adding new group `adminvps' (1002) ...
Adding new user `adminvps' (1002) with group `adminvps' ...
Creating home directory `/home/adminvps' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for adminvps
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y
root@xx1-234-56789:~#

sudo グループに追加

このユーザーで sudo コマンドが使える様、sudo グループに追加します。

root@xx1-234-56789:~# gpasswd -a adminvps sudo
Adding user adminvps to group sudo
root@xx1-234-56789:~#

「exit」で root から出ます。

root@xx1-234-56789:~# exit
logout
ubuntu@xx1-234-56789:~$

今追加したユーザーで接続してみます。質問に「yes」と回答してパスワードを入力すると無事新ユーザーで接続ができます。

ubuntu@xx1-234-56789:~$ ssh adminvps@xx1-234-56789.vs.sakura.ne.jp
The authenticity of host '@xx1-234-56789 (127.0.1.1)' can't be established.
ECDSA key fingerprint is QWE123:QWERTYUIOPASD+QWERTYUIOP+ZXCVBNM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'xx1-234-56789' (ECDSA) to the list of known hosts.
adminvps@xx1-234-56789's password: 
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-70-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Fri Apr  9 19:43:32 JST 2021

  System load:  0.0               Processes:             119
  Usage of /:   2.6% of 94.43GB   Users logged in:       1
  Memory usage: 18%               IPv4 address for ens3: 133.125.39.81
  Swap usage:   0%

 * Introducing self-healing high availability clusters in MicroK8s.
   Simple, hardened, Kubernetes for production, from RaspberryPi to DC.

     https://microk8s.io/high-availability

0 updates can be installed immediately.
0 of these updates are security updates.



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.


SAKURA internet [Virtual Private Server SERVICE]

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

adminvps@xx1-234-56789:~$