私は本当にあなたの助けが必要です。ルートとユーザー(sudoグループに追加)という2人のユーザーを持つdebian 10サーバーがあります。私はRDPのユーザーアカウントを使用しており、「sudo」コマンドは常にうまく機能します。
問題は、ユーザーアカウントで以下を実行しようとしたときに発生します。
$ echo 'deb http://ftp.de.debian.org/debian bookworm main' >> /etc/apt/sources.list
libcryptに関していくつかのエラーがありました。次のことを試しました(思い出がうまくいきません)。
$ sudo echo 'deb http://ftp.de.debian.org/debian bookworm main' >> sudo /etc/apt/sources.list
私が「sudo」に答えたのは問題だと思いますか?私はLinuxについてよく知らず、数日間グーグルをしましたが、問題を解決できませんでした。 sudoを使用するほとんどのコマンドは、パスワードの入力を求めずにすぐに次の出力を受け取ります。
$ sudo whoami
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
私が試した場合:
$ cat /etc/sudoers
cat: /etc/sudoers: Permission denied
sudoアクセス権を持つすべてのコマンドは拒否されます。 Googleで検索したプロフィールを変更することはできません。したがって、RDPを介してのみユーザーアカウントにアクセスでき、sudoなしで試すと次のような結果が得られます。
$ apt update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
問題を理解し解決するのに役立ちます。
答え1
bookworm
アップグレード時にバージョンをスキップできないため、Debian 10にリポジトリを追加すること(=リリースされた場合はDebian 12になります)は悪い考えです。まず、Debian 11「bullseye」にアップグレードしてから、「bookworm」にアップグレードする必要があります。
幸いなことに、書き込みにはルートアクセスが必要なので、最初の試み(なしsudo
)は失敗します。/etc/apt/sources.list
/usr/bin
あなたが覚えている2番目のコマンドのバージョンは、あなたがそれを実行するときにルートではないと仮定すると、大きな問題を引き起こすべきではありません。
sudo echo 'deb http://ftp.de.debian.org/debian bookworm main' >> sudo /etc/apt/sources.list
このコマンドは実際には、「root権限で標準出力に一重引用符で囲まれたテキストを書き、それを(通常のユーザーとして)現在のディレクトリの「sudo」というファイルに追加します(ファイルがない場合は生成)という意味です。そうでなければ、これは大きな害を与えません。
(成功的に)sudo
rootアクセス権を有効または無効にすると、他のパッケージ管理コマンドは使用できませんapt
。これらのコマンドが機能するにはルートアクセスが必要なためです。
いくつかを確認することをお勧めします。
実際の状況はどうですか/etc/apt/sources.list
?
ジャンプしless /etc/apt/sources.list
て確認してみてください。特別な権限なしで一般ユーザーとしてこれを行うことができる必要があります。
あなたは何をしましたか?実際にする?
history
記憶に頼るのではなく、コマンドを使用してコマンド履歴を確認してください。
今何が起こっていますか?
コマンドを使用すると、実行してtype sudo
実際に実行されている内容を確認できますsudo
。通常、次のように応答する必要があります。
sudo is /usr/bin/sudo
おそらく
sudo is hashed (/usr/bin/sudo)
sudo
何か違うことを教えてくれたら、$ PATHディレクトリの前に非標準的な名前があるか、/usr/bin
その名前でシェルエイリアスや関数を定義したのですが、sudo
実際の名前の代わりに実行されていますsudo command
。
これが問題の場合は、単にではなくフルパスをsudo
指定して実際のコマンドを使用できるようにする必要があります。/usr/bin/sudo
sudo
bookworm
にリポジトリを正常に追加したようです/etc/apt/sources.list
。パッケージもインストールされている場合は、unattended-upgrades
システムがDebian 10「buster」から「bookworm」(将来のDebian 12、まだベータ版)に直接アップグレードしようとした可能性があります。 Debian 11 をスキップします。 ...これはうまくいきません。
をインストールしようとすると、リポジトリを追加した後に多くの(すべてではない)システムライブラリのアップグレードをトリガするpython3-dev
依存関係の連鎖が発生する可能性があります。python3.10-dev
libpython3.10
libpython3.10-dev
python3.10
bookworm
実際、あなたはフランケンデビアンを作成しました:異なるバージョンのパッケージを奇妙に組み合わせましたが、一緒に動作することを約束したことはありません。
/var/log/dpkg.log
手動でも自動でも、すべての最近のパッケージ管理タスクを記録する必要がある低レベルのパッケージ管理ログ。一般ユーザーが読める必要があります。問題が始まったときに記録された内容を見ましたか?
各行はタイムスタンプで始まり、その後に特定のタスクを説明する単語が続きます。興味深い行には、install
and / orなどのアクションワードが必要です。upgrade
remove
purge
<none>
作業ワードの後には、パッケージ名、古いバージョン(または該当しない場合)、および新しいバージョン(または)が続く必要があります<none>
。
タイムスタンプのある行を取得する場合後ろにブックワームリポジトリを追加すると(修正時刻の確認)、この行はどのパッケージが交換されたかを正確に通知します。/etc/apt/sources.list
おそらく。bookworm
残念ながら、システムへのRDPアクセス権しかないため、システムbuster
ブートローダにアクセスできる人の助けを借りずにrootアクセス権を取得し、パッケージを適切なバージョンに再ダウングレードすることはできません。
リカバリするには、外部メディアからシステムをリカバリモードで起動し、ネットワークインターフェイスを有効にして破損したchroot
システムにルートに入る必要があります。その後/var/log/dpkg.log
、リポジトリを追加したり、その後にファイルにリストされているインストール/更新/削除操作を元に戻して、間違ってアップグレードされたパッケージをダウングレードする可能性がありますbookworm
。