これが非常に基本的な質問であれば申し訳ありません。しかし、私はベアLinuxボックスで作業するのは初めてです。だからラズベリーパイにgitをインストールしたいと思います。実行すると、インストールされている依存sudo apt-get install git-all
関係が欠落しているというエラーが発生します。
具体的には次のようになります。
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
glib-networking : Depends: gsettings-desktop-schemas but it is not going to be installed
libgoa-1.0-0b : Depends: libgoa-1.0-common (>= 3.30.1-2) but it is not going to be installed
libgtk-3-common : Depends: dconf-gsettings-backend but it is not going to be installed or
gsettings-backend
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
「いいね」私は中だと思いました。 「ただ依存関係をインストールします」
sudo apt-get install gsettings-desktop-schemas
gsettings-desktop-schemas is already the newest version (3.28.1-1).
gsettings-desktop-schemas set to manually installed.
さて、glib-networkingの依存関係がすでにインストールされている場合は、次のことができるはずです。sudo apt-get install glib-networking
glib-networking is already the newest version (2.58.0-2+deb10u2).
glib-networking set to manually installed.
APT、私はこの問題を修正します。 gitはglib-networkingに依存し、glib-networkingはgsettings-desktop-schemasに依存しているためインストールできません。しかし実は私すでに持っている両方のパッケージがインストールされました...ええ? ? ?
すべての依存関係についても同様です。ついに手を上げた。
sudo apt-get install glib-networking gsettings-desktop-schemas libgoa-1.0-0b libgoa-1.0-common libgtk-3-common dconf-gsettings-backend gsettings-backend
Package gsettings-backend is a virtual package provided by:
gconf-gsettings-backend 3.2.6-5
dconf-gsettings-backend 0.30.1-2
You should explicitly select one to install.
E: Package 'gsettings-backend' has no installation candidate
sudo apt-get install glib-networking gsettings-desktop-schemas libgoa-1.0-0b libgoa-1.0-common libgtk-3-common dconf-gsettings-backend
Reading package lists... Done
Building dependency tree
Reading state information... Done
dconf-gsettings-backend is already the newest version (0.30.1-2).
dconf-gsettings-backend set to manually installed.
glib-networking is already the newest version (2.58.0-2+deb10u2).
gsettings-desktop-schemas is already the newest version (3.28.1-1).
libgoa-1.0-0b is already the newest version (3.30.1-2).
libgoa-1.0-0b set to manually installed.
libgoa-1.0-common is already the newest version (3.30.1-2).
libgoa-1.0-common set to manually installed.
libgtk-3-common is already the newest version (3.24.5-1+rpt2).
libgtk-3-common set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
私が見つけたこの以前のSOこれは、Raspberry Piオペレーティングシステムのバージョン間の矛盾がこの動作を引き起こす可能性があることを示しています。しかし、ここではうまくいかないようです。私はBusterを使用していますが、次のようにapt-cache policy
生成します。
pi@raspberrypi:~ $ apt-cache policy
Package files:
100 /var/lib/dpkg/status
release a=now
500 http://archive.raspberrypi.org/debian buster/main armhf Packages
release o=Raspberry Pi Foundation,a=testing,n=buster,l=Raspberry Pi Foundation,c=main,b=armhf
origin archive.raspberrypi.org
500 http://raspbian.raspberrypi.org/raspbian buster/rpi armhf Packages
release o=Raspbian,a=stable,n=buster,l=Raspbian,c=rpi,b=armhf
origin raspbian.raspberrypi.org
500 http://raspbian.raspberrypi.org/raspbian buster/non-free armhf Packages
release o=Raspbian,a=stable,n=buster,l=Raspbian,c=non-free,b=armhf
origin raspbian.raspberrypi.org
500 http://raspbian.raspberrypi.org/raspbian buster/contrib armhf Packages
release o=Raspbian,a=stable,n=buster,l=Raspbian,c=contrib,b=armhf
origin raspbian.raspberrypi.org
500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
release o=Raspbian,a=stable,n=buster,l=Raspbian,c=main,b=armhf
origin raspbian.raspberrypi.org
Pinned packages:
私はまた、aptを修正するためにインターネット上で見つけることができるすべてのランダムな注文を試しました。sudo apt-get -f dist-upgrade
、、、、sudo apt update
および ---sudo apt upgrade
どちらも違いがないようでしたsudo apt-get autoremove
。sudo apt-get -f install
答え1
sudo apt install git
代わりに実行してみてくださいsudo apt install git-all
。
答え2
メッセージはapt
必ずしもパッケージがまだインストールされていないという意味ではありません。これは、要求されたインストールのためにそのパッケージをインストールできないことを意味します。競合によって他の依存関係がインストールされているgit-all
パッケージを削除しようとすると、これが発生する可能性があります。適切に苦情を申し立てるパッケージと、維持したいパッケージをインストールに追加してみてください。まず、シミュレートされたインストールを追加するのがgit-all
最善です。-s
〜のようにこの投稿インストール中の依存関係の解決は誤った代替依存関係を選択する可能性があるため、自動的に処理するのは複雑すぎるgit-all
可能性があります。apt
答え3
実行してみてくださいsudo apt -f install
。これにより、欠落している依存関係が修正されます。その後、もう一度実行してくださいsudo apt-get install git-all
。