Gentoo Altında Program Kurulumu
From Lapis Wiki
Bu makale NASIL bölümü serisinin bir parçasıdır
|
| MasaÜstü • Donanım • Ağ • Dağıtımlar |
| Tarayıcılar• Programlama • Linux ve Oyunlar |
emerge ve qpkg araçlarını kullanarak Gentoo altına paket kurmak ve yönetmek
emerge aracı komut satırından çalışan Portage sistemi için tam ve eksiz bir araçtır. Temel olarak paketlerin kurulumu için kullanılır ve emerge kurmak istediğiniz paketle ilgili tüm bağımlılıkları otomatik olarak halledebilir. (Yani bir paket kuracaksanız bu paketin ihtiyaç duyduğu diğer tüm paketleri bulur)
Emerge Python dilinde geliştirilmiştir ve /usr/portage dizininde bulunan .ebuild uzantılı dosyaları kullanır.ebuild dosyaları /etc/make.conf içinde belirttiğimiz değişkenlere göre kaynak kodun nasıl kurulacağını belirler.
Konu başlıkları |
Temel emerge komutları
Yazılımları Kurmak
Bir paketi kurmak için
emerge paketadı
Eğer bir paket başka paketleri içerir veya diğer paketlere bağımlı ise bu paketler de otomatik olarak kurulacaktır:
emerge kde
komutu KDE'nin tümünü ve KDE'nin ihtiyaç duyduğu tüm paketleri kuracaktır.
Bir paketi kurmak ve o paketin tüm bağımlılıklarını (ihtiyaç duyduğu tüm paketleri) güncellemek için:
emerge -u paketadı
To update a package, all packages it depends on and all packages they depend on (--deep, just about everything):
emerge -uD package
Kaldırmak
Bir paketi kaldırmak için:
emerge -C paket adı
Uzun uzun yazmak esterseniz isterseniz emerge unmerge paketadı şeklinde de kullanabilirsiniz.
Kurmak için yeni yazılımlar aramak
Paketleri ara (paket ismine göre):
emerge -s anahtarkelime
Paketleri ara (açıklama bilgilerine göre):
emerge -S keyword
Mevcut portage şemanızı halihazırda mevcut bulunan en son portage şemasına eşitlemek için:
emerge sync
Not : Portage şeması kurulu yazılımları bir ağaç şeklinde listeler halinde sıralayan bir dizin yapısıdır.
Diğer Kullanışlı Özellikler
Kurarmış Gibi Yapmak
Bir paketi tamamen kurmak yerine --pretend seçeneği ile eğer --pretend seçeneği kullanmasaydık hangi paketlerin kurulucak olduğunu görebiliriz. Kısacası --pretend seçeneği ile kurma işleminin bir nevi provasını yapmış oluyoruz ;-)
emerge -p paket adı
Sadece Kaynak Kodlarını İndirmek
Paketleri sadece internette indirmek (--fetchonly), yani arşivlemek (bağımlılıklarıda indirilir), fakat derlemek istemiyorsanız, aşağıdaki komutu kullanabilirsiniz:
emerge -f package
İndirilen paketler /usr/portage/distfiles dizini altında tutulur. Derleme işlemi hatasız bir şekilde bittikten sonra, bu dizin ,iç,ndeki dosyaları silmenizde bir sakınca yoktur. Aksi takdirse fazladan yer tutarlar.
Sisteminizde kurulu bütün dosyaları güncellemek için, ilk önce indirmek istiyorsanız, aşağıda komutu kullanabilirsiniz:
emerge -efD world
Bütün sistemi güncellemek
Sisteminiz en güncel hale getirmek ve en güncel paketleri kullanmak/kurmak istiyorsanız, -uD (--update --deep) parametresi ile bunu yapabilirsiniz:
emerge -uD world
Bu işlem esnasında, eğer bir programı ACCEPT_KEYWORDS ile kurduysanız, o program silinir ve en sağlam olan paket ile değiştirilir. Ya da kurmadan önce emerge -uDp world kullanarak, emerge -uD world komutu ile kurulacak olan paketleri ve sürümlerinin listesini inceleyebilirsiniz.
USE Etiketleri
Bir paketi veya programı kurmadan önce veya kurulu olan paketlerin hangi USE etiketleri ile kurulduğunu öğrenmek için ağağıdaki komutu kullanabilirsiniz. İŞlem sonunda size + veya - işaretleri ile kullanılan veya kullanılmayan USE etiketlerini hakkında bilgi aktarılır:
emerge -pv package
-p parametresi ile emerge işlem yapmaz, yani paketler kurulmaz, aksine yapılacak olan işlemden önce size USE etiketlerinin listesini gösterir. USE etiketlerini devamlı olarak kullanmak istiyorsanız veya devamlı olarak kurduğunuz her pakette USE etiketleri ile destek evrmek istiyorsanız /etc/make.conf dosyasını içindeki USE değişkeni ile tanımlayabilirsiniz. Eğer sadece belirli bir programı belirli bir USE etiketi vermek istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
USE="-X -esd -gnome -gtk" emerge bitchx USE="-X -gpm" emerge mc
Bu işlem sonucunda, sadece o anda kurulan pakete USE ile tanımlanan etiket desteği verilir veya çıkartılır.
Masked packages
Some packages are masked , meaning they won't install unless they are specifically demanded.
Why packages are masked
A package may be masked because it fails to compile or has serious bugs. It may also simply be masked because the latest version to brand new and therefore not tested enough to be included in the main portage tree.
Masked does not mean dangerous or unstable. Usually the latest stable release is what is used by default, while the development releases are masked.
A package can be masked for one, a few or all architectures (x86, ppc, sparc, sparc64, or alpha).
Installing masked packages
To install a masked package on sparc:
ACCEPT_KEYWORDS="~sparc" emerge package
To install a masked package on x86:
ACCEPT_KEYWORDS="~x86" emerge mozilla-firebird-cvs
It is quite possible to set ACCEPT_KEYWORDS="~x86" in /etc/make.conf. This is generally a bad idea, specially if you have no idea what you are doing.
To check for the latest masked version of a package:
ACCEPT_KEYWORDS="~x86" emerge -pv gimp
package.mask
Some packages do not want to be installed even if you are using ACCEPT_KEYWORDS="~x86". These packages are randomly specified by the nice gentoo development theme and configured in:
/usr/portage/profiles/package.mask
If you are wondering if there is a later version of a package than what is available as a masked package in portage, try:
grep gimp /usr/portage/profiles/package.mask
If this shows you a line like..
>=media-gfx/gimp-1.3
.. then edit package.mask and add a # in front of that line, or:
mv package.mask package.mask.tmp sed s/gimp/#gimp/g > package.mask
Manageing installed packages
Gentoo lists the latest available and installed version of a package when you do a standard search:
emerge search package
But the 'emerge' tool can't make a list of all installed packages. To do so, Install Gentoolkit (not installed by default):
emerge gentoolkit
Gentoolkit includes qpkg. To use it to list all installed packages:
qpkg -I
Note that the package database is actually in /var/db/pkg/.
To view what's changed between the latest available version of a program and the latest installed version, use etcat -c.
etcat -c mozilla
What package installed program X?
qpkg -f /bin/ls sys-apps/fileutils *
Use which together with qpkg to insert the right path for executables:
qpkg -f ``which du``
Read the qpkg manpage for more information.
You can get a list of all programs installed with emerge -evp --deep:
emerge -evp --deep world
Note that this lists wrong versions (=latest stable) for all packages installed with ACCEPT_KEYWORDS.
A better way of doing this is using qpkg, part of the package gentoolkit:
qpkg -I
Çift dosyaları veya eski sürümü kurulmuş olan paketleri nasıl bulurum?
qpkg programının yardımı ile bir programın eski sürümlerini veya kurulan birden fazla sürümü olup olmadığını tespit edebilirsiniz. qpkg programı gentoolkit paketinin içindedir
qpkg --dups -v
Diğer başka bir yol ise emerge komutunun arkasına P (prune) parametresini eklemek:
emerge -Pvp
Hangi paketler hangi paketine bağımlı?
etcat komutunun yardımı ile paketlerin bağımlılıklarını tespit edebilirsiniz. Bunun için
etcat -d packagename
komutunu vermeniz yeterlidir.
etcat programını kullanabilmek için gentoolkit paketini önceden kurmanız gereklidir.
