問題タブ [fakeroot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rpm - RPM の fakeroot 代替
私は dpkg と rpm パッケージ システムを研究しています。dpkg のマニュアルでは、root 以外のユーザーとして正しいビルド パッケージに fakeroot を使用することを推奨しています。しかし、RPM パッケージの場合、代替ユーティリティが見つかりません。rpm パッケージのビルドに関するいくつかのマニュアルを読みましたが、root として rpm パッケージをビルドするか、特別なユーザーを作成して rpm-setuptree ユーティリティを使用することを推奨しています (もちろん、マニュアルが悪いのかもしれません)。
RPM ビルド用の fakeroot の代替手段はありますか? また、RPM の場合、fakeroot の代替手段は必要なく、正しいビルド オプションと仕様ファイルを使用すると、すべての問題を回避できますか?
linux - Linux の偽ルートの混乱
私は、fakeroot ユーティリティについて多くの混乱を抱えています。2 つの rootfs の /dev フォルダーにキャラクター ノードを追加しようとしています。rootfs_1 の所有者は自分ですが、2 番目の所有者は root です。
rootfs_1 の所有者は私です。
を。ls -l を実行すると。私は所有者を「Me Me」と
見なします b. rootfs_1/dev で mknod を使用してノードを作成しようとすると失敗します。
c. $fakeroot コマンドが通ります。
d. ls-al。所有者をルートと見なします(これは偽物であることがわかっています)
e. これで、mknod を使用して rootfs_1/dev にノードを作成できます。
f.
g を終了します。新しく作成されたノードの所有者は、予想どおり「私」です。rootfs_2 の所有者は root
a です。ls -l。所有者を「ルート ルート」と
見なします b.
c. rootfs_2/dev で mknod を使用してノードを作成しようとすると失敗します。$fakeroot コマンドが通ります。
d. ノードを作成しようとすると失敗します。
今、私は動作が期待されていることを知っています。しかし、fakeroot の仕組みと、fakeroot を介したシステム コールの流れについて混乱しています。fakeroot は LD_PRELOAD トリックを行うと思います。
ケース1が機能し、ケース2が失敗する理由を詳しく説明できる人はいますか。
ありがとう
shell - fakeroot/fakechroot を使用してパッケージを tar します
/lib/modules にインストールされる foo.tar.gz ソースがあります。しかし、私はルートではないため、十分な権限がありません。パッケージを自動ビルドするスクリプトを作成しようとしています。
それが示している
/lib は本当は入れたくないので、$HOME/rootfs に入れることもできます。
fakeroot を使用する正しい方法は何ですか? または、fakeroot の使用方法を追跡できる簡単なスクリプトはありますか?
debian - rootfs の生成中に fakeroot/proot がハングする
multistrap、fakeroot、および proot を使用して Debian Stretch ベースの armhf ファイルシステムを構築しようとしています。マルチストラップを使用して rootfs を作成できます。
次に、fakeroot ライブラリを rootfs (libfakechroot.so、libfakeroot-sysv.so、libfakeroot-tcp.so) にコピーし、root を開始します。
このシェル内で、次のコマンドを実行します。
これにより、マルチストラップを使用してインストールされたすべてのパッケージを構成する必要がありますが、このプロセスは常にパッケージの構成の途中でハングします。ほとんどの場合、同じパッケージで発生しますが、常にではありません (passwd、adduser、openssh-server など)。 /grep 行。システムが応答しなくなり、^C が機能せず、別のシェルからすべての fakeroot プロセスを強制終了する必要があります。
ほとんど空のマルチストラップ設定 (パッケージとして bash のみ) を試してみましたが、続行しますが、パッケージとして apt のみでハングします。私はfakerootとfakeroot-tcpで試しました。唯一の違いは、fakeroot-tcp の方がはるかに遅いことですが、それでもハングします。
このセットアップで何か忘れたことはありますか?
fakeroot の代わりに sudo を使用して実行すると、rootfs が正しく生成されます。しかし、セキュリティの観点から、root として multistrap/proot を実行したくないので、fakeroot を機能させたいと考えています。
私のマルチストラップ設定: