Varsayalım En sevdiğiniz oyun veya programın kaynak kodunu yeni indirdiniz ve keyfini çıkarabilmek için derlemek istiyorsunuz. Böyle devasa bir görev nasıl yapılır? Endişelenmeyin, bu oyunu / programı Linux'ta derlemek ve yüklemek göründüğü kadar zor değil. |
Oluşturma ve yükleme prosedürü
Bir programın kaynak kodunu her indirdiğinizde, Linux'ta genellikle tar.gz veya tar.bz2 türünde bir dosyaya sıkıştırılmış olarak gelecektir. Elbette, başka herhangi bir biçimde (örneğin zip) gelebilir, ancak genellikle kural budur.
Yani ilk adım bu dosyayı açmaktır. En kolay yöntem, Nautilus'u açıp söz konusu dosyaya sağ tıklayıp basıncı azaltmak. Ancak burada göreceğimiz yöntem, terminal tarafından kullanılan yöntemdir.
Dosya sıkıştırıldıktan sonra, erişmemiz gereken ve programın yapılandırmasını ve derlemesini başlatacağımız bir dizin oluşturulacaktır.
Tüm bunları terminalden yaptığınızda, kullanılacak komutlar şunlardır:
tar xvzf package.tar.gz (veya tar xvjf package.tar.bz2) cd paketi ./configure make make install
Bunlar, genel olarak takip edilmesi gereken komutlardır, ancak ne anlama geldiğini tam olarak anlamak için bu adımların her birini daha derinlemesine analiz etmeniz tavsiye edilir.
Adım 1: Dekompresyon
Tar.gz veya tar.bz2 uzantısı, indirdiğiniz kaynak kodunun tarball olarak da bilinen bir tar dosyasına sıkıştırıldığı anlamına gelir. Bu, kaynak kodun yayılmasını büyük ölçüde basitleştirir çünkü onu oluşturan tüm dosyalar ve klasörler tek bir dosya içinde paketlenir. Tar dosyası içinde paketlendikten sonra, bu dosya geliştiricinin zevkine bağlı olarak gz veya bz2 algoritması kullanılarak sıkıştırılır.
Bir tar.gz dosyasını açmak için şunu yazdım:
tar xvzf paketi.tar.gz
Tar.bz2 dosyası olması durumunda:
tar xvjf paketi.tar.bz2
Çoğu durumda bu, sıkıştırılmış dosyanın bulunduğu dizin içinde bir klasör oluşturur. Klasör adı, sıkıştırılmış dosyayla aynı olacaktır.
Adım 2: Yapılandırma
Tar.gz veya tar.bz2 dosyası açılarak oluşturulan klasöre girdikten sonra ...
cd klasörü
… Paketi yapılandırma zamanı. Genellikle, ancak her zaman değil (bu yüzden README ve INSTALL dosyalarını okumak önemlidir), bu, kurulum betiğini çalıştırarak gerçekleştirilir:
. / Yapılandırma
Bu betiği çalıştırdığınızda, henüz hiçbir şey yüklenmeyecek, sadece sistemi kontrol edecek ve bazı sisteme bağlı değişkenlere değerler atayacaktır. Bu değerler bir Makefile oluşturmak için kullanılır. Makefile, öykünün sonunda programın çalışmasına izin verecek ikili dosyayı oluşturmak için kullanılır.
Bu komutu çalıştırdığınızda, ekranın bir şekilde şifreli mesajlarla dolu olduğunu göreceksiniz. Hata durumunda bir mesaj görünecektir; ve her şey yolunda giderse, bir sonraki adıma geçebiliriz. 🙂
Adım 3: İkili oluşturma
Programın yürütülebilir dosyasından başka bir şey olmayan ikili dosyayı oluşturmanın zamanı geldi. Başka bir deyişle, bu prosedür, yüksek seviyeli bir programlama dilinde yazılmış dosyaların saf sıfırlara ve birlere, yani bilgisayarımızın anladığı tek dile dönüştürülmesini içerir.
yapmak
Bu komutun başarılı olabilmesi için önceki adımın başarılı olması gerekir. Makefile olmadan make başarısız olur. Bu nedenle kurulum betiğinin başarılı bir şekilde çalışması çok önemlidir.
Evet, ekran yine garip mesajlarla dolacak ve tamamlanması muhtemelen biraz zaman alacaktır. Bu, programın boyutuna ve bilgisayarınızın hızına bağlı olacaktır.
4.Adım: Kurulum
Elbette, çalıştırılabilir dosyaya sahibiz ancak yüklemesi eksik. Bu adım, yönetici ayrıcalıkları ile yapılmalıdır.
sudo make install
Bu varsayımsal durumda olduğu gibi, yapılandırma dosyasında herhangi bir değişiklik yapmadık, program varsayılan klasöre yüklenecektir. Genel olarak, bu genellikle / Usr / local / bin çünkü programın adını yazarken herhangi bir taraftan bunun yürütülmesine izin verir (programın tam yolunu girmek zorunda kalmadan).
Adım 5: Yürütme
Hayır, biz kimseyi öldürmedik. Bu, tüm yapım ve kurulum sürecinin basitçe doruk noktasıdır. Özenle ikiliye çevirdiğimiz programı çalıştırmak için şunu yazdım:
./program adı
Program / usr / local / bin dışında başka bir klasöre yüklenmişse, programın tam yolunu girmeniz gerekir.
Çiftliği temizlemek
Disk alanınız çok çok azsa, ikili oluşturma işlemi sırasında oluşturulan tüm dosyaları silmek isteyebilirsiniz. Bu durumda, dosyayı açarak oluşturulan klasöre eriştim ve şunu yazdım:
temiz yapmak
Not: Makefile dosyanızı sakladığınızdan emin olun. Bu dosya, ileride programı kaldırırken gerekli olacaktır.
Kaldırma
Program beklediğimiz gibi değildi ve onu sistemimizin önünden silmek istiyoruz. Nasıl? Az önce kurduğum program Yazılım Merkezinde veya Synaptic'te görünmüyor mu? Ve şimdi?
Makefile dosyanızı silmediyseniz, programı kolayca kaldırmanız mümkündür. Dosyayı açarken oluşturulan klasörün içine şu komutu yazdım:
kaldırma yap
Şanssızsanız ve kaldırma işlemi başarısız olduysa, dosyaları elle silmekten başka seçenek kalmayacaktır. Gerçek bir baş ağrısı. Bu dosyaların nerede bulunduğunu öğrenmek için Makefile dosyanıza bakabilirsiniz.
Makefile dosyasını sildiyseniz, en iyisi programı yeniden yüklemek ve ardından kaldırma yapmak, çünkü bu Makefile'ı yeniden oluşturacaktır. Aynı konfigürasyonları (bu durumda hiçbiri) kullanarak kurmayı unutmayın. . / Yapılandırma.
İyi öğretmek size çok teşekkür ederim, her zaman Linux'ta başladığımızda ana sorunlardan biri nasıl derleneceğidir, iyi açıklanmış, ancak beni oku veya kur'u okumanız tavsiye edilir ...
İyi öğretmek size çok teşekkür ederim, her zaman Linux'ta başladığımızda ana sorunlardan biri nasıl derleneceğidir, iyi açıklanmış, ancak beni oku veya kur'u okumanız tavsiye edilir ...
«Şanssızsanız ve kaldırma işlemi başarısız olduysa, dosyaları elle silmekten başka seçenek kalmayacaktır. Gerçek bir baş ağrısı »
Makefile'ı yeniden oluşturacağımız için onu yeniden kurmanız ve ardından "make uninstall" yapmanız daha tavsiye edilir. Yapılandırmada aynı yapılandırmaları (bu durumda hiçbiri) kullanarak kurmak önemlidir.
şimdi programın adını girerek çalıştırmak istemiyor, ancak masaüstüne bir kısayol oluşturmak istiyorsanız veya uygulama menüsünde görünmesini istiyorsanız nasıl yaparsınız?
Selamlar!
İyi öğretici. Şimdi ben bile derleyebilirim.
İkinci adımın benioku (RTFR xD) okumak olacağını düşünüyorum ve bu en temel olanıdır, çünkü birçok programın kurulumda uymanız gereken bağımlılıkları vardır veya bazı ekstra adımlar gereklidir veya bu da iyidir bizi ilgilendirebilecek marka için iyi seçenekler sunduğu için okursunuz.
Selamlar!
Tamamen! Bu yüzden her zaman README ve INSTALL okumanızı tavsiye ederim.
Haklısın. Bu, Makefile'a sahip olmamanız durumunda. Makefile'a sahip olsam bile başka bir nedenle kaldırılamadığından bahsediyordum.
Her neyse, çok alakalı ve doğru olduğunu düşündüğüm gönderiye yorumunuzu ekleyeceğim.
Bir kucak ve yorum yaptığınız için teşekkürler! Paul.
Tudo bem Krafty! Kimse gücenmez. Bu yazıyı blogda hiçbir zaman konuyu ele almadığım için yazdım. Her neyse, tavsiye ettiğiniz konuları not alıyorum (bazıları çok iyi). Elbette çok da uzak olmayan bir gelecekte onlar hakkında yazacağım.
Büyük bir kucak ve yorumlarınızı bıraktığınız için teşekkür ederiz! Paul.
Kabalık etmek istemem ama bu konu bu yıl şimdiye kadar birkaç kez tartışıldı.
Sadece bir ozan yapmak için yorum bırakmadığımı görebilmeniz için bazı konular öneriyorum.
- IP üzerinden telefon
- Farklı Torrent İstemcileri (hangisini seçmeli).
- Konsolda defalarca sahip olduğumuz şeylerin komut dosyalarının oluşturulması.
- Önyükleme sırasında Linux'u daha hızlı başlatması için çekirdekteki modülleri kaldırın.
Umarım kimseyi kırmadım / rahatsız etmedim
harika, linux ile gevşemeye başlayan bizler için harika
Evet Genel olarak, bunlar README'de ayrıntılı olarak açıklanmıştır. Aksi takdirde, derlerken bir hata görünecek ve hataya bağlı olarak (hangi kütüphanenin eksik olduğunu söyleyecektir) uygun bağımlılığı yüklememiz gerekecektir.
Sarılmak! Paul.
Krafty, şüphesiz gerçekten kötüsün Böyle bir öğreticiyi bu kadar açık ve açıklayıcı nerede gördünüz? benim için mükemmel, salu2,
Rehber için çok teşekkür ederim! Bazı şeyleri netleştirmeme yardımcı oldu 🙂
Bu arada, bağımlılıklar sorununu çözmek için benim için oldukça işe yarayan bir ipucu, her şeyden önce 'sudo apt-get build-dep program_name' yapmaktır; Tüm dağıtımlarda işe yarayıp yaramadığını bilmiyorum, onu Debian'da kullandım (Kararlı dalın arkaik depolarını hafifletmek için yakın zamanda MuseScore 1.2'yi derlediğim Squeeze ... 😉
Daha bilgili birinin daha ince ayrıntılar verebileceğini hayal ediyorum 🙂
Selamlar!
Derlemeden önce programın ihtiyaç duyduğu bağımlılıkları hesaba katmamalı mıyız?
Linux kullanırken çok az zamanım var ve bu benim en büyük şüphelerimden biri, bu konuyla ilgili herhangi bir gönderi bulamadığım için bu çok yardımcı olacak 😀
ya da biliyor musun?
Şerefe ..
harika, bu gönderiyi görmemiştim, ancak bunun nedeni tip 1 hatası veya tip 2 hatası
Başka bir yöntem yok mu?
Bu yöntemi zaten başarıyla kullandım. Sorun şu ki, bu sistemi kullanmayan birçok kaynak kodu programı var, bizde configure betiğine sahip değiliz. Bunları nasıl derleyeceğimi merak ediyorum.