Python環境を削除しようとしていますが、誤ってfedoraのデフォルト環境を削除してdnfコマンドを無効にしたようです。
(連続ではありませんが、これら3つのコマンドが関連していると思います):
sudo rm /bin/python
sudo rm /usr/bin/python
sudo rm /bin/python3 /bin/python3.12 /bin/python-argcomplete-check-easy-install-script /bin/python-argcomplete-tcsh
その後、次のことを発見しました。
n349@fedora:~/Downloads$ sudo dnf upgrade
Place your right index finger on the fingerprint reader
^C[sudo] password for n349:
sudo: dnf: command not found
dnfを再インストールしてみましたが、現在私のコンピュータにdnf-4.19.0-1がまだインストールされているようで、再度できません。
~/Downloads$ dnf --version
bash: dnf: command not found...
Install package 'dnf' to provide command 'dnf'? [N/y] y
* Waiting in queue...
* Loading list of packages.... Failed to install packages: dnf-4.19.0-1.fc39.noarch is already installed
n349@fedora:~/Downloads$ ls -l /usr/bin/dnf
lrwxrwxrwx. 1 root root 19 Mar 11 01:37 /usr/bin/dnf -> /usr/bin/dnf-4.19.0
私はdnfを使用してThinkPad X1 CarbonにプリインストールされたFedora 38からアップグレードされたFedora 39を使用しています。
n349@fedora:~/Downloads$ uname -a
Linux fedora 6.7.7-200.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Mar 1 16:53:59 UTC 2024 x86_64 GNU/Linux
オンラインで検索しましたが、この問題に対する解決策が見つかりませんでした。誰かがdnfの機能を復元するのに役立つことを願っています。
依存関係を再インストールしてみました。
$ sudo rpm -ivh --force dnf-data-4.19.0-1.fc39.noarch.rpm \
dnf-automatic-4.19.0-1.fc39.noarch.rpm \
python3-dnf-4.19.0-1.fc39.noarch.rpm \
yum-4.19.0-1.fc39.noarch.rpm
sudo rpm -ivh --force dnf-4.19.0-1.fc39.noarch.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:dnf-data-4.19.0-1.fc39 ################################# [ 25%]
2:python3-dnf-4.19.0-1.fc39 ################################# [ 50%]
3:dnf-automatic-4.19.0-1.fc39 ################################# [ 75%]
4:yum-4.19.0-1.fc39 ################################# [100%]
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:dnf-4.19.0-1.fc39 ################################# [100%]
しかし、まだ動作しません。エラーメッセージは次のように変更されます。
n349@fedora:~/Downloads$ dnf --version
bash: /usr/bin/dnf: cannot execute: required file not found
答え1
Pythonインタプリタ自体を再インストールする必要があります。
sudo rpm -Uvh https://dl.fedoraproject.org/pub/fedora/linux/updates/39/Everything/x86_64/Packages/p/python3-3.12.2-2.fc39.x86_64.rpm \
https://dl.fedoraproject.org/pub/fedora/linux/updates/39/Everything/x86_64/Packages/p/python3-libs-3.12.2-2.fc39.x86_64.rpm
後で参照できるように、以下のすべての項目/usr
(除く/usr/local
)はパッケージマネージャに属します。そのパッケージ内のファイルを直接削除または変更することはできません。 Python 3をアンインストールするには:
sudo dnf remove python3
これを試してはいけない理由を伝え、続行するオプションを提供します。
答え2
$ sudo rpm --reinstall --verbose --hash https://kojipkgs.fedoraproject.org/packages/python3.12/3.12.2/2.fc39/x86_64/python3-3.12.2-2.fc39.x86_64.rpm
Retrieving https://kojipkgs.fedoraproject.org/packages/python3.12/3.12.2/2.fc39/x86_64/python3-3.12.2-2.fc39.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:python3-3.12.2-2.fc39 ################################# [ 50%]
Cleaning up / removing...
2:python3-3.12.2-2.fc39 ################################# [100%]
$ rpm --query python3
python3-3.12.2-2.fc39.x86_64
$ dnf --version
4.19.0
Installed: dnf-0:4.19.0-1.fc39.noarch at Mon 11 Mar 2024 07:38:12 AM GMT
Built : Fedora Project at Tue 20 Feb 2024 02:19:51 PM GMT
Installed: rpm-0:4.19.1.1-1.fc39.x86_64 at Wed 21 Feb 2024 07:00:46 PM GMT
Built : Fedora Project at Wed 07 Feb 2024 04:05:57 PM GMT