dpkgはPATH変数にldconfig / start-stop-daemonを見つけることができません。

dpkgはPATH変数にldconfig / start-stop-daemonを見つけることができません。

インストールされたパッケージのユーティリティをインストールしようとしていますが、bsd-mailxエラーについて疑問に思います。

私が得るエラーは次のとおりです。

Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

答え1

まず、実際に興味のある行は次のとおりです。

dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.

DebianとUbuntuのユーザーはこれらのバグを何度も報告しました(詳細は実際にはGoogleで確認できます)。PATHユーザーがコマンドを実行しようとすると、変数が正しく設定されていないようです。sudoこれはおそらくあなたが望むものです。

解決策1:デフォルトのsudoセキュリティパスの設定

/etc/sudoers端末で実行してファイルを開き、visudoファイルに次の行が含まれていることを確認してください。

Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

この問題に関する追加情報を見つけることができます。ここ(問題とヒント> PATHが設定されていません)

オプション2:rootアカウントを直接使用する

を使用せずにコマンド実行sudoに切り替えます。rootこれを行うには、次のいずれかのコマンドを実行します。

$ sudo -i
$ su 

rootとしてログインしたら、次のapt-getコマンドを再実行してください。

# apt-get ...

ただし、まずルートを設定する必要がありますPATH。編集し/root/.bashrc(もちろんroot権限が必要)、次の行を追加します。

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PATH解決策3:実行時に変数を渡してみてください。sudo

sudo呼び出し前に変数オーバーライドを追加するだけですPATH

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin sudo apt-get ...

答え2

どういうわけか私も同じ問題に直面しました。

エラーメッセージをよく読んで解決策を見つけることができます。 1 つのメモには次の内容が記載されています。

注:ルートのPATHには通常/usr/local/sbin、/usr/sbin、および/sbinを含める必要があります。

その後、パスを確認しましたが、パスに/ sbinがありませんでした。

$PATH エコ

それから追加したところ、問題は消えました。 :)

エクスポート PATH="$PATH:/sbin"

チャラム!

答え3

質問に説明がないため、正確な問題を判断するのは難しいですが、最近同じ問題が発生しました。

user@debian:su
Password: 
root@debian:/home/user/Downloads# dpkg -i [Some package]
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin

解決策はsu -代わりに使用することですsu(通常これはより良いです。この質問に対する答え):

user@debian:su -
Password: 
root@debian:~# cd /home/user/Downloads/
root@debian:/home/user/Downloads# dpkg -i [Some package]

答え4

ここに示されている解決策のどれも役に立ちませんでした。

Q4OSシステムにInsyncをインストールしようとしていますが、アプリケーションにlibc6> = 2.32が必要で、Q4OSが2.31を使用しているためインストールできません。 2.32用のlibc6 debが見つかり、悪夢が始まりました。それは私のシステム全体を破壊しました。apt-get動作が停止し、システムが正しく動作するためにlibc6 2.31が必要であると述べました。当時はバージョンをダウングレードする方法がわかりませんでした。したがって、再起動後、システムはまったく起動せず、次の起動メッセージで中断されます。

A start job is running for Hold until boot process finishes up (Xmin Xs/no limit)

端末を変更しようとしましたが、成功しませんでした。私のLinuxはVMWareで実行され、SSHを使用してコンピュータに接続できることを願っています。VM -> SSH -> Connect to SSH...

その後たくさん試してみましたが、成功しませんでした。アップグレードしようとしています。

sudo apt install upgrade

以下を実行する必要があることを示すメッセージが表示されます。

sudo apt --fix-broken install

しかし、実行しようとすると、q4os-desktop自分自身を含む多くのパッケージが削除されるというメッセージが表示されます。まあ、私は条件を受け入れて試してみました。また何を失うことができますか?

その後、状況はさらに悪化しました。私は何も実行できません。この問題に対して同様のエラーが発生しました。

Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

しかし、問題はPATH自体ではなく、ldconfigがlibc6の一部であり、削除されたことです。ほとんどすべてがlibc6とldconfigに依存しているので、私ができることはありません。成功せずにソースからlibc6をコンパイルしようとしました。依存関係が多すぎて依存関係をインストールしようとすると、ライブラリはlibc6のエントリを使用しようとします。依存性循環。

だからQ4OS Live CDを使用してシステムを再起動し、バイナリldconfigを/usr/sbin/ldconfig。もう一度apt-get動作します(完璧ではありませんが…)。それで、ライブラリをダウングレードする方法を見つけました。

sudo apt install libc6=2.31-13+deb11u3

どのバージョンを使用するかわからない場合は、次を実行してください。

apt list --installed | grep libc6

ライブCD。出力は次のようになります。

libc6/stable,now 2.31-13+deb11u3 amd64 [installed]

その後Q4OSを再インストールできました。

sudo apt install q4os-desktop

再起動すると、すべてが正常に戻ります!

ただし、Insyncを実行すると5秒後にアプリケーションがクラッシュします。

関連情報