Debian Squeeze'de yanlış libc6 sürümü - geri dönebilir miyim?


1

Bazı yakut mücevherlerini çalıştırmaya çalışırken, görünüşte dev libc6'yı gerektiren dev yakut paketini kurmam gerektiğini keşfettim. Yüklemeye çalıştığımda (onaylı sıkma apt-kaynakları kullanarak), en son libc6-dev'in mevcut libc versiyonumla senkronize olmadığını öğrendim.
Kullanmam gereken libc6 versiyonunun (apt'ye göre) libc6 olması gerektiği ortaya çıkıyor. 2.11.3-2. Bunun yerine libc6 2.13-7'deyim. Bir noktada bir kullanıcı bir şey yapmak için bir yukarı akış kaynağı kullanmış olmalı ve yeni bir libc6 aldı.

Sorum şu: Eğer işletim sistemim için onaylanan versiyonlara geri dönmek istersem, libc6 ve tüm bağımlı programlarını kaldırmam ve daha sonra apt-get yoluyla tekrar yüklemem gerekecek mi, yoksa bunu yapmanın daha iyi bir yolu var mı? ?

Ayrıca en son libc6-dev'in sahip olduğum gcc'nin (4.4) sürümüyle uyumlu olmadığını keşfettim, bu yüzden ileride bunu yapmadığım sürece bir seçenek değil.

EDIT: Kullandığımız sonuç, .deb dosyalarını indirmek için bir yetenek kullanmak ve ardından bunları yüklemek için dpkg kullanmaktı.

Örneğin, / var / cache / apt / archives konumuna gidin (sadece onları apt-get'in koyduğu aynı yerde tutmak için)

aşağıdakileri yürütün:

aptitude download libc6 -t squeeze
dpkg --force-depends -i <name of package>.deb

Bu, bu sorunu çözdü, ancak belli ki başka bir bağımlılık sorununa yol açtı. Her biri aynı şekilde çözülebilir.

aptitude download libc-bin -t squeeze
dpkg --force-depends -i <name of package>.deb

sadece glibc'i kaldırmayı denedi ve zarafetle incelikle ele alınmadı, klondan geri yükleme yapmak zorunda kaldı. Sadece hırıltı istikrarlı hale gelene kadar beklemek ve her şeyi aynı seviyeye getirmek gerekebilir veya potansiyel olarak derleyicileri şimdilik yükseltin ve en iyisini umalım.
NateDSaint

Sadece bir not, apt versiyonumda, -t stable'ın etkisi yoktu. Bunun yerine "yetenek indirme lib6 / stable" yapmanız gerekiyordu.
Jeremy Salwen,

Yanıtlar:


2

Gereğince Debian paket deposundan , Squeeze sen daha yeni bir sürümü, muhtemelen Wheezy, Sid, diğer bazı resmi olmayan depo izliyoruz yüklü var veya el libc6 yüklediyseniz libc6.So ait 2.11.3-2 sürümünü kullanmak yok. Kontrol edin /etc/apt/sources.listve/etc/apt/sources.list.d/*

Her iki durumda da, Synaptic Package Manager'ı kullanarak istediğiniz sürümü yükleyebilirsiniz . Açın, paketi bulun, menüden Paket -> Zorla Sürümü'nü seçin. Burada yapılandırılmış kaynaklarınızda bulunan sürümler arasından seçim yapabilirsiniz.

Düzenle:

APT'nin bunun için konsol komutu var, apt-get install <package>=<version>Bunun yanında, kullanmak istediğiniz Debian sürümünü (otomatik pinleme yapmak zorunda), kaynaklarınızda olması koşuluyla apt-get -t squeeze install <package>(veya stableyerine squeeze) belirtebilirsiniz ve =<version>burada da kullanabilirsiniz . Tüm komutları root olarak yürütün. Bu durumda deneysel ve kararlı durumlara geri döndükten sonra, bağımlılıklar karışıklığa neden olabilir, bu nedenle libc6'nın da bağlı olduğu paketleri ve muhtemelen bağımlılarını manuel olarak düşürmeniz gerekebilir.

Ayrıca her şeyi bağımlılık kontrolü olmadan el ile de yapabilirsiniz (eğer bir şeyin kopması durumunda ne yapılacağından tam olarak emin değilseniz önerilmez), önce paketi indirerek apt-get download libc6, ardından /var/cache/apt/archives/APT'nin indirilmiş paketleri depoladığı yere gidin ve dpkg --force-downgrade -i <full_package_name>.debroot olarak yayınlayın . İndirilen paket adını girerken, libc6daha sonra kolaylaştırmak için TAB otomatik tamamlama özelliğini kullanın.


Geçerli sources.list sadece kabul edilen sıkma versiyonlarını kullanıyor. Dosyanın önceki sürümlerinde rsync'e bakıldığında, tamamen farklı deneysel kaynakların kullanıldığı görülüyor. Sinaptik kullanarak, aslında bir versiyona geri dönebilir miyim? Görünüşe göre sadece yeni sürümleri zorlayabiliyorum.
NateDSaint

Bir sürüme geri dönebilmeniz gerekir, yalnızca gereksiz kaynakları bir listeden kaldırdığınızdan emin olun (hem sources.list hem sources.list.d / içerisindeki dosyalar). Sabitleme işleminin çalışıp çalışmadığını kontrol edin , çünkü geçersiz kılma sorunlarına neden olabilir.
ELO

Kulağa ilginç geliyor. Bu bir sunucu üzerinde, ancak bir sanal makine olduğu için konsola erişebiliyorum. Apt-get 'in buna benzer bir şeyi olduğunu umuyordum, ancak tek seçenek kaldırmayı ve ardından kurmayı yapmak gibi görünüyor, ancak bu libc6'nın kullandığı ve beni kurtarılamaz bir duruma sokan her şeyi öldürüyor. Bahşiş için teşekkürler, tam bir atış yaptığım zaman geri geleceğim.
NateDSaint

1
Orijinal cevabın düzenine bakınız.
ELO

Daha yeni girdim, bunu deneyeceğim ve size geri döneceğim. Tekrar teşekkürler!
NateDSaint

1

sources.list -> indirme paketi ve güç düşürme işlemi yapmak benim için çalıştı! ondan sonra tek yapmam gereken buydu

apt-get -f install 

&&

apt-get autoremove

   

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.