Menü
ücretsiz
Kayıt
Ev  /  tavsiye/ İndirilen program Fedora'da nasıl kurulur. Fedora'ya yazılım nasıl yüklenir

İndirilen program fedora'ya nasıl kurulur. Fedora'ya yazılım nasıl yüklenir

Genel olarak FOSS sistemleri ve özel olarak Fedora paketlenmiştir. Aynı şekilde paketler halinde herhangi bir ek programlar onlar için bağımsız geliştiriciler tarafından yaratılmıştır. Bu nedenle, kullanıcının önemli görevlerinden biri, paketlerin kendi sistemine entegrasyonudur. Fedora paketleri rpm formatında dağıtılır.

rpm formatı

Rpm paket formatının icadı ve bunları yönetmek için ilgili yardımcı programın genel olarak Linux dağıtımı üzerinde çok büyük bir etkisi oldu. Bu yüzden ona biraz ilgi göstermelisin.

Hikaye

RPM paket formatı (daha sonra Red Hat Paket Yöneticisi anlamına geliyordu) ve bu tür paketleri manipüle etmek için kullanılan, bağımlılıkları izleyebilen ve ihlallerini bildirebilen, adını taşıyan yardımcı program, Linux'un genel halka tanıtılmasında çok büyük bir rol oynadı. Doğru, bu yardımcı program bağımlılıkları nasıl çözeceğini bilmiyordu ve bugüne kadar öğrenmedi: bu görev, daha "gelişmiş" paket yönetimi araçlarıyla çözüldü. Ancak Slackware'in sessiz paket araç setiyle karşılaştırıldığında, bağımlılıklar hiç izlenmiyordu ve bu, normal kullanıcıların bakış açısından büyük bir gelişmeydi.

RPM sisteminin kökeni (hem yardımcı program setini hem de birlikte çalıştıkları paket formatını kastedeceğiz) zamanın sisi içinde kaybolmuştur. Red Hat'in ilk sürümleri, paketlerin tek komutla yüklenmesini, bunlarla ilgili bilgilerin sorgulanmasını ve bağımlılıkların kontrol edilmesini sağlayan RPP sistemini kullanıyordu. Bununla birlikte, bunun için paketler oluşturmak, yazarın kaynaklarında önemli bir değişiklik yapılmasını gerektirdi ve bu, dağıtım sorumluları için stresli bir durumdu.

İlk Red Hat'e paralel olarak, artık çok az bilinen Bogus dağıtımı bir süre gelişti. Kendi paket sistemi vardı - Rikard E. Faith tarafından yazılan PMS (Paket Yönetim Sistemi). Paketler hakkında bilgi istemek için zayıf bir mekanizması vardı ve bağımlılıklarını kontrol etmek kesinlikle yoktu. Ancak öte yandan, PMS paketleri herhangi bir değişiklik yapılmadan doğrudan yazarın kaynaklarından oluşturulabilir.

Red Hat'in 2. sürümünün hazırlanması sırasında Rickard Veit, Doug Hoffman (Doug Hoffman) ile birlikte Red Hat ile bir sözleşme kapsamında RPP ve PMS'nin en iyi özelliklerini içeren bir PM (Paket Yönetimi) sistemi yazdı. Pratik olarak hiç kullanılmamasına rağmen, RPM'nin temellerinden biri olarak hizmet etti.

RPM sisteminin kendisi, Mark Ewing (şirketin kurucularından biri) ve Erik Troan tarafından, öncekilerin - RPP, PMS ve PM geliştiricileri - tüm başarılarına dayanarak oluşturuldu. İkinci sürümün test sürümleri için hazırlanan bir sürümü, örneğin bir disketten önyükleme yaparken (ve o günlerde oldukça yaygın olan) bir dizi sorun yaratan hız uğruna Perl'de yazılmıştır. Linux'u başlatmanın yolu). Ve Red Hat 2.0'ın piyasaya sürülmesinden hemen önce, sistem tamamen C'de yeniden yazıldı, paket veritabanı daha fazla güvenilirlik ve hız için yeniden tasarlandı ve üçüncü taraf geliştiriciler tarafından RPM işlevini kullanmak için rpmlib kitaplığı oluşturuldu. Başka bir deyişle, RPM sistemi, o zamandan beri yalnızca hata düzeltmelerine ve kozmetik iyileştirmelere tabi tutularak, neredeyse şimdi bildiğimiz biçimi aldı.

Eylül 1995'te piyasaya sürülen Red Hat 2.0'ın piyasaya sürülmesiyle standart hale gelen ve halka açık hale gelen RPM sistemi (yani, biçim ve yardımcı program), ana sistem dışında hemen popülerlik kazandı. Yakında, orijinal olarak Red Hat'in tam bir klonu olan Caldera Linux'ta (daha sonra OpenLinux olarak anılacaktır) kullanıldılar. Bunu takiben, dağıtım kiti Suse (genetik olarak Slackware'in soyundan gelir) rpm formatında paketlemeye geçti. Tabii ki, Mandrake gibi Red Hat'in sonraki tüm klonları ve türevleri de RPM kullandı.

1996-1997'nin başında (Linux ile ilk deneylerimin zamanı) RPM sisteminin yaygınlaştığını, kararlı kabul edildiğini ve yerel dağıtımın çok ötesinde kullanıldığını bir görgü tanığı olarak ifade edebilirim.

Genel bilgi

Uzun ömrü boyunca rpm formatı çeşitli değişikliklere uğrasa da genel çizgisinde hem karakteristik özelliklerini hem de geriye dönük uyumluluğunu günümüze kadar korumuştur. Şu anda (02/01/2011) aynı isimli proje tarafından resmi olarak desteklenenlerden güncel versiyonu 4.8.1'dir. Red Hat'in doğrudan klonları olarak görünen sayısız dağıtımda (CentOS, Scientific Linux, Oracle) kullanılır. Kurumsal Linux) ve türevleri, Mandriva veya Altlinux gibi atalarından uzaklaşmış olsalar bile. Ayrıca kendisiyle genetik olarak ilişkili olmayan bazı sistemlerde bile görülebilmektedir (örneğin Suse'nin tüm varyantlarında).

rpm'nin genel sürümüne paralel olarak rpm5 olarak bilinen güncellenmiş bir sürümü de geliştirilmektedir. Daha önce "normal" rpm'nin ana geliştiricilerinden biri olan Jeff Johnson tarafından yaratıldı. Ona göre, yeni bir versiyon atasına kıyasla önemli ölçüde iyileştirildi, ancak bunun için bu iki format arasındaki uyumluluk eksikliğini ödemek gerekiyordu. Bu nedenle rpm5, rpm projesi veya herhangi bir popüler rpm tabanlı dağıtım tarafından resmi olarak desteklenmemektedir. Bildiğim kadarıyla sadece PLD dağıtımında kullanılıyor ve duyuruya göre Mandriva 2011.1 sürümünde kullanılacak.

Listelenen rpm tabanlı dağıtımlar (ve listelenmeyen diğerleri) teorik olarak aynı paket biçimini kullanırken, düzenlemelerinin gerçek ayrıntıları farklıdır. Bu özellikle kaynak paketler için geçerlidir (ayrıca ele alınacaktır). Ancak bu sayfalarda kendimi Fedora dağıtım rpm'leri ile sınırlayacağım. Doğru, onlar hakkında söylenenler RHEL, CentOS, Scientific Linux, Oracle Enterprise Linux, ASPLinux için de geçerli olacak.

Paket terminolojisi

Fedora dağıtımının bir parçası olarak, bizi ilgilendiren formatta farklı paket türleri bulabilirsiniz.

İlk olarak, ikili rpm paketleri tahsis edilir ve bunlar aynıdır, ancak kaynak metinlerle birlikte. Adından da anlaşılacağı gibi, ilki dağıtım paketinin önceden derlenmiş bileşenlerini içerir, örneğin:

  • yürütülebilir ikili dosyalar;
  • belki de işleyişleri için gerekli olan kütüphaneler;
  • yapılandırma dosyaları (veya en azından bunların örnekleri);
  • belgeler.

Kaynak paketler, kendi tarball'larını, yazarın paketlerinin hedef sisteme uyarlanması için gerekli yamaları ve çeşitli hizmet bilgilerini içerir.

Her ikisini de belirli kurallara göre oluşturulmuş adlarıyla tanımak çok kolaydır, bunu en belirleyici paket örneği olan rpm paketinin kendisi kullanarak ele alacağız.

İkili rpm paketlerinin adları aşağıdaki şemaya göre oluşturulmuştur:

Rpm-4.8.1-6.fc14.x86_64.rpm

burada rpm paketin adıdır, 4.8.1 paketin dal numarası, sürümü ve sürümüdür, 6 bu dağıtımın geçerli sürümünün yapı numarasıdır, fc14 bunun adı ve sürümüdür (bu bu örnekte, Fedora sürüm 14), x86_64 - paketin oluşturulduğu mimari.

Kaynak paket adı şöyle bir şey olacaktır:

Rpm-4.7.1-6.fc12.src.rpm

Farkın yalnızca, önceden derlenmiş bir ikili ile değil, bir kaynak paketle uğraştığımızı simgeleyen ek src sonekinde olduğunu görebilirsiniz. Ve kaynak kodlar için mimari kavramının bir anlam ifade etmediği açıktır - bunların (teorik olarak) herhangi biri için inşa edilmesi gerekir.

İkili paketler arasında, herhangi bir mimariye bağlı olmayanları da bulabilirsiniz - bunlar noarch ek soneki ile tanımlanır. Bunlar arasında Perl, Python vb gibi yorumlanan dillerdeki betikler, yazı tipi paketleri, belgeler vb. Örneğin, Dejavu yazı karakterlerinden biri için bir paket şuna benzer:

dejavu-sans-yazı tipleri-2.30-2.fc12.noarch.rpm

Yukarıda, ikili rpm paketlerinin, çalışmaları için gerekli işlev kitaplıklarını içerebileceği söylendi. Ancak, bu daha ziyade bir istisnadır: her şeyde olduğu gibi UNIX benzeri sistemler, rpm tabanlı dağıtımlarda kitaplıkları ayrı paketler olarak oluşturma eğilimi vardır. Bu durumda, her kitaplık kural olarak iki paket halinde sunulur.

İlk paket, zaten ihtiyaç duyulan kitaplık işlevleri için gerçek kodu içerir; örneğin, rpm paketi bir kitaplık paketi tarafından sağlanır.

rpm-libs-4.7.1-6.fc12.x86_64.rpm

İkinci paket şunları içerir: başlık dosyaları, yalnızca paketlerin kendi kendine montajı için gereklidir - günlük yaşamda onlarsız yapabilirsiniz:

rpm-devel-4.7.1-6.fc12.x86_64.rpm

Rpm paketlerinin isimlendirilmesiyle uğraştıktan sonra, iç yapıları sorusuna, yani gerçek formata geçebiliriz.

İkili rpm paketlerini düzenleme

rpm ikili paketi iki bileşen içerir. Bir yandan, sistemin dosya hiyerarşisine dahil edilmeye hazır, gerekli yapılandırmalar, belgeler vb. ile birlikte yürütülebilir ikili dosyalar ve kitaplıklar gibi bir dizi derlenmiş dosyadır.

Öte yandan, paket, belirli kurallara göre derlenmiş bir açıklama olan meta-bilgi içerir. Paket adını, sürümünü ve yapı numarasını, geliştirici ve ana sitesi hakkında bilgileri, dosyaların listesini, dosya hiyerarşisindeki konumlarını, bağımlılıkların listesini içerir. Gerekirse, kurulum ve yapılandırma komut dosyaları olabilir. Bütün bunlar birlikte, paketin bütünlüğünü kontrol etmenize, bağımlılıkları izlemenize, gerçek kurulum prosedürünün yürütülmesini sağlamanıza ve ayrıca paketleri "doğrudan" kaldırmanıza olanak tanır.

Bir rpm paketinin bileşenleri, sıkıştırmaya tabi tutulan UNIX'teki en eski arşivleme araçlarından biri olan bir cpio arşivinde paketlenir. Önceden, Fedora sürüm 11'e kadar ve dahil olmak üzere, bu işlem gzip yardımcı programı kullanılarak yapılıyordu. Fedora'nın 12. sürümünden başlayarak, rpm paketleri, çok daha yüksek bir sıkıştırma derecesi sağlayan LZMA algoritması kullanılarak sıkıştırılır - ancak bunun için harcanan zaman pahasına. Bununla birlikte, kullanıcı için herhangi bir rahatsızlığa neden olmaz - çünkü lzma dosyalarının paketten çıkarılması, paradoksal olarak, neredeyse gzip ile aynı hızda gerçekleştirilir. Ancak bunları indirmek elbette çok daha hızlıdır, bu da "kalın" ve ucuz kanalların sahiplerini memnun edemez ancak memnun edebilir: bu koşullar altında, paketleri Ağ üzerinden yüklemek, yerel medyadan daha hızlıdır.

Bununla birlikte, rpm paketinin "içeride" olduğu gerçeğine geri dönelim. Neden önce paketi herhangi bir standart araç(örneğin rpm2cpio veya rpm2tgz yardımcı programını kullanarak) ve ne olduğunu görün:

$ ls rpm-4.7.1-6/ bin/ etc/ usr/ var/

Yani, paketin hedef sistemin dosya hiyerarşisine dahil edilecek bileşenlerini görüyoruz.

İkinci bileşenle tanışmanın en kolay yolu Midnight Commander'ın yardımıdır. anahtara göre F3(daha önce olduğu gibi, rpm paketi örnek olarak kabul edilir) tüm meta bilgileri özet şeklinde verecektir. İlk olarak, bu, paketin resmi bir açıklaması olacaktır:

Ad: rpm Yer Değiştirme: (yer değiştirilemez) Sürüm: 4.8.1 Satıcı: Fedora Proje Sürümü: 5.fc14 Yapım Tarihi: 10 Ağustos 2010 Salı 11:43:21 Kurulum Tarihi: (kurulu değil) Yapım Ana Bilgisayarı: x86-12.phx2 .fedoraproject.org Grup: Sistem Ortamı/Temel Kaynak RPM: rpm-4.8.1-5.fc14.src.rpm Boyut: 2035701 Lisans: GPLv2+ İmza: RSA/SHA256, Çar 11 Ağustos 2010 05:58:10, Anahtar Kimliği 421caddb97a1071f Paketleyici: Fedora Proje URL'si: http://www.rpm.org/ Özet: RPM paket yönetim sistemi Açıklama: RPM Paket Yöneticisi (RPM), kurma, kaldırma, doğrulama, yazılım paketlerinin sorgulanması ve güncellenmesi. Her yazılım paketi, sürüm, açıklama vb. gibi paketle ilgili bilgilerle birlikte bir dosya arşivinden oluşur.

Tüm alanların anlamı sezgiseldir. Lütfen sadece Grup alanına dikkat edin: yum sistemini kullanarak paketleri yönetmeye gelince, paketin grup sahipliğini hatırlamamız gerekecek.

Kurulum komut dosyası daha sonra aşağıdakileri takip edecektir:

Posttrans komut dosyası (/bin/sh kullanarak): # XXX bu hantal ve çirkin, rpm'nin kendisi bunu halletmeli dbstat=/usr/lib/rpm/rpmdb_stat if [ -x "$dbstat" ]; o zaman "$dbstat" -e -h /var/lib/rpm 2>&1 | grep -q "ortam sürümüyle eşleşmiyor" | Geçersiz bağımsız değişken"; ardından rm -f /var/lib/rpm/__db.* fi fi çıkış 0

Rwxr-xr-x 1 kök kök 20392 10 Ağustos 11:42 /bin/rpm drwxr-xr-x 2 kök kök 0 10 Ağustos 11:42 /etc/rpm -rwxr-xr-x 1 kök kök 7424 10 Ağustos 11: 42 /usr/bin/rpm2cpio...

Ardından - kitaplık dosyaları:

Rw-r--r-- 1 kök kök 40537 10 Ağu 11:42 /usr/lib/rpm/macros drwxr-xr-x 2 kök kök 0 10 Ağu 11:42 /usr/lib/rpm/platform drwxr-xr -x 2 kök kök 0 10 Ağu 11:42 /usr/lib/rpm/platform/amd64-linux ...

Rw-r--r-- 1 kök kök 44206 7 Aralık 2009 /usr/share/doc/rpm-4.8.1/KOPYALAMA -rw-r--r-- 1 kök kök 639 7 Aralık 2009 /usr/share/ doc/rpm-4.8.1/CREDITS -rw-r--r-- 1 kök kök 496233 11 Haziran 2010 /usr/share/doc/rpm-4.8.1/ChangeLog.bz2 -rw-r--r-- 1 kök kök 656 7 Aralık 2009 /usr/share/doc/rpm-4.8.1/GROUPS ...

Ve son olarak, değişken dosyalar:

Drwxr-xr-x 2 kök kök 10 Ağustos 11:42 /var/lib/rpm -rw-r--r-- 1 kök kök 10 Ağustos 11:42 /var/lib/rpm/Basenames -rw-r -- r-- 1 kök kök 0 10 Ağustos 11:42 /var/lib/rpm/Conflictname -rw-r--r-- 1 kök kök 0 10 Ağustos 11:42 /var/lib/rpm/Dirnames .. .

Tüm bu bilgiler parçalar halinde görüntülenebilir - imleci Midnight Commander'da dosyaya sabitleyerek

Rpm-4.7.1-6.fc12.x86_64.rpm

ve basmak Girmek.
Şimdi pakette bulunan "meta bilgi" dosyalarının bir listesini göreceğiz:

/.. │-on-up-│ 16 Aralık 12:04 /Bilgi │ 0 │S 21 00: 00 00 00 │CPIO │ 0PA 21 00:00 HEADER │ 1185PA 21 00:00 *Kurulum │ 39 saniye 21 00: 00 *YÜKSELTME │ 39│21 Eylül 00:00

Dosyaların içeriğini tahmin etmek kolaydır. CONTENTS.cpio, tüm dosyaların ve yollarının eksiksiz bir listesidir:

Rwxr-xr-x 1 kök kök 20808 21 Eylül 17:30 ./bin/rpm drwxr-xr-x 2 kök kök 0 21 Eylül 17:30 ./etc/rpm ...

ve benzeri. HEADER dosyası az önce gördüğümüz açıklamanın aynısını içeriyor F3, *INSTALL ve *UPGRADE ilgili hedefin yürütülebilir komut dosyalarıdır. Ve /INFO dizininde, sonunda toplam meta-bilginin toplandığı birçok küçük dosya vardır. Bunlardan yalnızca REQUIRENAME'e odaklanacağım - bu, rpm paketi için şuna benzeyen kötü şöhretli bağımlılıklar listesidir:

/bin/bash /bin/sh /bin/sh yapılandırma(rpm) = 4.8.1-5.fc14 coreutils curl db4-utils libacl.so.1()(64bit) ...

Aslında rpm paketi içinde herhangi bir dosya hiyerarşisi barındırmaz. Ve bize öyle görünen şey, onu montajdan önceki haliyle geri yükleyen Midnight Commander'ın tamamen erdemidir.

RPM veritabanı

Rpm paket veri tabanı, sistemin çalışması için gerekli bir bileşendir: paketler hakkında bilgi edinme, güncelleme ve kaldırma olanağı sağlayan bileşendir. /var/lib/rpm dizininde sistemin kurulumu sırasında oluşturulur ve paketlerle yapılan her işlemde değişir.

rpm paket veritabanı, eski (1986 şişeleme), basit (ilişkisel olmayan) bir DBMS olan, ancak hızlı, verimli ve bu nedenle bugüne kadar yaygın olarak kullanılan Berkeley DB'yi kullanır.

RPM temel dosyaları ikili dosyalardır ve "gece komutanının" büyüsü bile içlerinde anlaşılır hiçbir şey görmenize izin vermez. Bu nedenle, yalnızca belgelerin yazarlarının sözlerini almak için kalır.

  • Paketler dosyası ana dosyadır ve dizinlenmiş paket başlık alanlarını saklar,
  • Basenames, Group, Requireversion ve diğerleri dosyaları veritabanı sorgularını optimize etmek için kullanılır ve
  • __db.001, __db.002 vb. dosyalar - paketleri yüklerken ve kaldırırken hangi dosyaların değiştirildiği ve oluşturulduğu hakkında bilgi içerir.

Rpm paketi veri tabanı aşağıdakiler için gereklidir: normal işleyen bu sistemin - hasarı hoş olmayan sonuçlara yol açar ve bu nedenle, zamanı gelince ele alacağımız acil durumlarda bütünlüğünü geri kazanmanın yolları vardır.

rpm programı

Genel anlamda rpm paketlerinin yapısına aşina olduktan sonra, onlarla neler yapılabileceğini görelim. Ve tek paketlerle çalışmak üzere tasarlanmış, aynı adlı yardımcı programla başlayalım. Eski günlerde, Red Hat dağıtımının, klonlarının ve türevlerinin acemi kullanıcıları için bir lütuf ve bir lanetti.

giriiş

Daha önce bahsedildiği gibi, rpm yardımcı programı, Red Hat dağıtımının kullanıcıları ve tüm ardılları için bir nimet olmuştur. Çünkü onları kendi kendine derleme ihtiyacından kurtardı: paketlerini ikili biçimde dağıtmaktan çekinmeyenler arasından hemen hemen tüm geliştiriciler onları rpm biçiminde derledi ve http://rpmfind.net gibi hizmetler onları bulmayı kolaylaştırdı. internette. O yıllarda böyle bir yaşam özdeyişinin dolaşımda olduğunu hatırlıyorum:

rpm ve internetin yardımıyla, herhangi bir dağıtım kiti bir gecede ikiz kardeşler haline getirilebilir

Bununla birlikte, kullanıcıların, özellikle de yeni başlayanların laneti olduğu da ortaya çıktı: yükleme ve kaldırma sırasında paket bağımlılıklarını izlerken, rpm yardımcı programı bunları hiç çözmedi, yalnızca algılanan fitneyi ve oldukça anlaşılmaz bir biçimde rapor etti. yeni başlayan.

O günler geride kaldı: apt-rpm , urpmi ve son olarak yum gibi paketlenmiş depolar ve onlarla çalışmak için araçlar çağı, bir sonraki not dizisinin ana karakteridir. Hangileri paketlerin rutin manipülasyonuyla ilgilenir. Bununla birlikte, rpm yardımcı programı, özellikle resmi depolarda yer almayan tekli paketlerle uğraşmak için hala en kolay araçtır. Ve bazı durumlarda - örneğin, üçüncü taraf depoları bağlanırken - neredeyse vazgeçilmez olabilir.

O halde, onun temel, en popüler olanını tanımak için biraz zaman ayıralım. Gündelik Yaşam, işlevler. Bu sadece pratik kullanım için bir özettir. Ayrıca daha önce rpm tabanlı sistemlerle ilgilenmemiş kişilere yöneliktir. Seyircilerden çığlık atacak olanlar - bana detayları verin, onları önceden Mana Teyze'ye gönderiyorum, o size her şeyi anlatacak.

Genel özellikleri

Deb tabanlı dağıtımlardaki dpkg gibi rpm yardımcı programı, bağımsız bir projenin parçası olarak aynı adlı formatla birlikte geliştirilen bütün bir ailenin temsilcilerinden yalnızca biridir.

Ek yardımcı programlar arasında, kendi paketlerinizi oluşturmak için bir araç olan rpm-build'den ve paketlerden meta bilgileri çıkarmak ve onu insan biçiminde sunmak için bir yardımcı program olan rpm2html'den bahsetmeye değer (tüm ailenin tam listesi bulunabilir) ). Ancak bu sayfa dizisinin başında sadece rpm'den bahsedeceğiz.

rpm yardımcı programını kullanmanın beş ana modu vardır:

  • sorgu modu (sorgu);
  • doğrulama modu (doğrula);
  • kurulum modu (kurulum);
  • güncelleme modu (yükseltme);
  • silme modu (silme).

Bir de paket oluşturma modu var ama ona şimdilik değinmeyeceğiz.

Her mod, rpm komutunun temel seçeneklerinden birine karşılık gelir. Bunlara, tüm modlara özgü veya ortak olan ek seçenekler eşlik edebilir. İlki, modların açıklamasında dikkate alınacaktır. İkincisi arasında en çok talep görenler:

  • -? , --help rpm komutunun kullanımıyla ilgili ayrıntılı yardımı görüntüler (kısa yardım, herhangi bir seçenek veya bağımsız değişken olmadan komuta yanıt olarak görüntülenir);
  • --version rpm paketinin sürüm numarasını yazdırın;
  • --quiet, komut yürütme sırasında minimum sayıda mesaj görüntüler (genellikle yalnızca hata mesajları);
  • -v komutun ilerleyişi hakkında ayrıntılı mesajlar yazdırır.

Özellikle paket veri tabanını geri yüklemek için kullanılan birkaç "mod dışı" seçeneği de vardır.

rpm komutunun argümanı genellikle paket dosyasının adıdır; genellikle bu tür birkaç argüman olabilir (sınırda, istediğiniz kadar). Bazı durumlarda, kısa bir paket adı belirtmek yeterlidir - örneğin, bizim için sürekli örnek sadece devir. Diğer durumlarda, sürüm numarasını, yapıyı, dağıtımı, mimariyi belirten tam ad gereklidir - örneğin, rpm-4.8.1-5.fc14.x86_64.rpm . Ve paket dosyası geçerli dizinde değilse, o zaman tam yolu önek olarak eklemeniz gerekir, örneğin /var/cache/akmods/ .

İstek modu...

... paket hakkında, özellikle durumu (sistemde yüklü olup olmadığı) hakkında bilgi almaya yarar. Ana sorgu seçeneği -q'dir (veya --query), buna yanıt olarak tam paket adı görüntülenecektir:

Rpm -q rpm rpm-4.8.1-5.fc14.x86_64

request seçeneği ile argüman olarak kısa bir paket adının yeterli olduğuna ve adına komutun kendisinin verilebileceğine dikkatinizi çekerim. sıradan kullanıcı.

Ek seçenekler, isteğin amacına bağlıdır. Böylece, sistemde bir paketin varlığı aşağıdaki komutla kontrol edilir:

$ rpm -qa pkgname

-a (veya --all) ek seçeneğinin, sorguyu veritabanındaki tüm kullanılabilir paketlere yönlendirdiği yer. Paket kuruluysa, bu komuta verilecek yanıt şu olacaktır:

$ rpm -qa opera opera-10.00-4440.gcc4.shared.qt3.x86_64

Değilse, komut satırı istemi döndürülür.

Paketin resmi bir açıklaması şu komutla elde edilebilir:

$ rpm -qi rpm

cevabı şu olurdu:

Ad: rpm Yer Değiştirme: (yer değiştirilemez) Sürüm: 4.8.1 Satıcı: Fedora Proje Sürümü: 5.fc14 Yapım Tarihi: 10 Ağu 2010 Sal 11:43:21 Kurulum Tarihi: 31 Ekim 2010 Paz 10:28:06 Yapı Sunucusu: x86-12.phx2.fedoraproject.org Grup: Sistem Ortamı/Temel Kaynak RPM: rpm-4.8.1-5.fc14.src.rpm Boyut: 2035701 Lisans: GPLv2+ İmza: RSA/SHA256, Çar 11 Ağu 2010 05:58 :10, Anahtar Kimliği 421caddb97a1071f Paketleyici: Fedora Proje URL'si: http://www.rpm.org/ Özet: RPM paket yönetim sistemi Açıklama: RPM Paket Yöneticisi (RPM), komut satırıyla çalışan güçlü bir paket yönetim sistemidir. , yazılım paketlerini kaldırma, doğrulama, sorgulama ve güncelleme. Her yazılım paketi, sürüm, açıklama vb. gibi paketle ilgili bilgilerle birlikte bir dosya arşivinden oluşur.

Bunun daha önce Midnight Commander aracılığıyla görüntülediğimiz aynı HEADER olduğunu görmek kolaydır.

Ek bir l seçeneği, CONTENTS.cpio'nun içeriğini de çıkarmamıza izin verecektir:

$ rpm -ql rpm /bin/rpm /etc/rpm /usr/bin/rpm2cpio /usr/bin/rpmdb /usr/bin/rpmquery /usr/bin/rpmsign /usr/bin/rpmverify ...

Yukarıda kurulu paket hakkında bilgi almaktan bahsetmiştik. Ancak, kurulu olmayan bir paket hakkında - işimizde gerekli olup olmadığına dair bilgi almak çok daha ilginç. Ve bu, -qi'ye ek bir p seçeneği ekleyerek ve tam paket adını ve yolunu belirterek mümkündür. Ve kaldırılan paket büyük olasılıkla bir ağ kaynağında bulunduğundan, URL burada yol olarak görünecektir, örneğin:

$ rpm -qip http://mirror.yandex.ru/fedora/linux/releases/14/Fedora/x86_64/os/Packages/joe-3.7-5.fc13.x86_64.rpm

Hangisi, yerel paketi sorgularken olduğu gibi tam olarak aynı bilgileri verir:

Ad: joe Yer Değiştirme: (yer değiştirilemez) Sürüm: 3.7 Satıcı: Fedora Project Yayın: 5.fc13 Yapım Tarihi: 10 Şubat 2010 Çar 09:57:06 Kurulum Tarihi: (kurulu değil) Yapı Sunucusu: x86-03.phx2.fedoraproject .org Grubu: Uygulamalar/Düzenleyiciler Kaynak RPM: joe-3.7-5.fc13.src.rpm Boyut: 1177186 Lisans: GPLv2+ İmza: RSA/SHA256, Çar 28 Temmuz 2010 21:59:42, Anahtar Kimliği 421caddb97a1071f Paketleyici: Fedora Projesi URL: http://sourceforge.net/projects/joe-editor/ Özet: Kullanımı kolay, modsuz bir metin editörü Açıklama: Joe güçlü, kullanımı kolay, modsuz bir metin editörüdür. Borland'ın geliştirme ortamında kullanılan aynı WordStar tuş atamalarını kullanır.

Ek seçenek f, belirli bir dosyanın ait olduğu paketin adını belirtmenizi sağlar:

$ rpm -qf /usr/lib/rpm/rpm2cpio.sh rpm-4.8.1-5.fc14.x86_64

Gerekirse rpm paketinin man sayfasında bulunan sorgu modunda daha birçok seçenek mümkündür.

Kontrol modu...

...kurulu paket için bütünlük kontrolleri sağlar. Bu, dosyalarını tür, boyut, sağlama toplamı (MD5), sahiplik ve erişim öznitelikleri gibi parametreler açısından orijinal paketteki benzerleriyle karşılaştırarak yapılır. Bu kip için ana seçenek -V'dir; ek seçenekler olmadan, belirtilen paket adıyla, dosyalarının dosya hiyerarşisindeki doğru konumunu kontrol eder.

Kontrol başarılı olursa, yani yüklenen ve orijinal dosyalar tamamen eşleşirse, hiçbir mesaj görüntülenmez - yalnızca bir komut satırı istemi döndürülür. Aralarında herhangi bir parametrede tutarsızlıklar bulunursa, sembolik biçimde gösterilecektir. Uyumsuzluklar şu şekilde işaretlenir:

  • 5 - MD5 sağlama toplamı
  • S-boyutu
  • L - sembolik bağlantı
  • T - dosya değişiklik tarihi
  • D - cihaz
  • U - kullanıcı
  • G grubu
  • M - modu (izinler ve dosya türü dahil)
  • ? - dosya okunamadı

Çakışan parametreler tek bir nokta ile gösterilir. Ne yazık ki, örnekler veremem - hangi pakette kontrol etmek için kurcalamıyorum, her şey ona göre çıkıyor. Ve bilerek bozmak istemiyorum.

Ayrıca, bir mesajın çıktısı her zaman kurulan pakette bir sorun olduğu anlamına gelmez. Örneğin, modal rpm paketimizi şu komutla doğrulamaya çalışırsak:

$ rpm -V rpm

çıktıda aşağıdakileri göreceğiz:

Ön bağlantı: /bin/rpm: dosyanın bağımlılıklarından en az biri, S'nin ön bağlantısının yapılmasından bu yana değişti.?...... /bin/rpm ön bağlantısı: /usr/bin/rpm2cpio: dosyanın bağımlılıklarından en az biri değişti S.?...... /usr/bin/rpm2cpio ön bağlantısından bu yana değişti

Bu, rpm paketinin yürütülebilir dosyalarının, kurulduktan sonra önceden bağlandığı anlamına gelir (ön bağlantı - nedir, size zamanla anlatacağım). Sonuç olarak, elbette orijinal paketteki isimleriyle kimliklerini kaybettiler.

Ek doğrulama modu seçenekleri, belirli bir dosyayı doğrulamanıza olanak tanır:

$ rpm -Vf /usr/bin/rpm2cpio

kurulu paketi orijinal rpm paketiyle karşılaştırın:

$ rpm -Vp path2/full_packagename

ve ayrıca kurulu tüm paketlerin tam kontrolünü yapın:

# rpm -Va

Son komutun çıktısı çok uzun olacağından, less veya most gibi bir komutla rootway'de kullanılması tavsiye edilir. Yalnızca paketleri bulmak için de grep yapabilirsiniz; yukarıda listelenen kriterlerden birinde orijinal ile tutarsızlıklar içeren. Örneğin, komut yapısı

# rpm -Va | grep S

çıktıya, boyut olarak orijinallerden farklı olan paketlerin bir listesini ve boru hattını verecektir.

# rpm -Va | grep 5

sağlama toplamlarındaki farklılıkları algılar.

Ek a seçeneğini kullanırken komut satırı isteminin görünümündeki değişikliğe dikkatinizi çekiyorum: önceki doğrulama komutları genellikle sıradan bir kullanıcı adına çalıştırılıyorsa, yönetici ile tüm paketlerin tam doğrulamasını gerçekleştirmek daha iyidir haklar, çünkü sistemin bazı dosya ve dizinlerine erişme hakkına yalnızca kendisi sahiptir.

Listelenenlere ek olarak, bir dijital imzayı ve ortak anahtarları doğrulamak için daha birçok seçenek vardır - her zamanki gibi, bunlar man (8) rpm sayfasında bulunabilir.

Kurulum ve güncelleme modları…

… yakından ilişkilidir. Başlıca seçenekleri şunlardır:

  • -i (kurulumdan - isteğe bağlı sorgu kipi seçeneğiyle karıştırılmamalıdır) sistemde bulunmayan bir paketi kurar;
  • -F kurulu paketi daha "taze" bir sürüme güncelleyin;
  • -U jenerik yükleme ve yükseltme seçeneği: bunun kullanılması kurulu bir paketi yükseltecek ve kaldırılmış bir paketi kuracaktır.

-i ve -F seçeneklerinin kapsamlarının kesin olarak sınırlandırılması önemlidir: Sistem, aynı adlı paketin eski bir sürümüne sahipse, birincisine sahip komut yürütülmeyi reddedecektir. Ve tam tersi - sistemde önceki sürüm yüklü değilse, ikinci seçeneğe sahip komut bir hata mesajı verecektir. Bu nedenle, genel -U seçeneği en yaygın şekilde kullanılır. Açıkçası, bu seçeneklerden herhangi biriyle komutları başarıyla yürütmek için yönetici ayrıcalıkları gereklidir.

Yükleme ve yükseltme komutlarının bağımsız değişkenleri, paket dosyalarının tam adları ve bunlara giden yerel yol olmalıdır veya ağ adresi. Argümanlar, yani kurulacak veya güncellenecek paketler, genel durumda, istediğiniz kadar belirtebilirsiniz. Ve bazı durumlarda, bir komutta iki argüman belirtmek bir zorunluluktur.

Rpm yardımcı programının paketleri yalnızca yüklemediğini, aynı zamanda bağımlılıklarını da kontrol ettiğini daha önce belirtmiştim. Maalesef bunlara izin vermiyor, sadece ihlalleri bildiriyor. Örneğin, kdebase'i yüklemek için kafa kafaya bir girişim

Devir -ihv

karşılanmayan bağımlılıkların uzun bir listesini üretecektir:

http://mirror.yandex.ru/fedora/linux/releases/14/Fedora/x86_64/os/Packages/kdebase-4.5.2-2.fc14.x86_64.rpm alınıyor hatası: Başarısız bağımlılıklar: kdebase-libs(x86) -64) = 6:4.5.2-2.fc14, kdebase-6:4.5.2-2.fc14.x86_64 için gereklidir

Bu, dedikleri gibi, bir yaşam meselesidir ve böyle bir durumun nasıl çözüleceği açıktır. Bu kadar karmaşık bağımlılıklara sahip bu kadar büyük paketleri doğrudan rpm aracılığıyla kurmak nankör bir iştir, bunun için başka araçlar icat edilmiştir. Örneğin, zamanla ulaşacağımız yum .

