Fedoraにパッケージ(たとえば)をインストールしようとすると、sudo apt-get upgrade
次のエラーが表示されます。
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libc6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
Need to get 0 B/2,814 kB of archives.
After this operation, 13.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
dpkg: warning: files list file for package 'gcc-10-base:amd64' missing; assuming package has no files currently installed
(Reading database ... 0 files and directories currently installed.)
Preparing to unpack .../libc6_2.31-13+deb11u2_amd64.deb ...
dpkg (subprocess): cannot set security execution context for maintainer script: Invalid argument
dpkg: error processing archive /var/cache/apt/archives/libc6_2.31-13+deb11u2_amd64.deb (--unpack):
new libc6:amd64 package pre-installation script subprocess returned error exit status 2
dpkg (subprocess): cannot set security execution context for maintainer script: Invalid argument
dpkg: error while cleaning up:
new libc6:amd64 package post-removal script subprocess returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/libc6_2.31-13+deb11u2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
答え1
これ APTスピードdnf
メンテナンスも損なわれていないため、代わりに使用する必要がありますapt
。
Fedoraのドキュメント:FedoraリポジトリにAPTが存在するのはなぜですか?
警告する
APTはFedoraにパッケージをインストールするためには使用できず、代わりにDNFを使用する必要があります。
Fedora 32より前のFedoraのaptコマンドは実際にAPT-RPMでした。これは、基本的にFedoraのRPMパッケージ管理システムと連携するように汎用aptコマンドをマップしました。
しかし、APT-RPMは、メンテナンスが正しく行われておらず、破損し、安全ではなく、実際のDebian APTソフトウェアを好むことによって廃棄されました。 APT は .deb パッケージを排他的に処理するため、apt コマンドは Fedora パッケージの管理に使用できなくなります。今、その目的は純粋にFedoraシステムでDebianベースの配布用のパッケージを構築する人のためのツールです。
答え2
「APT」ツールスイートはDebianの世界から出てきました。 Fedoraでは、「DNF」(以前の「Yum」)と呼ばれる同様のツールを使用しています。どちらにも長所と短所がありますが、ユーザーレベル(特に基本機能)では効果的に交換できます。ここにチートシートがあります。FedoraでDNFを使用するAPTコマンドと同じ、しかし簡単に言うと:
apt upgrade
→dnf upgrade
apt install
→dnf install
apt remove
→dnf remove
apt search
→dnf search
注目すべき最も重要なことは、Debian 世界のパッケージ名 (特に開発ライブラリ名、その他のユーティリティ、ツール) が必ずしも一致しているわけではないということです。そのため、Debianで見つけることができますが、Fedora Linuxにsudo apt install apcalc
あることがわかりました。sudo dnf install calc
他の人が指摘したようにはいFedora Linuxのパッケージapt
ですが、開発者がFedora LinuxシステムでDebianパッケージを構築するのを助けるために存在します。一般的なエンドユーザーの使用には適していません。
答え3
Fedoraのaptの目的は、Debianディストリビューションからパッケージをインストールするのではなく、ダウンロードできるようにすることです。 aptはFedoraリポジトリではなくリポジトリのようにDebianを読み込みます。したがって、Debian パッケージのみを含むプロジェクトがある場合は、Fedora から簡単にダウンロードできます。たとえば、jitsi、ホッピング
たとえば、シグナル(https://signal.org/download/linux/)
rootユーザーとして:
- 公式公開ソフトウェア署名鍵のインストール
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
cat signal-desktop-keyring.gpg | tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
- リポジトリリストにリポジトリを追加します。
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
tee -a /etc/apt/sources.list.d/signal-xenial.list
- signal-desktop_x.xx.x_amd64.deb ダウンロード
apt update
apt-get download signal-desktop
次のコマンドの最後に他の内容が含まれていると、システムが破損して回復不能になる可能性があることを警告します。
- 疑いがあるように、依存関係を確認せずにFedoraにインストールします。これは大きなハッキングです。正式に推奨されるわけではありませんが、非常に迅速な方法で私に効果的でした。
dpkg --force-depends -i signal-desktop_5.23.0_amd64.deb
desktop-file-install ./usr/share/applications/signal-desktop.desktop