Umakeを使用してfirefox-devをインストールしようとしています。デフォルトでは、umakeのインストールパスは~/.local/share/
です。 /usr/local/
または/opt/
でしたかったです。
問題は、ファイル/ディレクトリを作成する権限がないumake(または、実行されるos.pyスクリプト)のようです-これは、Sudo
を使用して管理者ユーザーとして実行している場合でも発生します。 'Sudo -i
を使用してrootユーザーに切り替えました。
関連するエラーの例を次に示します。
os.makedirs(self.install_path, exist_ok=True)
File "/usr/lib/python3.5/os.py", line 231, in makedirs
makedirs(head, mode, exist_ok)
File "/usr/lib/python3.5/os.py", line 241, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/opt/umake'
/ home /ディレクトリの外でumakeを使用してバイナリをインストールする方法はありますか?
編集:コマンドの実行に異常はありません-Sudo umake web firefox-dev
。どこで実行してもかまいません。
インストールパス(インストール試行中にプロンプトに入力される)については、明示的に宣言された絶対パス(最終的に、そして当然のことながら、エラーメッセージをファイル作成に戻すプッシュリーを自分で作成することを含む)からすべてのオプションをもう一度試しましたターゲットディレクトリで「./」を使用します。
Rootとして自分で何かをすることにはまったく問題はありませんが、これらの権限はpythonインストールスクリプトに継承されていないようです。
さて、これはUbuntu Makeでの(かなり長年の) issue であることがわかりました。
上記のリンクの開発者の1人が提案する回避策がいくつかあります。
最初の(推奨)ソリューション:
Sudo -s
unset Sudo_UID
unset Sudo_GID
次に、umake
を実行して、通常どおりアプリケーションをインストールします。これで、任意のディレクトリにインストールできるようになります。完璧に動作します。
2番目のオプションは、目的のインストールフォルダーを事前に作成し、非ルートユーザーが書き込むことができるようにインストールディレクトリのアクセス許可を設定することですが、アクセス許可が再帰的に適用され、umake
であっても、一部のアプリケーションでこれを使用すると問題が発生しましたSudo
を使用して実行されました。最初の方法に固執します。