Daha farklı durumlar vardır: Görünüşte basit bir paket, onu yüklemeye çalışırken bağımlılık olarak başka bir paket gerektirir. Ve bu da, ilkinin yokluğuna atıfta bulunduğu için kurulmayı reddediyor. Şimdi, deneysel sistemlerimden birini rawhide sürümüne yükseltmeye başladığımda, fedora-release-rawhide-15-0.3.noarch.rpm paketinin fedora-release olmadan kurulmak istemediği gerçeğiyle karşılaştım. -15-0.3.noarch.rpm - ve tersi.

Bu gibi durumlarda, birbirine bağlı tüm paketleri tek bir komutun argümanları olarak belirtmek gerekir:

# rpm -ivh http://URL/path2/(fedora-release-15-0.3.noarch.rpm, fedora-release-rawhide-15-0.3.noarch.rpm)

Ve tipik olarak, isimlerin sırası herhangi bir piyano çalmaz - birbirine bağlı tüm paketler belirtilirse, hepsi başarıyla kurulacaktır.

Son komutta, beklenmedik bir şekilde ve uyarı yapılmadan iki seçenek belirdi - v ve h . Bununla birlikte, ilkinden daha önce bahsedilmişti - bu ek tüm mod seçeneği, herhangi bir görevin ilerleyişi hakkında ayrıntılı mesajların görüntülenmesini öngörür. Ve -h (veya --hash) seçeneği, bu çıktıyı temsil etmek için uygun bir yol sağlar.

Ana kurulum ve güncelleme seçenekleri, daha birçok ek seçeneğe dayanır, ancak bunların arkasında, her zaman olduğu gibi, Mana Teyze vardır.

Silme modu...

… genellikle yükleme ve güncelleme modları kadar popülerdir. Ancak görev zor değildir ve genel durumda şu şekilde gerçekleştirilir:

# rpm -e pkgname

Temel paket adı burada yeterlidir, ancak süper kullanıcı hakları açıkça gereklidir.

Kaldırma sırasında bağımlılıklar bozulursa bir hata mesajı görüntülenir:

Hata: Başarısız bağımlılıklar:

Tabii ki, isteğe bağlı --nodeps seçeneği ile göz ardı edilebilir. Veya, haklı olduğunuzdan tamamen eminseniz, satıra silme komutlarını ve silme bağımlılıklarıyla ilişkili anlaşmaların dosyalarının adlarını girin.

Bununla birlikte, tüm bunlar sonuçlarla doludur - bu nedenle, belirsiz durumlarda, dosyaları silmek için rpm komutuna başvurmamak daha iyidir. Öte yandan, daha önce de belirtildiği gibi, kullanıcının titrememesi için yum vardır.

havuzlar

Rpm yardımcı programı, öncelikle herhangi bir kaynaktan - yerel veya ağdan (örneğin, geliştirici sitelerinden), ancak esas olarak öncekinden ayrı paketler yüklemek için tasarlanmıştır. Yum paket yönetim sistemi ise paket depolarına ve özellikle ağ depolarına erişmeye odaklanmıştır. Yerel depolarla kullanımı da yasak olmasa da.

havuz nedir

Öncelikle depo nedir sorusuna cevap vermeye çalışalım. Bugünün varlığı için, dağıtımı tanımlayan ana işaretlerden biridir.

Rusçaya tercüme edilen kelime havuz araç depolamak- ve dili saf tutanlar tarafından kullanılması tavsiye edilir (onlar kendilerine gramer Nazi). Ancak, hayatta genellikle olduğu gibi, halk arasında onlar için farklı bir isim kurulmuştur - depolar veya bizim dilimizde Brezilya Kiril alfabesiyle konuşursak, Şalgam. Neden çoğul olarak - sonraki hikayeden anlaşılacaktır. Eşanlamlı olarak terimini tercih ederim. cehennem çukuru.

Deponun kendisi, belirli bir dağıtım için özel olarak oluşturulmuş paketleri depolamak için ücretsiz (yalnızca ücretsiz sistemlerden bahsediyoruz) erişimin mümkün olduğu bir yer olarak gerçekten ilk yaklaşım olarak tanımlanabilir.

Ancak paketleri depolayan sunucunun kullanılabilirliği depo olarak adlandırılmak için yeterli değildir. Bir havuzdaki paketler, dağıtıma özgü belirli ilkelere göre yapılandırılmalıdır. Depolama sistemleri, yenilenmelerini, güncellenmelerini ve en önemlisi, paketlerin bağımlılıklara göre bütünlüğü ve tutarlılığı ve dağıtımın şu anda desteklenen tüm sürümleri için destek sağlamalıdır.

Başka bir deyişle, havuzdaki paketlere, dağıtımın paket yönetim sistemi ve paketleme sistemi tarafından kullanılan veritabanları eşlik etmelidir.

Ek olarak, bariz sebeplerden dolayı havuzun birkaç bağımsız sunucuya yansıtılması oldukça arzu edilir. Doğru, bu vazgeçilmez bir gereklilik değil. Ancak aynaların varlığı, depo kelimesinin çoğul olarak kullanılmasının sebeplerinden biridir.

Şimdi tüm bu genel hususların pratikte nasıl göründüğünü görelim - Fedora depolarıyla ilgili olarak.

Depoların fiziksel yapısı

Fiziksel olarak Fedora depoları, ftp veya http sunucularında iç içe geçmiş bir dizi alt dizindir ve bazen oldukça karmaşık ve tamamen şeffaf olmayan bir yapıya sahiptirler. Kullanıcı için bunu bilmek gerekli değildir - ancak bazı acil durumlarda gereksiz olmayacaktır. Ve bu yapı hiçbir yerde, en azından Rusça'da tanımlanmadığından, ona biraz dikkat edeceğiz.

Ancak sabırsız okuyucular, havuzların mantıksal yapısıyla ilgili bir sonraki bölüme atlayabilirler. Ve sadece gerektiğinde mevcut forma.

Ana havuzun yapısı

Tabiri caizse, paketlerin depolanması, tahmin edebileceğiniz gibi, adreste ve daha iç kısımda yer almaktadır. Bununla birlikte, pratikte, kullanıcı neredeyse hiçbir zaman oraya gitmez: paket yönetimi bölümünde göreceğimiz gibi, bu sistem onu ​​otomatik olarak gönderir ...

hayır, ahlaksızlığının ölçüsünde düşündüğün yerde değil, en hızlı aynada. Dahası, şu anda fiziksel olarak ve kesin olarak en hızlı olanıdır - çünkü bölgesel bağlılık ve diğer resmi işaretlerle değil, gerçek bir talebe verilen yanıtla kontrol edilir. Tabii yum için uygun eklenti kurulu değilse - ama bunun hakkında biraz sonra konuşacağız.

Bu nedenle, tarayıcı satırına http://download.fedoraproejct.org gibi bir şey yazarak, Sovyet kullanıcımız http://mirror.rec.ru/fedora/linux/ (veya belki hatta ve hiç ru değil). Nehrin bu adının adını söylemeyeceğim - olası seçeneklerin tam listesi burada görülebilir http://mirrors.fedoraproject.org/publiclist . Ve bunlardan birini tercih etmek, Shurik'in dediği gibi, diğerine haksızlık yapmak demektir. nehir adı.

Doğal olarak hepsinin yapısı nehirlerin adı aynıdır, öyle ki herhangi bir ayna örneğinde düşünülebilir.

Böylece, bir kez recname/fedora/linux/ üzerinde aşağıdaki dizinleri görüyoruz:

Tahmin edebileceğiniz gibi, geliştirme dizini geliştirme aşamasında olan paketleri içerir ( /development/rawhide/ alt dizini burada önemlidir, zamanı gelince döneceğiz) ve en son güncellenenler güncellemeler dizinine yerleştirilir. . Ancak yayınlar dizini tam olarak şu anda ilgilendiğimiz şeydir.

12 13 14

ve bir test alt dizini. Bazen boştur, içindeki içerik bir sonraki sürümün alfa sürümü geliştirilen daldan (aynı ham deri) ayrıldığında görünür.

Hiyerarşik ağaca tırmanmaya devam edelim. Sürüm dalında aşağıdaki alt dizinleri görüyoruz:

Her şey Fedora Canlı

İlki paketleri içerir çeşitli versiyonlar ve sürümün ömrü boyunca üretilen yapılar. İlki, adından da anlaşılacağı gibi, mevcut paket oluşturma güncellemelerini içerirken, ikincisi, desteklenen her iki mimari (i686 ve x86_64) için LiveCD görüntüleri içerir. Ve bunun hakkında ve bir başkası hakkında zamanında konuşulacak. Ancak Fedora dizini boyunca daha da tırmanacağız - özellikle de proje sunucularındaki herhangi bir dizinin organizasyonuna örnek olarak kabul edilebileceği için.

Böylece, fedora/linux/releases/14/Fedora/ dizininde aşağıdaki alt dizinleri görebilirsiniz:

I386 kaynağı x86_64

İkincisi, ayrıca ayrıca ele alınacak olan rpm kaynak paketlerini (*.src.rpm olarak adlandırılır) içerir. Birinci ve üçüncü, sırasıyla 32 ve 64 bit mimariler için derlemeler içerir. Açıkçası, içleri kesinlikle aynı, bu yüzden daha güncel x86_64 mimarisi örneğini kullanarak içlerini ele alacağız.

ISO jigdo işletim sistemi

İlki kurulum disklerinin görüntülerini içerir - DVD, CD seti ve ağ kurulumu için disk (netinst), sistemin kurulumu ile ilgili bölümde ele alınacaktır. İkincisi, büyük dosyaları (bu durumda, aynı kurulum disklerinin görüntüleri) dağıtmak için bir sistem olan jigdo (Yapboz İndirme) için meta veri dosyalarını içerir ve öncekiyle aynı amaca hizmet eder. Üçüncüsü, Paketler alt dizininde aslında gerekli paketler bulunur.

Ek olarak, fedora/linux/releases/14/Fedora/x86_64/os/ dizininde, kimlik doğrulama için GPG anahtarları, havuz açıklama dosyaları (repodata ve repoview alt dizinlerinde), dosyanızı oluşturmak için dosyalar gibi hizmet dosyalarını görebilirsiniz. şu anda bizi ilgilendirmeyen kendi görüntüleri önyükleme diskleri (images ve isolinux alt dizinlerinde).

Paketler dizininin içeriğine gelince, doğrudan Fedora projesi tarafından desteklenen rpm paketleri ile temsil edilir.

RPMFüzyon Depo Yapısı

Ancak ana depo, dağıtımımız için mevcut olan paketlerin listesini tüketmez. Ayrıca, bağımsız bir proje olan RPMFusion'un bir parçası olarak gönüllüler tarafından tutulan ek paketler için bir havuz da bulunmaktadır.

Ek paketlerin asıl deposu . İçinde iki dizin görüyoruz - özgür ve özgür olmayan. İlki koşulsuz ücretsiz yazılım için tasarlanmıştır (bu arada, ana Fedora deposunda yalnızca böyle olanlar vardır), ikincisi, dağıtımı bazı kısıtlamalara tabi olan yazılım içindir. Tam olarak ne - bu konuya geri döneceğiz.

Her iki dizinin iç yapısı aynıdır. El ve fedora alt dizinleri vardır. İlki, RHEL'den desteklenen paketleri içerir ve şu anda bizi ilgilendirmiyor. İkincisi, alt dizinleri içerir:

Geliştirme/ sürümler/ güncellemeler/

depo açıklama dosyalarının yanı sıra.

Dizinlerin amacı, adlarından aşağı yukarı açıktır (bu konuya geri döneceğiz), bu nedenle yalnızca sürümler dizinine odaklanacağız. Ana depoda tutulanlardan çok daha "derin" olanlar da dahil olmak üzere, en son sürümlerden yarım düzine alt dizine sahiptir. Her birinde tek bir Everything alt dizini göreceğiz. Ve içinde - zaten tanıdık olan "mimari" alt dizinler:

hata ayıklama/os/

İlkinde, tahmin edebileceğiniz gibi, şu anda bizi ilgilendirmeyen hata ayıklama bilgileri var. Ancak ikincisi - gerçek paketler. Ana depo açıklama paketi - rpmfusion-free-release dahil. Kurulumu kesin olarak bu "şalgam" bağlantısına yol açan kişi. Ve özgür olmayan dizinin karşılık gelen alt dizininde, benzer bir paket buna göre adlandırılacaktır - rpmfusion-nonfree-release .

RFRemix veri havuzu yapısı

Orijinal Fedora kullanıcılarına saf formu listelenen depolar yeterlidir. Bununla birlikte, Rusça konuşan vatandaşlarımız için, zorunlu değilse de, arzu edilenden daha fazlası, russianfedora deposu.

Aşağıdaki adreste aynı isimli dizinde bulunur (bildiğim kadarıyla şimdiye kadarki tek adres). Ve yapısı şu şekildedir: ilk yuvalama seviyesinde alt dizinler vardır.

  • havuz açıklama dosyaları ile derleme/
  • kurulum disklerinin ve LiveCD'nin görüntüleri ile sürümler/ ve
  • russianfedora/ gerçek paketleri içerir.

Şu anda sadece son alt dizinle ilgileniyoruz. Üç alt dizin içerir:

  • bir yandan orijinal Fedora'nın temel ve ek paketleri ile diğer yandan RFRemix arasındaki bir tür deltayı temsil eden düzeltmeler/ ;
  • free/ , Russian Fedora projesinin tamamen ücretsiz paketleri için tasarlanmıştır;
  • nonfree/ , dağıtımı bazı ülkelerin yasalarıyla (ancak bizimkiyle değil) kısıtlanan Rus Fedora projesinin paketleri için tasarlanmıştır.

Üç kategorinin de bileşimi bir sonraki bölümde daha ayrıntılı olarak tartışılacaktır - şimdilik yalnızca ilgili dizinlerin fiziksel yapısıyla ilgileniyoruz.

Aynıdır: her biri, RPM Fusion'dakiyle aynı amaca sahip el/ ve fedora/ alt dizinlerini içerir. Buna karşılık, fedora/ alt dizini, geliştirme/ , sürümler/ ve güncellemeler/ alt dizinlerine sahiptir ve releases/ alt dizini, şu anda 10'dan 15'e kadar olan ana sürüm numaraları için dizinler içerir.

Her sürüm dizininde, her iki desteklenen mimari, i386/ ve x86_64/ için alt dizinler ve kaynak paketler için bir source/ alt dizini içeren Everything/ adlı tek bir alt dizin görüyoruz. Ve son olarak, bir kat aşağıda, net (yani, RPM Fusion'dakiyle aynı) amacın debug/ ve os/ alt dizinleri vardır.

Ek depolar

Yukarıda açıklanan depolar, çoğu kullanıcı için neredeyse tüm durumlar için yeterli olacaktır. Ancak bazı durumlarda ihtiyaç ek paketler, resmi "şalgamlarda" şu veya bu nedenle dahil edilmemiştir - belki de henüz dahil edilmemiştir. Günümüzün tipik bir örneği, Chromium tarayıcısıdır: RPM Fusion veya Russian Fedora'da bulunmaz.

Ve burada Fedora People deposu her şeyden önce kurtarmaya gelecek - özellikle bağımsız bakıcılar tarafından derlenen paketler için tasarlanmıştır. İçerik olarak resmi ve "yarı resmi" depolarla örtüşmüyor, ancak bildiğim kadarıyla paketleri bunlarla uyumluluk açısından test ediliyor ve bu nedenle korkmadan kullanılabilir.

Fedora People deposunun yapısı son derece basittir: belirtilen adreste, adları içerdikleri paketlerin adlarını tekrarlayan birçok dizin göreceksiniz. Bunlardan herhangi biri içinde, desteklenen sürüm aralığı için farklı durumlarda farklı olan bir dizi alt dizin olacaktır. Ve her sürümün alt dizini üç standart alt dizin içerir - i386/ , SRPMS/ ve x86_64/ depo açıklama dosyasını ve asıl paket dosyalarını içerir.

Bazı durumlarda, ATrpms deposu ilginizi çekebilir. Çok sayıda multimedya içerik paketi, özel çekirdek yapıları, Nvidia ekran kartları için çok sayıda sürücü (şirketin resmi web sitesinde artık bulunmayan eski modeller dahil) içerir. İLE tam liste paketler görüntülenebilir ve - desteklenen sürümlerin listesine bakın.

Fedora'ya adanmış makalelerde ve incelemelerde, bu dağıtım için diğer birçok ek havuza referanslar bulabilirsiniz - bunların listesi, örneğin, aynı ATrpm'lerden gelen bağlantılarda görülebilir. Ancak, neredeyse hepsi alaka düzeyini kaybetti. Bazıları (Livna, Freshrpms, Dribble) artık RPM Fusion ile birleştirildi. Diğerleri, Fedora'nın çok eski sürümleri için paketler içerir. Tigro deposu, Fedora'nın eski sürümlerinin tembel sahipleri için kendi başına yararlı olsa da, Rus Fedora'nın temeli oldu.

Depoların mantıksal organizasyonu

Fedora depolarının fiziksel yapısı, özellikle de baştaki, oldukça kafa karıştırıcı görünüyor. Neyse ki, daha önce de belirtildiği gibi, kullanıcının pratik olarak bununla uğraşması gerekmez. 99 vakada 100 tane var, şimdi ele alacağımız mantıksal organizasyonlarında gezinmesi onun için yeterli.

Program sınıflandırması

Öncelikle depo kelimesinin neden daha önce çoğul olarak kullanıldığı söylenmelidir. Ve bunun için, bu dağıtımda benimsenen paketlerin sınıflandırmasını dikkate almanız gerekir. Son derece basittir ve yalnızca iki kategori içerir.

İkinci kategoriye özgür olmayan denir - ad çok başarılı değildir, çünkü her türlü warez, sahte veya bunları kullanırken herhangi bir ödeme ihtiyacı ile çağrışımları çağrıştırır. Aslında, bu kesinlikle doğru değil. Özgür olmayan kategorisi, yalnızca özgür olanı (anlamda ücretsiz bira) ve yasal olarak dağıtılan programlar. Ancak, dağıtımlarında belirli kısıtlamalar vardır. Ve bu nedenle, FSF'nin bakış açısından, gerçekten özgür olarak adlandırılamazlar (anlamda ücretsiz kelime).

Bir yandan, yalnızca ikili biçimde dağıtılan programlar özgür olmayan kategoriye girer - herhangi bir kısıtlama olmaksızın, ancak kaynak kodları da yoktur. Bu tür programların örnekleri şunlardır: tescilli sürücüler video kartları gibi cihazlar ve ağ cihazları veya Adobe'nin Flash Movie Player'ı, Opera tarayıcısı, bazı yazı tipleri ve oyunlar.

Öte yandan, özgür olmayan kavramı, kaynak kodunda bulunan ve göründüğü kadarıyla tamamen ücretsiz olan programları içerir. Ancak, bazı eyaletlerde dağıtımları yasal nedenlerle sınırlıdır. Bunun tipik bir örneği, algoritma patentlerini tanıyan bir ülkede patenti alınan algoritmalara dayalı multimedya codec bileşenleridir. Bunu düşünmemiş olan diğer birçok ülkede, dağıtımları kesinlikle yasaldır.

Eh, özgür ve özgür olmayan kategorileri mantıksal olarak bağımsız depolardır - ve bu terimin genellikle çoğul olarak görünmesinin ilk nedeni budur. Diğer nedenleri de bir sonraki sayfada öğreneceğiz.

Ana depolar

Öncelikle, RFRemix'i kurarken otomatik olarak bağlanan ana depolara bakalım.

Resmi olarak sürdürülen ana Fedora proje deposu, yalnızca ücretsiz kategorideki paketleri içerir. İşte bu yüzden basit ve iddiasız bir şekilde - fedora olarak adlandırılır, sürüm numarası ve hedef mimari olarak şifresi çözülür, örneğin: Fedora 15 - x86_64.

Ancak RPMFusion, hem tamamen ücretsiz hem de "özgür olmayan" paketleri içerir. Bu nedenle iki depoyu ayırır - rpmfusion-free ve rpmfusion-nonfree .

Dahili organizasyon Rus Fedora daha da "zengindir" - üç depoya sahiptir:

  • russianfedora-fixes - bunlar, fedora veya rpmfusion depolarında bulunan, ancak daha yeni veya koşullarımıza ve Kiril ortamına uyarlanmış sürümlerle sunulan paketlerdir; bu deponun paketleri özgür ve özgür olmayan olarak ayrılmamıştır;
  • russianfedora-free - fedora veya rpmfusion depolarında bulunmayan tamamen ücretsiz paketler;
  • russianfedora-nonfree - son sayfada belirtilen anlamda "tamamen ücretsiz değil", orijinal Fedora depolarında da olmayan paketler.

Bu, her sürüm için depoların ana dalıdır. Sürümler arasında güncellenen paketlerle dolu birkaç ek paket eşlik eder:

  • güncellemeler - Fedora'nın kendisi için;
  • rpmfusion-free-güncellemeleri - Rpmfusion-free için;
  • rpmfusion-nonfree-güncellemeleri - rpmfusion-nonfree için;
  • russianfedora-fixes-güncellemeleri - Rusya Fedora Düzeltmeleri için;
  • russianfedora-ücretsiz güncellemeler - Russian Fedora Free için;
  • russianfedora-nonfree-güncellemeleri - Russian Fedora Nonfree için.

Ek olarak, ana havuzların her biri, hata ayıklanmış ve test edilmiş paketlerin özel dallarına karşılık gelir: sırasıyla - ana depo için ve diğerleri için görüntü ve benzerlikte oluşturulmuş - fedora-debuginfo ve fedora-updates-testing.

Ve son olarak, ham deri depoları şubesi var. Şu anda geliştirilmekte olan dağıtımın bir sonraki sürümü için paketler içerir ve doğal olarak kararlı sürüm dallarıyla aynı havuzları içerir: fedora-rawhide , rpmfusion-free-rawhide , rpmfusion-nonfree-rawhide vb.

Yukarıda, i386 ve x86_64 mimarileri için ikili paket havuzlarına atıfta bulunulmuştur. Bununla birlikte, kaynak havuzları da vardır - fedora-source , rpmfusion-free-source vb.

"1C: Retail 8" uygulama çözümü, aşağıdaki işlemlerin kaydını otomatikleştirir:

  • malların karşı taraftan mağazanın depolarına gelmesi;
  • karşı tarafa mal ve hizmet satışı;
  • bir ticari işletmenin mağazalar, mağazaların iç depoları, mağazaları ve depoları arasında malların hareketi;
  • hem malların satışı sırasında hem de setin satış öncesi hazırlığı sırasında oluşturulan mal setlerinin ticareti;
  • kasanın kapanmasından sonraki iadeler dahil olmak üzere alıcılardan mal iadeleri;
  • emtia stoklarının envanteri;
  • doğrudan mağazalarda gelen ve giden nakit siparişlerin kaydı;
  • satış makbuzlarının kaydı ve vardiyaya iade edilen mallar dikkate alınarak kasadaki konsolide raporun değişikliğinin sonunda;
  • hareketli Para mağazalar, mağazaların iç kasaları, mağazalar ve bir ticaret kuruluşunun kasaları arasında;
  • satın alma sistemleriyle çalışmak, ödeme kartlarıyla mal ödemelerinin muhasebeleştirilmesi, satın alma anlaşmalarının muhasebeleştirilmesi ve malları iade ederken ticari imtiyazın alıcı tarafından iade edilmesi / iade edilmemesi koşulları; banka kredisi ile çalışın.
  • indirim kartlarında yüzde indirimlerin kullanımı (sabit ve kümülatif indirimler), mağazalara göre indirimler, karşı taraflar için indirimler, çek tutarında indirimler, geçerlilik süresine göre indirimler, mal miktarına göre, ödeme türüne göre.
  • ticaret ekipmanı desteği: mali kayıt memurları, veri toplama terminalleri, barkod tarayıcılar, elektronik Denge, müşteri ekranları, edinme sistemleri, manyetik kart okuyucuları.

"1C: Retail 8" uygulama çözümü, coğrafi olarak dağıtılmış bilgi tabanlarıyla (RIB) çalışabilir. Aynı zamanda, belge akışının mağazalara göre net bir şekilde bölünmesi sağlanır ve ağdaki tüm mağazalar hakkındaki bilgiler merkezi RIB düğümünde birleştirilir. Merkezi düğümü kullanarak, hızlı bir şekilde çevresel bir RIB düğümü oluşturabilirsiniz.

"1C: Retail 8" uygulama çözümü, yönetimle otomatik olarak bilgi alışverişinde bulunabilir bilgi sistemi(arka ofis). Kontrol sistemi olarak uygulamalı çözüm"1C: Retail 8" uygulama çözümü "Ticaret Yönetimi" kullanılabilir. Kontrol sistemini kullanarak, dağıtılmış bir bilgi tabanının merkezi düğümleri olabilen 1C: Retail 8 uygulama çözümünde sınırsız sayıda düğüm oluşturabilirsiniz.

Uygulanan çözümün ana düğümünden uzak RIB düğümlerinin bilgi tabanı kullanıcılarının yönetilmesi için mekanizmalar sağlanmıştır. Örneğin, RIB'nin ana düğümünde, sistem yöneticisi uzak düğümün bilgi bankası kullanıcısını kaydedebilir ve erişim haklarını yapılandırabilir.

Çoklu mağaza muhasebesinin yanı sıra, her deponun (ticaret katı) belirli bir kuruluşa (şirkete) atanabileceği çok şirketli muhasebe uygulanmıştır.

"1C: Retail 8" uygulama çözümü, depoları depolamak için malların hareketi, satışı ve teslim alınması için sipariş şemalarını kullanabilir. Sipariş şeması, depodan kabul veya sevkiyat için gerekli olan bir mal listesinin ön kaydını sağlarken, depodaki mallarla fiili işlem "Mallar için giden sipariş" veya "Mallar için gelen sipariş" belgeleriyle kaydedilir.

Mağazaların depolarındaki emtia stoklarının muhasebesi ve mağazaların kasalarındaki fonların muhasebesi otomatikleştirilir.

Uygulama çözümü, her mağaza için perakende fiyatlarını merkezi bir düğümden ayarlamanıza olanak tanır. Aynı zamanda, mağazaya, bulunduğu yere ve rekabetin varlığına bağlı olarak perakende fiyatlarını kendi başına ayarlama hakkı verebilirsiniz.

Program, fiyat etiketleri ve etiketlerin oluşumu için mekanizmalar uygular.

Uygulanan mekanizmalar otomatik algılama Mağazanın depolarından mal satışı sırasındaki KDV oranları. Vergilendirme sistemi her depo için ayrı ayrı belirlenir. Malların satışı sırasında, malların satılması gereken ticaret katı (veya depo), malların satışı ve (malların) ait olduğu terminoloji grubu için kasiyer tarafından belirlenir. Bu, karma bir vergilendirme sistemi kullanan mağazalarda belgeleri doğru bir şekilde girmeyi mümkün kılar.

"1C: Retail 8" uygulama çözümü, malların teslim alınmasından sonra operatörün, malların terminoloji grubuna bağlı olarak mağazanın depoları (ticaret katları) arasında tedariki dağıtabilmesi durumunda, malların depolar arasında otomatik dağıtımı için planlar uygular. .

Linux'un eski sürümlerinde (Red Hat tabanlı), yazılım yüklemenin yalnızca iki yolu vardı. Bu, kaynaktan derleme ve RPM paketlerinden yüklemedir. Her yöntemi daha ayrıntılı olarak ele alalım.

Kaynak kodları programın web sitesinden indirilir. Genel olarak, yüklemek için paketi açmanız ve 3 komutu çalıştırmanız gerekir: yapılandır, yapmak Ve kurulumu yap. İlk komutun birçok seçeneği vardır (bunları çalıştırarak listeleyebilirsiniz. --help'i yapılandır), programın kurulum yolu, çeşitli kitaplıklara giden yollar ve diğerleri gibi. İlk aşamayı başarıyla tamamladıktan sonra, komutu çalıştırmanız gerekir. yapmak. Kaynak kodlarını ikili dosyalarda derleyecektir. Derleme başarılı olursa, son komut derlenen dosyaları dizinlerine kopyalar. Bu kurulum yönteminin avantajı, ilk olarak, tüm kurulumların %99'unun açık kaynak- programlar kaynak kodlarında dağıtılır ve istenen programın bir RPM paketi olmayabilir (ancak şimdi RPM formatı çok yaygınlaştı ve neredeyse tüm geliştiriciler bu formatta paketler oluşturmaya çalışıyor). İkinci olarak, yüklü programın kaynaklarını her zaman düzenleyebilir, hatayı düzeltebilir veya gerekli değişiklikleri yapabilirsiniz. Tek bir eksi var - bu yöntemi kullanmak için c / c ++ programlama dilini ve işletim sistemi mimarisini bilmeniz gerekiyor. Bu nedenle, özellikle herhangi bir hata varsa, herkes bu yöntemi kullanamaz.

Bir RPM paketinden yükleme şu şekilde yapılır: RPM paketini indirmeniz ve yalnızca bir komut çalıştırmanız gerekir: rpm -Uvh ./paket_adı.rpm(Nerede paket_adı paket dosyasının adıdır). Bu yöntem yalnızca çok daha kolay değil, aynı zamanda daha hızlıdır çünkü program zaten pakette derlenmiştir (bilgisayarınızın gücüne bağlı olarak programı derlemek oldukça uzun zaman alabilir). Bununla birlikte, yöntem de ideal değildir, çünkü çoğu zaman bir programın kurulumu için başka paketlerin de kurulması gerekir (örneğin, gerekli kitaplıklarla birlikte) - sözde bağımlılıklar ortaya çıkar. Bir program bir kitaplık gerektiriyorsa sorun değil, ancak program 10 veya daha fazla kitaplık gerektirebilir ve bunların her biri de kitaplıkların yüklenmesini gerektirebilir. Bu nedenle, programın kurulum süresi büyük ölçüde gecikebilir.

Bununla birlikte, Fedora'nın son sürümlerinde, yum gibi bir konsol yardımcı programının ortaya çıkmasıyla, program yüklemek bir zevktir. Bunu yapmak için konsola aşağıdaki komutu yazmanız yeterlidir: yum yükleme adı(Nerede isim- yüklenecek programın adı). Sadece bu da değil yum internetten gerekli paketi indirip programı kuracak bunun için gerekli tüm programları da indirip kuracaktır. Konsolu kullanmayı sevmiyorsanız, örneğin KDE'de, programı menüden çalıştırın. Sistem / Yükle / Kaldır programlar ve GUI'yi kullanarak programı kurun.

Tarihsel olarak öyle oldu ki, paketleri farklı dağıtımlara yükleme süreci önemli ölçüde farklılık gösteriyor. Ve kurulum paketlerinin kendileri farklı biçim. Bu makale, Fedora dağıtımının (Kaynak) kullanıcıları için yararlı olacaktır.

Linux'un eski sürümlerinde (Red Hat tabanlı), yazılım yüklemenin yalnızca iki yolu vardı. Bu, kaynaktan derleme ve RPM paketlerinden yüklemedir. Her yöntemi daha ayrıntılı olarak ele alalım.

Kaynak kodları programın web sitesinden indirilir. Genel olarak, yüklemek için paketi açmanız ve 3 komutu çalıştırmanız gerekir: yapılandır, yapmak Ve kurulumu yap. İlk komutun birçok seçeneği vardır (bunları çalıştırarak listeleyebilirsiniz. yapılandırma -yardım), programın kurulum yolu, çeşitli kitaplıklara giden yollar ve diğerleri gibi. İlk aşamayı başarıyla tamamladıktan sonra, komutu çalıştırmanız gerekir. yapmak. Kaynak kodlarını ikili dosyalarda derleyecektir. Derleme başarılı olursa, son komut derlenen dosyaları dizinlerine kopyalar. Bu kurulum yönteminin avantajı, öncelikle, tüm açık kaynaklı programların% 99'unun kaynak kodlarında dağıtılması ve istenen programın bir RPM paketi olmayabilir (ancak şimdi, RPM formatı çok yaygınlaştı ve neredeyse tüm geliştiriciler bu formatta paketler oluşturmaya çalışın). İkinci olarak, yüklü programın kaynaklarını her zaman düzenleyebilir, hatayı düzeltebilir veya gerekli değişiklikleri yapabilirsiniz. Tek bir eksi var - bu yöntemi kullanmak için c / c ++ programlama dilini ve işletim sistemi mimarisini bilmeniz gerekiyor. Bu nedenle, özellikle herhangi bir hata varsa, herkes bu yöntemi kullanamaz.

Bir RPM paketinden yükleme şu şekilde yapılır: RPM paketini indirmeniz ve yalnızca bir komut çalıştırmanız gerekir: rpm -Uvh ./paket_adı.rpm(Nerede paket_adı paket dosyasının adıdır). Bu yöntem yalnızca çok daha kolay değil, aynı zamanda daha hızlıdır çünkü program zaten pakette derlenmiştir (bilgisayarınızın gücüne bağlı olarak programı derlemek oldukça uzun zaman alabilir). Bununla birlikte, yöntem de ideal değildir, çünkü çoğu zaman bir programın yüklenmesi için başka paketlerin de yüklenmesi gerekir (örneğin, gerekli kitaplıklarla birlikte) - sözde bağımlılıklar ortaya çıkar. Bir program bir kitaplık gerektiriyorsa sorun değil, ancak program 10 veya daha fazla kitaplık gerektirebilir ve bunların her biri de kitaplıkların yüklenmesini gerektirebilir. Bu nedenle, programın kurulum süresi büyük ölçüde gecikebilir.

Bununla birlikte, Fedora'nın son sürümlerinde, yum gibi bir konsol yardımcı programının ortaya çıkmasıyla, program yüklemek bir zevktir. Bunu yapmak için konsola aşağıdaki komutu yazmanız yeterlidir: yum yükleme adı(Nerede isim– kurulacak programın adı). Sadece bu da değil yum internetten gerekli paketi indirip programı kuracak bunun için gerekli tüm programları da indirip kuracaktır. Konsolu kullanmayı sevmiyorsanız, örneğin KDE'de, programı menüden çalıştırın. Sistem / Yükle / Kaldır programlar ve GUI'yi kullanarak programı kurun.

Linux Fedorası günümüzün en popüler dağıtımlarından biridir linux yeni teknolojileri test etmek için. Ürün Linux Fedorası ilgili programların ve genel istikrarın bir kombinasyonu nedeniyle kullanıcıların güvenini haklı olarak kazandı. Dağıtım, özgür yazılımdan eksiksiz bir işletim sistemi oluşturmaya odaklanmıştır.

Proje Linux Fedorası ticari bir dağıtım için bir test üssüdür Kırmızı Şapka Şirketi linux: yeni özellikleri eklemeden önce RHEL görünmeleri gerekir Fötr şapka. Amaçlanan değişiklikler Red Hat EnterpriseLinux,Önce bu dağıtımda test edilirler.

Çözüm Linux Fedorası programların gelişmiş sürümleriyle çalışmayı tercih edenler için tasarlanmıştır. yeni sürümde Linux Fedora 13, çevre birimlerinin kurulması, Rusça ve diğer dillerde yerelleştirme, kullanıcı hesaplarıyla çalışma, İnternet üzerinden bir dağıtım kitinin kurulması gibi alanları etkileyen birçok iyileştirme yapılmıştır.

Linux Fedora 13'teki yenilikler

  • ile tam entegrasyon paket kiti. Brasero artık eksik codec bileşenlerini otomatik olarak yükleyebilir Gstreamer, kayıt için gerekliyse ses CD'si. dosya silindiriçeşitli arşiv formatlarını işlemek için gerekli programları kurar;
  • Fotoğraf yöneticisi olarak kullan atış kuyusu yerine Gthumb Ve f noktası. atış kuyusu- kullanımı kolay ücretsiz yazılım masaüstü ortamı için fotoğraf yönetimi GNOME;
  • Birlikte çalışmak basit tarama Bu program Tarama, bir tarayıcı bağlamak ve bir görüntüyü veya belgeyi uygun biçimde taramak için tasarlanmıştır;
  • Yazıcı sürücülerinin otomatik kurulumu. Paralel bağlandığında veya USB Yazıcı Paket Kitiüretici ve model için doğru sürücüyü arar ve yükler.

Linux Fedora 13'e dahil olan yazılımlar:

  • Konfigüratör - sistem konfigürasyonu için bir dizi grafik yardımcı program;
  • Grafik ortamlar - KDE 4.4.2 varsayılan kullanılır GNOME 2.30.0;
  • İnternet uygulamaları - Firefox 3.6.3, Thunderbird 3.0.4, Nautilus 2.30.1;
  • Ofis uygulamaları - OpenOffice.org 3.2.0, Gimp 2.6.8;
  • Çekirdek Linux - 2.6.33.3;
  • Geliştirici Programları - Gcc 4.4.4, Glibc 2.12, GTK+ 2.20.1, Perl 5.10.1, PHP 5.3.1, Python 2.6.4, Qt-x11 4.6.2, NetBeans 6.8.;
  • Ana sunucu programları - Mysql 5.1.45, Postgresql 8.4.3, Postfix 2.7.0, Sendmail 8.14.4, Samba 3.5.2;
  • Başlatılacak programlar Windows uygulamaları - Şarap.