Cara Menginstal Perangkat Lunak Menggunakan Git di Linux
Diterbitkan: 2022-01-29Pernahkah Anda diberitahu untuk "mengkloning repo dan membangunnya," dan tidak tahu apa yang harus dilakukan selanjutnya? Kami akan menunjukkan kepada Anda cara menjalankan program itu di GitHub di Linux, bahkan jika Anda seorang pemula.
Instruksi yang membentuk program komputer ditulis, diedit, dan disimpan dalam file teks. Sebuah program yang disebut compiler kemudian memproses file-file ini. Ini menghasilkan versi program yang dapat dieksekusi. File teks instruksi disebut kode sumber. Versi program yang benar-benar dapat dijalankan di komputer disebut biner atau yang dapat dieksekusi.
Itu adalah versi peristiwa yang disederhanakan, tetapi itu melukiskan gambaran yang benar—jika digeneralisasikan. Dalam praktiknya, Anda akan menemukan segala macam variasi pada model itu. Terkadang, program lain menghasilkan file teks. Di lain waktu, kode sumber berjalan di dalam juru bahasa dan tidak perlu dikompilasi, dan seterusnya.
Namun, satu kebenaran universal di semua proyek perangkat lunak adalah ini: file kode sumber adalah permata mahkota, dan mereka perlu dirawat dengan hati-hati.
Program Kontrol Versi
Semua file kode sumber dalam sebuah proyek disebut basis kode. Proyek besar sering kali memiliki banyak pengembang yang mengerjakan basis kode. Setiap perubahan kode harus dilacak dan diidentifikasi. Jika diperlukan, perubahan harus dapat dibalik. Jika pengembang yang berbeda membuat perubahan pada file kode sumber yang sama, hasil edit mereka harus digabungkan.
Maka, tidak mengherankan bahwa program perangkat lunak yang disebut sistem kontrol versi ada untuk membuat pengelolaan perubahan pada basis kode menjadi lebih mudah. Sistem kontrol versi menyimpan semua versi sebelumnya dari setiap file dalam basis kode, dan setiap perubahan dicatat, dikomentari, dan dilacak.
Hal Kecil yang Disebut Git
Linus Torvalds, pencipta kernel Linux, mengembangkan program kontrol versi yang disebut Git untuk mengelola basis kode kernel Linux. Sekarang perangkat lunak kontrol versi yang paling banyak diadopsi di dunia. Ada jutaan orang yang menggunakannya—secara harfiah.
Dengan Git, basis kode proyek disimpan dalam repositories . Selain repositori lokal yang ada di komputer pengembang dan, mungkin, di server pusat di jaringan, merupakan praktik yang baik untuk memiliki repositori di luar lokasi, atau jarak jauh.
Dan di situlah GitHub masuk.
GitHub
GitHub dibuat sebagai hasil dari kesuksesan git
. Para pendiri melihat kebutuhan yang muncul untuk repositori git
jarak jauh yang dihosting dengan aman. Mereka meluncurkan bisnis yang menyediakan platform cloud untuk memungkinkan tim pengembangan menghosting repositori jarak jauh. Pada April 2019, GitHub menampung lebih dari 100 juta repositori.
Jika suatu aplikasi adalah proyek sumber terbuka, kemungkinan besar aplikasi itu akan dihosting di GitHub. Ada platform repositori lain yang tersedia, seperti BitBucket dan GitLab, tetapi GitHub memiliki bagian terbesar dari repositori open source.
Anatomi Repositori
Repositori GitHub terdiri dari folder yang berisi file seperti file kode sumber yang sangat penting. Biasanya, ada banyak jenis file lain di repositori. Mungkin ada file dokumentasi, halaman manual, file lisensi perangkat lunak, instruksi pembuatan, dan file skrip shell. Tidak ada aturan tentang apa yang harus atau harus berisi repositori, tetapi ada konvensi.
Jika Anda tahu jalan di sekitar satu dapur, Anda dapat menavigasi dapur mana pun. Sama halnya dengan repositori. Setelah Anda memahami konvensi, Anda tahu ke mana harus pergi untuk menemukan apa yang Anda butuhkan.
Jadi, bagaimana Anda mendapatkan salinan repositori di komputer Anda, dan bagaimana Anda membangun program menjadi biner yang dapat dieksekusi?
File readme
Menyertakan file readme ke dalam repositori merupakan hal yang biasa. Itu mungkin disebut readme, Readme, atau README. Mungkin memiliki ekstensi ".md" atau tidak ada ekstensi sama sekali.
Mari kita lihat repositori GitHub untuk editor Atom. Anda melihat daftar panjang folder dan file. Gulir ke bawah, dan Anda melihat isi file README.md.
GitHub secara otomatis menempatkan konten file readme di halaman depan repositori. Jika file readme memiliki ekstensi ".md", itu akan berisi bahasa markdown Markdown. Ini memungkinkan pengembang untuk menggunakan elemen gaya, seperti font, poin-poin, dan gambar.
Biasanya, file readme memiliki bagian yang memberi tahu Anda tentang proyek tersebut, jenis lisensinya, siapa yang mengelola proyek, cara terlibat, dan cara membangun dan menjalankan aplikasi.
Jika tidak mencantumkan instruksi pembuatan yang sebenarnya, itu akan memberi tahu Anda di mana menemukan informasi ini. Informasi lain yang berguna untuk membangun aplikasi, seperti alat pembangunan yang diperlukan dan dependensi lainnya, mungkin dicantumkan di sini atau tautan mungkin membawa Anda ke informasi itu.
Gudang kotak
Misi kami adalah mengkloning repositori kotak, dan kemudian membangun aplikasi boxes
.
Repositori mengikuti tata letak yang sama dengan yang dilakukan Atom. Ada daftar folder dan file dan di bawahnya adalah isi dari file readme. Ini mengikuti tata letak standar untuk repositori, tetapi ini adalah proyek yang lebih kecil, jadi ada lebih sedikit folder dan file.
File readme juga lebih singkat. Ini memiliki bagian yang disebut "Pengembangan." Di bagian itu ada tautan berjudul "membangun dari sumber." Jika kita mengikuti tautan itu, kita harus menemukan informasi yang kita butuhkan.
Biasanya ada beberapa pencarian ringan yang diperlukan untuk menavigasi repositori dan menemukan informasi yang Anda inginkan, tetapi itu tidak sulit. Baca semua yang ada di halaman repositori dengan cermat. Terkadang, informasi ada tetapi mungkin tidak ditampilkan dengan jelas.
Ketergantungan
Halaman “Membangun dari Sumber” memiliki bagian yang disebut “Membangun di Linux”, dan itulah yang kami butuhkan. Dikatakan kita harus memiliki kompiler C, Bison, dan Flex yang diinstal.
Instruksi build mengatakan untuk mengeluarkan perintah make
, jadi kita juga perlu make
.
Alat yang dibutuhkan untuk membangun aplikasi ini adalah compiler C, Bison, Flex, make
, dan Git (untuk mengkloning repositori ke komputer Anda).
Artikel ini diteliti pada komputer yang menjalankan distribusi Ubuntu, Fedora, dan Manjaro Linux. Tidak ada distribusi yang menginstal semua alat ini—sesuatu harus diinstal pada masing-masing alat tersebut.
Memasang Set Alat
Ubuntu harus menginstal Git, Flex, Bison, dan make
. Berikut perintah-perintahnya:
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
Fedora harus menginstal Flex, Bison, dan make
. Berikut perintah-perintahnya:
sudo dnf install flex
sudo dnf instal bison
sudo dnf instal make
Manjaro harus menginstal compiler GCC, Flex, dan Bison. Berikut perintah-perintahnya:
sudo pacman -Syu gcc
sudo pacman -Syu flex
sudo pacman -Syu bison
Mengkloning Repositori
Setiap repositori GitHub memiliki alamat web tertentu yang digunakan dengan Git untuk mengkloning repositori ke komputer Anda. Di halaman utama repositori kotak, ada tombol hijau berlabel "Klon atau unduh."
Klik tombol untuk melihat alamat web. Ini adalah alamat yang harus kita berikan ke perintah git
ketika kita mengkloning repositori.
Ubah ke direktori tempat kita ingin menyimpan repositori, dan kemudian gunakan perintah ini. Jika jendela terminal Anda mendukungnya, Anda dapat menyalin dan menempelkan alamat web ke dalam perintah. Tekan Ctrl+Shift+V untuk menempel ke jendela terminal GNOME.
Git mengkloning repositori jarak jauh dan membuat repositori lokal di komputer Anda. Ini memberitahu kita itu kloning ke direktori yang disebut "kotak."
Direktori kotak dibuat di dalam direktori tempat Anda mengeluarkan perintah git
. Jika kita beralih ke direktori kotak dan melihat isinya, kita melihat daftar file dan folder yang sama dengan yang kita lihat di halaman GitHub.
Besar! Kami telah berhasil mengkloning kode sumber dan file lain ke komputer kami. Sekarang, kita perlu membangun aplikasi.
Membangun Aplikasi
Untuk membangun aplikasi, kita harus mengikuti instruksi pada repositori GitHub. Terkadang, kita akan menjalankan file shell tertentu, dan yang lainnya kita akan menjalankan make
. Instruksi build yang kami ikuti memberi tahu kami untuk menjalankan make
.
Utilitas make
membaca dan melakukan serangkaian instruksi dari makefile. Instruksi ini make
tahu bagaimana cara mengkompilasi program dan menghubungkannya bersama-sama. make
meneruskan instruksi ke kompiler dan alat build lainnya.
Perintah yang diminta untuk kita gunakan akan memanggil make
dua kali. Panggilan pertama untuk make
membangun aplikasi, dan yang kedua menjalankan serangkaian pengujian.
Perintah yang diperintahkan oleh instruksi build kepada kami untuk digunakan adalah:
buat && buat tes
Banyak baris keluaran bergulir dengan cepat di jendela terminal. Dalam satu menit atau lebih, Anda akan kembali ke prompt perintah.
Menyebarkan aplikasi kotak
Aplikasi telah dibangun, dan kami memiliki biner yang dapat dieksekusi. Sekarang kita harus menyalin biner ke direktori /usr/bin/. Ini memungkinkan shell untuk menemukannya ketika kami mencoba menggunakannya.
Untuk beberapa aplikasi, ini mungkin yang harus Anda lakukan. Dalam kasus lain, Anda mungkin perlu menyalin file tambahan, seperti halaman manual dan file konfigurasi, ke lokasi di sistem file. Yang terakhir adalah apa yang harus kita lakukan dengan aplikasi baru kita karena itu ada dalam instruksi pembuatan.
Gunakan sudo
untuk menjalankan perintah ini. Perintah pertama menyalin halaman manual ke direktori man1:
sudo cp doc/boxes.1 /usr/share/man/man1
Selanjutnya, salin file konfigurasi global ke direktori di /usr/share/:
sudo cp box-config /usr/share/boxes
Terakhir, salin biner ke /usr/bin:
sudo cp src/box /usr/bin
Menguji Aplikasi kotak
Mari kita lihat apakah semuanya berhasil! Coba buka halaman manual untuk perintah boxes
.
kotak pria
Itu menggembirakan! Anda melihat halaman manual yang memberi tahu Anda cara menggunakan perintah boxes
.
Tekan "Q" untuk meninggalkan sistem man dan coba gunakan perintah boxes
.
echo How-To Geek | kotak
Dan kami mendapatkan jawabannya:
Ini mungkin tampak sedikit mengecewakan mengingat semua upaya yang telah Anda lakukan, tetapi inti dari latihan ini adalah untuk memandu Anda menarik kembali repositori dari GitHub dan membangun aplikasi.
Perintah boxes
memungkinkan Anda untuk membungkus teks yang disalurkan ke dalam berbagai bingkai. Beberapa dari mereka dapat digunakan sebagai komentar dalam file kode sumber. Format di atas akan berfungsi sebagai komentar dalam file kode sumber C, misalnya. Lainnya murni dekoratif. Opsi -d
(desain) memungkinkan Anda memilih gaya bingkai.
echo How-To Geek | kotak -d berputar
echo How-To Geek | kotak -d c-cmt2
Ada daftar panjang desain yang dapat Anda pilih. Untuk melihat semuanya, gunakan perintah ini:
kotak -l | lebih sedikit
Bangun Selesai
Langkah-langkah untuk membangun dari sumber biasanya mudah:
- Tinjau instruksi build di repositori.
- Periksa apakah Anda telah menginstal alat yang diperlukan dan menginstal yang hilang.
- Kloning repositori ke komputer Anda.
- Ikuti instruksi build, yang seringkali sesederhana mengetik
make
. - Salin file ke lokasi yang diperlukan.
Jika ada langkah-langkah dalam petunjuk pembuatan yang tidak jelas, lihat apakah proyek tersebut memiliki forum atau komunitas tempat Anda dapat mengirimkan pertanyaan. Jika aplikasi memiliki situs web, mereka mungkin memiliki halaman "Hubungi Kami". Pengembang yang mengelola proyek kotak memiliki emailnya di halaman "Tentang" di situs web kotak. Itu sikap murah hati di pihaknya, dan tipikal komunitas open source yang lebih luas.
Perintah Linux | ||
File | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · ketik · ganti nama · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konversi · rclone · rusak · srm | |
Proses | alias · layar · atas · bagus · renice · kemajuan · strace · systemd · tmux · chsh · sejarah · di · batch · gratis · yang · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · batas waktu · dinding · ya · bunuh · tidur · sudo · su · waktu · groupadd · usermod · grup · lshw · shutdown · reboot · hentikan · matikan · passwd · lscpu · crontab · tanggal · bg · fg | |
Jaringan | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar