インストールされたパッケージのユーティリティをインストールしようとしていますが、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秒後にアプリケーションがクラッシュします。