Linux'ta Git Kullanarak Yazılım Nasıl Kurulur
Yayınlanan: 2022-01-29Size “repoyu klonlamanız ve oluşturmanız” söylendi mi ve daha sonra ne yapacağınızı bilmiyor musunuz? Yeni başlayan biri olsanız bile, bu programı GitHub'da Linux üzerinde nasıl çalıştıracağınızı göstereceğiz.
Bir bilgisayar programını oluşturan yönergeler yazılır, düzenlenir ve metin dosyalarına kaydedilir. Derleyici adı verilen bir program daha sonra bu dosyaları işler. Bu, programın yürütülebilir sürümünü üretir. Talimatların metin dosyalarına kaynak kodu denir. Programın bir bilgisayarda gerçekten çalışabilen sürümüne ikili veya yürütülebilir dosya adı verilir.
Bu, olayların basitleştirilmiş bir versiyonudur, ancak genelleştirilmişse doğru bir resim çizer. Pratikte, o modelde her türlü varyasyonu bulacaksınız. Bazen, diğer programlar metin dosyalarını oluşturur. Diğer zamanlarda, kaynak kod bir yorumlayıcı içinde çalışır ve derlenmesi gerekmez vb.
Bununla birlikte, tüm yazılım projelerindeki tek evrensel gerçek şudur: kaynak kod dosyaları en önemli mücevherlerdir ve aynı dikkatle bakılmaları gerekir.
Sürüm Kontrol Programları
Bir projedeki tüm kaynak kod dosyalarına kod tabanı adı verilir. Büyük projelerde genellikle kod temeli üzerinde çalışan birçok geliştirici bulunur. Her kod değişikliği izlenebilir ve tanımlanabilir olmalıdır. Gerekirse, değişiklikler geri alınabilir olmalıdır. Farklı geliştiriciler aynı kaynak kod dosyasında değişiklik yaparsa, düzenlemelerinin birleştirilmesi gerekir.
O halde, kod tabanındaki değişikliklerin yönetimini kolaylaştırmak için sürüm kontrol sistemleri adı verilen yazılım programlarının mevcut olması şaşırtıcı değildir. Sürüm kontrol sistemleri, her dosyanın önceki tüm sürümlerini kod tabanında tutar ve her değişiklik kaydedilir, yorumlanır ve izlenir.
Git Adında Küçük Bir Şey
Linux çekirdeğinin yaratıcısı Linus Torvalds, Linux çekirdeği kod tabanını yönetmek için Git adlı bir sürüm kontrol programı geliştirdi. Artık dünyanın en yaygın olarak benimsenen sürüm kontrol yazılımıdır. Kelimenin tam anlamıyla onu kullanan milyonlarca insan var.
Git ile bir projenin kod tabanı depolarda saklanır. Geliştiricinin bilgisayarlarında ve belki de ağdaki merkezi bir sunucuda bulunan yerel havuzlara ek olarak, site dışı veya uzak bir havuza sahip olmak iyi bir uygulamadır.
GitHub burada devreye giriyor.
GitHub
GitHub, git
başarısının bir sonucu olarak oluşturuldu. Kurucular, güvenli bir şekilde barındırılan uzak git
depolarına yönelik artan ihtiyacı gördüler. Geliştirme ekiplerinin uzak depoları barındırmasına izin vermek için bir bulut platformu sağlayan bir iş kurdular. Nisan 2019 itibariyle GitHub, 100 milyondan fazla depoya ev sahipliği yapıyor.
Bir uygulama açık kaynaklı bir projeyse, GitHub'da barındırılma olasılığı çok yüksektir. BitBucket ve GitLab gibi başka depo platformları da mevcuttur, ancak GitHub, açık kaynak depolarında aslan payına sahiptir.
Bir Deponun Anatomisi
GitHub deposu, çok önemli kaynak kod dosyaları gibi dosyaları içeren klasörlerden oluşur. Genellikle, depoda birçok başka dosya türü vardır. Belge dosyaları, kılavuz sayfaları, yazılım lisans dosyaları, yapım talimatları ve kabuk komut dosyaları olabilir. Bir havuzun neyi içermesi veya içermesi gerektiğine dair kurallar yoktur, ancak kurallar vardır.
Bir mutfakta yolunuzu biliyorsanız, herhangi bir mutfakta gezinebilirsiniz. Depolarda da durum aynı. Sözleşmeleri anladıktan sonra, ihtiyacınız olanı bulmak için nereye gideceğinizi bilirsiniz.
Peki, bilgisayarınızda deponun bir kopyasını nasıl edinirsiniz ve programı ikili bir yürütülebilir dosyaya nasıl kurarsınız?
Benioku Dosyası
Bir depoya benioku dosyası eklemek gelenekseldir. Benioku, Benioku veya BENİOKU olarak adlandırılabilir. “.md” uzantısına sahip olabilir veya hiç uzantısı olmayabilir.
Atom düzenleyicisi için GitHub deposuna bir göz atalım. Uzun bir klasör ve dosya listesi görüyorsunuz. Aşağı kaydırdığınızda README.md dosyasının içeriğini görürsünüz.
GitHub, benioku dosyasının içeriğini otomatik olarak havuzun ön sayfasına yerleştirir. Benioku dosyasının bir “.md” uzantısı varsa, Markdown biçimlendirme dilini içerecektir. Bu, geliştiricilerin yazı tipleri, madde işaretleri ve resimler gibi stil öğelerini kullanmalarına olanak tanır.
Tipik olarak, bir benioku dosyası size projenin ne hakkında olduğunu, tür lisansının ne olduğunu, projeyi kimin sürdürdüğünü, nasıl dahil edileceğini ve uygulamanın nasıl oluşturulacağını ve çalıştırılacağını söyleyen bölümlere sahiptir.
Gerçek yapım talimatlarını listelemiyorsa, bu bilgiyi nerede bulacağınızı size söyleyecektir. Gerekli derleme araçları ve diğer bağımlılıklar gibi uygulamayı oluşturmak için yararlı olan diğer bilgiler burada listelenebilir veya bir bağlantı sizi bu bilgilere götürebilir.
Kutular Deposu
Misyonumuz, kutular deposunu klonlamak ve ardından boxes
uygulamasını oluşturmaktır.
Depo, Atom'un yaptığı aynı düzeni takip eder. Klasörlerin ve dosyaların bir listesi var ve bunun altında benioku dosyasının içeriği var. Bir havuz için standart düzeni takip eder, ancak daha küçük bir projedir, bu nedenle daha az klasör ve dosya vardır.
Benioku dosyası da daha kısadır. “Geliştirme” adında bir bölümü var. Bu bölümde “kaynaktan inşa” başlıklı bir bağlantı var. Bu bağlantıyı takip edersek, ihtiyacımız olan bilgiyi bulmalıyız.
Depoda gezinmek ve istediğiniz bilgiyi bulmak için genellikle hafif bir hafiyelik gerekir, ancak bu zor değildir. Depo sayfasındaki her şeyi dikkatlice okuyun. Bazen bilgi oradadır ancak belirgin bir şekilde görüntülenmeyebilir.
Bağımlılıklar
"Kaynaktan İnşa Etme" sayfasında "Linux'ta İnşa Etme" adında bir bölüm var ve tam da ihtiyacımız olan şey bu. Bir C derleyicimizin, Bison'ın ve Flex'in kurulu olması gerektiğini söylüyor.
Derleme talimatları, make
komutunu vermemizi söylüyor, bu yüzden ayrıca make
ihtiyacımız olacak.
Bu uygulamayı oluşturmak için gerekli araçlar bir C derleyicisi, Bison, Flex, make
ve Git'tir (depoyu bilgisayarınıza klonlamak için).
Bu makale Ubuntu, Fedora ve Manjaro Linux dağıtımlarını çalıştıran bilgisayarlarda araştırılmıştır. Dağıtımın hiçbirinde bu araçların tümü kurulu değildi - her birine bir şeyler yüklenmesi gerekiyordu.
Araç Setinin Kurulumu
Ubuntu'nun Git, Flex, Bison'a sahip make
ve kurması gerekiyordu. İşte komutlar:
sudo apt-get kurulum git
sudo apt-get kurulum esnekliği
sudo apt-get install bizon
sudo apt-get install make
Fedora'nın Flex, Bison'a sahip make
ve kurması gerekiyordu. İşte komutlar:
sudo dnf esnek kurulum
sudo dnf bizon yükleyin
sudo dnf kurulum yapmak
Manjaro'da GCC derleyicisi, Flex ve Bison kurulu olması gerekiyordu. İşte komutlar:
sudo pacman -Syu gcc
sudo pacman -Syu esnek
sudo pacman -Syu bizonu
Depoyu Klonlama
Her GitHub deposunun, depoyu bilgisayarınıza klonlamak için Git ile birlikte kullanılan belirli bir web adresi vardır. Kutular deposunun ana sayfasında, "Klonla veya indir" etiketli yeşil bir düğme vardır.
Web adresini görmek için butona tıklayın. Depoyu klonladığımızda git
komutuna iletmemiz gereken adres budur.
Deponun klonlanmasını istediğimiz dizine geçin ve ardından bu komutu kullanın. Terminal pencereniz destekliyorsa, web adresini kopyalayıp komuta yapıştırabilirsiniz. GNOME terminal penceresine yapıştırmak için Ctrl+Shift+V tuşlarına basın.
Git, uzak depoyu klonlar ve bilgisayarınızda yerel bir depo oluşturur. Bize "kutular" adlı bir dizine klonlandığını söylüyor.
Kutular dizini, git
komutunu verdiğiniz dizinde oluşturulur. Kutular dizinine geçersek ve içindekilere bakarsak GitHub sayfasında gördüğümüz dosya ve klasörlerin aynı listesini görürüz.
Harika! Kaynak kodunu ve diğer dosyaları başarıyla bilgisayarımıza kopyaladık. Şimdi, uygulamayı oluşturmamız gerekiyor.
Uygulamayı Oluşturma
Uygulamayı oluşturmak için GitHub deposundaki talimatları izlemeliyiz. Bazen belirli bir kabuk dosyasını çalıştıracağız ve diğerlerini make
çalıştıracağız. İzlediğimiz derleme talimatları bize make
çalıştırmamızı söyledi.
make
yardımcı programı, makefile'den bir dizi talimatı okur ve gerçekleştirir. Bu talimatlar make
programı nasıl derleyeceğini ve birbirine nasıl bağlayacağını anlatır. make
yönergeleri derleyiciye ve diğer derleme araçlarına iletir.
Kullanmamız söylenen komut iki kez make
arayacak. Yapılacak ilk çağrı uygulamayı make
ve ikincisi bir dizi test çalıştırır.
Yapı talimatlarının kullanmamızı söylediği komut:
yap && test yap
Birçok çıktı satırı, terminal penceresinde hızla kaydırılır. Bir dakika kadar sonra komut istemine geri döneceksiniz.
Kutuları Dağıtma Uygulaması
Uygulama oluşturuldu ve yürütülebilir bir ikili dosyamız var. Şimdi ikiliyi /usr/bin/ dizinine kopyalamamız gerekiyor. Bu, kullanmaya çalıştığımızda kabuğun onu bulmasını sağlar.
Bazı uygulamalar için yapmanız gereken tek şey bu olabilir. Diğer durumlarda, man sayfaları ve yapılandırma dosyaları gibi ek dosyaları dosya sistemindeki konumlara kopyalamanız gerekebilir. İkincisi, yeni uygulamamızla yapmamız gereken şey çünkü yapım talimatlarındaydı.
Bu komutları çalıştırmak için sudo
kullanın. İlk komut bir man sayfasını man1 dizinine kopyalar:
sudo cp doc/boxes.1 /usr/share/man/man1
Ardından, global yapılandırma dosyasını /usr/share/ içindeki bir dizine kopyalayın:
sudo cp kutuları-config /usr/share/boxes
Son olarak, ikili dosyayı /usr/bin dizinine kopyalayın:
sudo cp kaynağı/kutuları/usr/bin
Kutuları Test Etme Uygulaması
Her şeyin işe yarayıp yaramadığını görelim! boxes
komutu için man sayfasını açmayı deneyin.
adam kutuları
Bu cesaret verici! boxes
komutunu nasıl kullanacağınızı anlatan bir kılavuz sayfası görürsünüz.
Man sisteminden çıkmak için “Q”ya basın ve boxes
komutunu kullanmayı deneyin.
echo Nasıl Yapılır Geek | kutular
Ve yanıtı alıyoruz:
Bu, harcadığınız tüm çabayı göz önünde bulundurarak biraz bunaltıcı görünebilir, ancak bu alıştırmanın amacı, GitHub'dan bir depoyu geri çekme ve uygulamayı oluşturma konusunda size yol göstermekti.
boxes
komutu, kendisine iletilen metni çok çeşitli çerçevelere sarmanıza olanak tanır. Bazıları kaynak kod dosyalarında yorum olarak kullanılabilir. Yukarıdaki biçim, örneğin, bir C kaynak kodu dosyasında bir yorum olarak çalışır. Diğerleri tamamen dekoratiftir. -d
(tasarım) seçeneği, çerçevenin stilini seçmenize olanak tanır.
echo Nasıl Yapılır Geek | kutular -d girdap
echo Nasıl Yapılır Geek | kutular -d c-cmt2
Aralarından seçim yapabileceğiniz uzun bir tasarım listesi var. Hepsini görmek için şu komutu kullanın:
kutular -l | az
Yapı Tamamlandı
Kaynaktan oluşturma adımları genellikle basittir:
- Depodaki derleme talimatlarını gözden geçirin.
- Gerekli araçların kurulu olup olmadığını kontrol edin ve eksik olanları yükleyin.
- Depoyu bilgisayarınıza klonlayın.
- Genellikle
make
yazmak kadar basit olan derleme yönergelerini izleyin. - Dosyaları gerekli konumlara kopyalayın.
Yapı talimatlarında net olmayan adımlar varsa, projede soru gönderebileceğiniz bir forum veya topluluk olup olmadığına bakın. Uygulamanın bir web sitesi varsa, “Bize Ulaşın” sayfası olabilir. Box projesini yürüten geliştiricinin e-posta adresi box web sitesinin “Hakkında” sayfasındadır. Bu onun adına cömert bir jest ve daha geniş açık kaynak topluluğunun tipik bir örneği.
Linux Komutları | ||
Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar