Tr:HOWTO: Fix what portage breaks (minimize portage use by moving packges back to entropy).

From Sabayon Wiki
Jump to: navigation, search
i18n: en tr

NASIL: Portage'ın kırdığı şeyleri tamir etme (Paketleri Entropy'ye göndererek Portage kullanımını en alt seviyeye getirme)

Motivation

Entropy (Equo veya spritz) in Portage (Gentoo'nun emerge komutu)aşırı derecede karıştırılması problemlere neden olabilir. Bazı kurulu paketler uyumsuz olabilir, siteminizi kırabilir yada en azından böceklere neden olabilir. Şöyle söylemek gerekirse, bazen paketlerin daha yeni bir sürümünü istiyorsanız, farklı bayrak kullanımına ihtiyaç duyuyorsanız veya sadece paket henüz Entropy'de yoksa, Portage'dan paket kurmak isteyebilirsiniz. Bu durumlarda, paketi emerge yapabilirsiniz, ama emerge yaptığınız paketlerin sayısını en alt seviyede tutarsanız şansınızın yaver gitmesi ihtimalini arttırırsınız.

Emerge Entropy'de bulunabilecek ve hatta Portage paketinizin karşılayacak Entropy versiyonları mümkünken pek çok bağımlılığı çeker. Bu durumlarda bağımlılıkları Entropy'den çekmek daha iyidir. Emerge Entropy hakkında hiç bir şey bilmediğinden, emerge yaptığınız zaman bağımlılıklar zaten kurulu değilse bu durum gerçekleşmez.

Kolay Yol

O halde en çok Entropy paketinin olabilirliğinden emin olmanın en kolay yolu, paketin Portage sürümünü kurmadan veya güncellemeden önce Entropy sürümünü kurmaktır. Bu yolla emerge yaptığınızda, pek çok bağımlılığın zaten kurulu olan Entropy paketleriyle karşılanma şansı vardır. Emerge'nizle --deep (-D) görmediğiniz sürece, işin yapılması için en az Portage ihtiyacını gerekli olarak kullanacaksınız. Gerçekten emin olmak için, özellikle, gerekli olmasa bile (birinci seviye) bağımlılıkları daima doğrudan güncellemeye çalışan -u (--update) kullanıyorsanız --nodeps olmadan emerge yapmayı bile deneyebilirsiniz. Emerge --nodeps seçeneğiyle başarısız olacaktır, bu durumda bu seçeneği kaldırmanız gerekiyor. Emerge yapılan şeylerin Entropy paketlerinizi kırmayacağının hala bir garantisi yoktur. Bu ve alttaki yöntem sadece bu karışmayı en alt seviyede tutar.

Daha zor durumlar

Yukarıdaki teknikle ilgili bir kaç sorun var. 1) Paketin Entropy sürümü olmayabilir. 2) Bir sürümü olabilir, "kolay yolu" kullanmadan önce paketi zaten emerge yapmış olabilirsiniz ve bağımlılıkların bütün Portage sürümlerini zaten çekmiş olabilirsiniz. 3) Belki önce "kolay yolu" yaptınız ama çok uzun zaman beklediniz ve Entropy güncellemesi yapmadan Portage güncellemesi yaptınız ve eski Entropy bağımlılıkları yeni Portage paketlerini karşılayamadı, bu nedenle Portage bu paketlerin yerine kendisi koydu. 4) Paket yöneticilerini en alt seviyede karıştırmak için elinizden geleni yaptıysanız bile, onları bir kere karıştırdıysanız, hala bir şeyleri kırabilirsiniz. Bu durumda sisteminizi %100 Entopry paketlerine geri almayı isteyebilirsiniz.

Tamir

Bu zor durumlarda, aşağıdaki komut, Entropy'nin yerine koyması mümkün olan bütün Gentoo paketlerini bulmak için bir yol sağlar.

   
# equo upgrade --replay --pretend | grep "spm-db->" | cut -d ' ' -f 6 | cut -d '|' -f 1

Bunu basit bir betiğe koymak bütün bu paketlerin tekrar Entropy sürümlerine değiştirmeyi sağlar:

<syntaxhighlight lang="'"`UNIQ--pre-00000001-QINU`"'" enclose="none">g2s</syntaxhighlight>


Not: bu betiğe --pretend veya başka bir şey geçebilirsiniz, ama sadece liste istiyorsanız komut satırı uygulamasını kullanmak muhtemelen daha iyidir.

Saf Entropy'i almak:

O halde, eğer bazı Portage şeyleri kurduysanız bu %100 Entropy'e sizi geri götürmeli (elbette eğer Entropy bu şeylere sahip değilse) ve elbette Sabayon'da bulunmayan bazı Portage şeylerini kırabilir. Eğer sadece saf Entropy sistemine geri dönmeye çalışıyorsanız,sisteminizdeki her paketi yeniden kurmadan daha hızlı bir şekilde (muhtemel istenmeyen paketleri kaldırmak hariç) başardınız,

Hala daha biraz daha Portage'mı istiyorsunuz?

Eğer herhangi bir nedenle hala daha Portage şeyleri istiyorsanız. muhtemelen bazı şeyleri yeniden emerge yapmak isteyeceksiniz. O halde ne yapmalıyım diye merak mı ediyorsunuz? O halde, aynen yukarıdaki "kolay yol" gibi. Portage paketinizi ilk kurduğunuzda, Entropy tarafından karşılanabilecek olmasına rağmen Portage'dan pek çok paket çekmişti. Bu sefer onları kurduğunuzda, bağımlılıkların Entropy sürümlerine zaten sahipsiniz. Aynı vazgeçmeler uygulanır.

Tekrar, bu sadece zaten kurulu şeyleri temizlemektir. Tercihen ilk önce hayali kurulum tasarısı yapan, kurulması gereken bütün bağımlılıklar hakkında bilgi toplayan, hepsini ilk önce Sabayon ile kuran ve sonra emerge yapan bir betik kullanılabilir. Bu aynı sonucu üretir, ama bu yolla ilk etapta pek çok gereksiz şeyi derlemenize gerek kalmaz. Ama şimdiden kendiniz için bir tane yazmamışsanız, henüz böyle bir betik yok.

Portage yoluyla yaptığınız şeylerden Entropy'nin haberdar olması için, emerge yaptıktan sonra bunu kullanmayı unutmayın:

   
# equo rescue spmsync


Bunu gibi hackler biraz düşünce ister ve genellikle pek çok köşeli durumlar yaratır. Ne yaptığınızı (betiğin ne yaptığını) bilin, eğer işler ters giderse yazarı suçlamayın ve "pretend"'i kullanın.