Cara membuat paket tarball kode langkah demi langkah

Pembaharuan Terakhir: 04/12/2025
penulis: Isaac
  • Tarball mengelompokkan dan mengompres kode sumber sambil mempertahankan struktur dan izin, menjadikannya format standar untuk mendistribusikan proyek di GNU/Linux.
  • Los perintah Kunci tar (c, x, t, v, f, z, j) memungkinkan Anda untuk membuat, mendaftarkan, dan mengekstrak arsip .tar, .tar.gz, dan .tar.bz2 secara efisien dan fleksibel.
  • Sebagian besar program dikompilasi dari file tarball menggunakan sistem seperti Autotools atau CMake, mengikuti alur konfigurasi, kompilasi, dan instalasi.
  • File tarball yang diberi nama dan terstruktur dengan baik merupakan dasar untuk menghasilkan paket .deb, .rpm, dan format universal seperti Snap atau Flatpak.

Panduan langkah demi langkah pembuatan file tarball kode.

Jika Anda bekerja dengan Linux, cepat atau lambat Anda akan menemukan file tarball kode : file .tar, .tar.gz, atau .tar.bz2 yang berisi proyek lengkap yang siap dikompilasi atau dikemas. Sekilas, mungkin tampak sedikit menakutkan, tetapi begitu Anda memahami cara membuat dan menggunakannya, itu akan menjadi alat penting dalam pekerjaan Anda sehari-hari.

Dalam panduan ini, Anda akan mempelajari cara membuat tarball kode langkah demi langkah , cara mengompres dan mendekompresi dengan tar, cara mempersiapkan proyek untuk didistribusikan sebagai kode sumber, dan cara membawa tarball tersebut selangkah lebih maju dengan mengemasnya sebagai .deb, .rpm, atau bahkan dalam format universal seperti Snap, Flatpak, atau AppImage. Semuanya dijelaskan secara detail, tetapi dengan istilah yang sederhana, sehingga Anda dapat mempraktikkannya dengan percaya diri.

Sebenarnya apa itu tarball dan mengapa sering digunakan?

Tarball hanyalah arsip yang dibuat dengan alat tar yang menggabungkan banyak file dan direktori menjadi satu. Awalnya, "tar" berasal dari Tape Archive , karena digunakan untuk menyimpan data ke pita magnetik, tetapi saat ini terutama digunakan untuk mengemas kode sumber dan membuat cadangan.

Saat Anda melihat ekstensi seperti .tar , .tar.gz , .tgz , atau .tar.bz2 , sebenarnya Anda sedang melihat arsip tar ditambah lapisan kompresi . Proses umumnya adalah: pertama, semua file dibundel dengan tar, lalu arsip tar tersebut dikompresi dengan gzip (.gz), bzip2 (.bz2), atau program serupa untuk mengurangi ukurannya.

Dalam ekosistem GNU/Linux, tarball digunakan untuk mendistribusikan kode sumber asli program , memindahkan struktur direktori besar antar server, mencadangkan situs web atau data, dan berbagi proyek secara independen dari distribusi (tidak bergantung pada .deb, .rpm, dll.). Itulah mengapa tarball sangat universal.

Poin pentingnya adalah bahwa tar menghormati izin, pemilik, dan struktur direktori , yang sangat penting ketika Anda mengemas kode atau konfigurasi yang perlu diinstal persis seperti aslinya di mesin lain.

Perintah dasar tar: membuat, menampilkan daftar, dan mengekstrak.

Perintah tar adalah salah satu perintah yang paling sering digunakan di Linux , dan meskipun memiliki banyak opsi, mengingat beberapa saja sudah cukup untuk menyelesaikan sebagian besar tugas sehari-hari Anda. Sintaks dasarnya selalu mengikuti pola yang sama:

jalur file tar.tar…

Beberapa opsi yang paling umum untuk bekerja dengan file tarball kode adalah c, x, t, v, f, zyj . Setiap kombinasi memungkinkan Anda untuk membuat, menelusuri, atau mengekstrak berbagai jenis file .tar, .tar.gz, atau .tar.bz2 tanpa banyak kesulitan.

Buat file .tar sederhana

Untuk mengemas kode yang belum dikompresi, misalnya direktori ~/projects/myprog-1.0 , Anda dapat menjalankan perintah berikut:

tar -cvf miprog-1.0.tar ~/projects/miprog-1.0

Opsi yang Anda gunakan dalam perintah tar ini sangat umum: c untuk membuat arsip baru, v untuk menampilkan apa yang ditambahkan (mode verbose), dan f untuk menentukan nama file keluaran (miprog-1.0.tar). Hasilnya adalah tarball yang tidak terkompresi yang kemudian dapat Anda distribusikan atau simpan sebagai cadangan.

Buat arsip tar terkompresi berformat .tar.gz atau .tgz.

Dalam praktiknya, hampir selalu diinginkan agar file tarball kode membutuhkan ruang yang lebih sedikit. Untuk itu, gzip digunakan dengan opsi -z dari tar, sehingga kedua proses (tar + kompresi) dilakukan dalam satu perintah:

tar -cvzf miprog-1.0.tar.gz ~/proyectos/miprog-1.0

Di sini, opsi 'z' menunjukkan bahwa gzip harus digunakan sebagai kompresor. File yang dihasilkan dapat diberi nama .tar.gz atau .tgz, karena pada dasarnya keduanya setara. Kontennya tetap sama, tetapi terkompresi, sehingga ideal untuk diunggah ke situs unduhan , dilampirkan ke email, atau dipublikasikan sebagai "rilis" di repositori.

Buat arsip tar terkompresi .tar.bz2

Jika Anda memerlukan kompresi yang lebih agresif (ukuran file sedikit lebih kecil dengan mengorbankan waktu kompresi dan dekompresi yang sedikit lebih lama), Anda dapat menggunakan bzip2 dengan opsi -j :

tar -cvjf miprog-1.0.tar.bz2 ~/proyectos/miprog-1.0

Flag j memberi tahu tar untuk menggunakan bzip2 . Nama varian seperti .tar.tbz atau .tar.tb2 sering ditemukan, tetapi idenya sama: sebuah file tar yang dikompresi dengan bzip2 dan siap untuk didistribusikan.

Daftar isi dari file tarball

Sebelum mengekstrak atau menyentuh apa pun, Anda mungkin ingin melihat isi dari file tarball tersebut . Itulah fungsi dari opsi 't' (untuk daftar isi):

tar -tvf miprog-1.0.tar

Perintah ini akan memberi Anda daftar rinci dengan jalur file, izin, dan stempel waktu . Pola yang sama berlaku untuk .tar.gz dan .tar.bz2, karena tar mendeteksi kompresi berdasarkan opsi zoj:

tar -tvf miprog-1.0.tar.gz
tar -tvf miprog-1.0.tar.bz2

Mengekstrak file dari tarball

Untuk mendekompres dan mengekstrak isinya ke direktori saat ini, Anda hanya perlu mengubah huruf c menjadi x, dan sisanya tetap sama:

tar -xvf miprog-1.0.tar

Jika Anda ingin menentukan direktori tertentu tempat menyimpan file, tambahkan opsi -C diikuti dengan jalur tujuan. Dengan cara ini, Anda dapat menjaga agar kode sumber atau cadangan Anda tetap terorganisir.

  Perbaikan: iPhone Tidak Dapat Terhubung dengan Kesalahan iTunes

tar -xvf miprog-1.0.tar -C /home/user/src/

Hal yang sama berlaku untuk tarball yang dikompresi dengan gzip atau bzip2, cukup dengan menambahkan opsi kompresi yang sesuai, seperti tar -xvzf file.tar.gz atau tar -xvjf file.tar.bz2.

Ekstrak file tertentu dan gunakan karakter pengganti (wildcard).

Salah satu kelebihan tar adalah Anda dapat mengekstrak hanya beberapa file saja, bukan mendekompres seluruh arsip. Misalnya, jika di dalam sampleArchive.tar terdapat skrip bernama example.sh yang ingin Anda pulihkan:

tar -xvf sampleArchive.tar example.sh

Pendekatan yang sama juga berlaku untuk tarball terkompresi, dengan menambahkan `zoj` sesuai kebutuhan . Anda juga dapat menggunakan opsi `--wildcards` untuk mengekstrak hanya file yang cocok dengan pola tertentu, yang sangat berguna untuk hal-hal seperti mengekstrak hanya gambar .jpg.

tar -xvf sampleArchive.tar –wildcards '*.jpg'

Dalam kasus .tar.gz atau .tar.bz2, perintahnya akan serupa, hanya perlu mengubah -zxvf atau -jxvf untuk menyesuaikan dengan metode kompresi yang digunakan pada file asli.

Buat arsip kode sumber (tarball) dari awal.

Selain untuk mengompres folder individual, penggunaan klasik tarball di dunia Unix adalah untuk mendistribusikan kode sumber suatu program . Idenya sangat sederhana: penulis menyiapkan direktori bersih yang berisi proyek, mengemasnya sebagai file tar.gz atau tar.bz2, dan menerbitkannya. Pengguna mengunduh tarball, mengekstraknya, dan mengkompilasinya secara lokal.

Dalam banyak kasus, struktur kode tersebut memiliki nama dengan format versi program , misalnya hello-sh-1.0, sehingga file tarball yang dihasilkan disebut hello-sh-1.0.tar.gz dan, ketika didekompresi, direktori tersebut akan dihasilkan beserta semua yang diperlukan di dalamnya.

Contoh umum untuk praktik melibatkan pembuatan proyek mini dengan skrip sederhana, memberikannya izin eksekusi, lalu mengemasnya. Misalnya:

$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0
$ kucing > halo <
# / Bin / sh
# (C) 2011 Foo Bar, GPL2+
.echo "Halo!"
EOF
$ chmod 755 hello
$cd..
$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0

Dengan prosedur ini, Anda telah membuat file tarball sederhana berisi kode sumber yang kemudian dapat Anda ekstrak di distribusi mirip Unix mana pun dan menjalankan skrip tanpa perlu repot lagi.

Unduh, ekstrak, dan siapkan kode sumber.

Saat ini sudah menjadi praktik umum bagi penulis program perangkat lunak bebas untuk mempublikasikan kode mereka sebagai file tar.gz atau tar.bz2 di situs web mereka atau di platform seperti GitHub . File-file ini berisi struktur kode sumber, dokumentasi (README, INSTALL, dll.), dan seringkali file-file yang dibutuhkan untuk menghasilkan Makefile dan skrip kompilasi.

Jika proyek tersebut tidak berupa file tarball tetapi berasal dari sistem kontrol versi (Git, Subversion, CVS…) , maka Anda harus mengklon repositori dengan `git clone`, `svn co`, atau `cvs co` dan kemudian mengemas direktori tersebut sendiri dengan `tar`, sebaiknya menggunakan opsi `--exclude-vcs` untuk menghindari penyertaan metadata sistem kontrol versi.

tar -cvzf project-1.0.tar.gz –exclude-vcs project-1.0

Terkadang file sumber dikompresi dalam format lain seperti .zip atau .Z . Dalam hal ini, Anda mendekompresinya dengan alat yang sesuai dan, jika Anda ingin mengikuti standar distribusi klasik di GNU/Linux, Anda mengemas ulang sebagai tarball (tar.gz atau tar.bz2) dengan mempertahankan struktur versi program.

Instal alat kompilasi dan baca dokumentasinya.

Sebelum mengkompilasi apa pun dari file tarball, sebaiknya pastikan sistem Anda memiliki alat pengembangan dasar . Pada Debian, Ubuntu, dan turunannya, ini biasanya semudah menginstal metapaket build-essential:

sudo apt install build-esensial

Distribusi Linux lain memiliki nama yang berbeda, tetapi idenya sama: di Fedora/Red Hat Anda dapat menggunakan ` sudo dnf groupinstall "Development Tools"` , dan di Arch Linux gunakan `sudo pacman -S base-devel` . Yang penting adalah Anda memiliki kompiler (gcc, g++), make, dan header standar.

Setelah Anda mengekstrak file tarball, hal pertama yang harus dilakukan adalah masuk ke direktori proyek dan membaca dengan saksama file README dan INSTALL , karena biasanya file-file tersebut menjelaskan metode kompilasi, dependensi, dan hal-hal spesifik lainnya. Anda dapat menggunakan less, cat, atau editor teks pilihan Anda untuk ini.

Mengkompilasi kode sumber dari file tarball: metode klasik

Sebagian besar proyek sederhana yang didistribusikan sebagai tarball menyertakan Makefile (Anda dapat mempelajari cara membuat dan menguasai Makefile ) atau sistem build berbasis Autotools. Dalam kasus ini, alur kerja tipikal terdiri dari tiga langkah: konfigurasi, kompilasi, dan instalasi, dengan beberapa variasi tergantung pada proyeknya.

Dalam banyak kasus, setelah mengekstrak file tarball, Anda cukup menjalankan perintah seperti ` ./configure && make && sudo make install` di direktori root kode tersebut . Namun, ada beberapa detail menarik di baliknya yang perlu diketahui agar Anda tidak melakukannya tanpa persiapan.

Autotools: konfigurasi, Makefile, dan perusahaan

Banyak program perangkat lunak bebas menggunakan GNU Autotools (Autoconf, Automake, Libtool, gettext, dll.) untuk menghasilkan Makefile portabel untuk berbagai platform. Jika Anda melihat file seperti configure.ac, Makefile.am, atau Makefile.in di dalam pohon kode sumber, hampir pasti proyek tersebut didasarkan pada sistem ini.

Penulis biasanya menjalankan `autoreconf -i -f` di lingkungan mereka untuk menghasilkan skrip `configure` dan file `Makefile.in` yang sesuai dari file sumber tersebut. Kemudian, di mesin Anda, Anda akan menjalankan `./configure`, yang akan membuat Makefile akhir yang disesuaikan dengan sistem Anda (mendeteksi pustaka, jalur, kompiler, dll.).

  Pemecahan Masalah Armoury Crate, Pembaruan Langsung MSI, dan Pusat Aplikasi Gigabyte

Alur kerja yang disederhanakan akan seperti ini: configure.ac dan Makefile.am digunakan untuk membangun configure dan Makefile.in, kemudian, dengan menjalankan ./configure, Makefile dan config.h dihasilkan. Terakhir, perintah make sederhana mengkompilasi biner tersebut. Jika Anda perlu menyesuaikan direktori instalasi, Anda dapat memberikan opsi ke skrip configure, misalnya , ./configure --prefix=/usr untuk mengubah awalan instalasi default.

Kompilasi dengan CMake sebagai alternatif modern.

Sistem build lain yang banyak digunakan saat ini adalah CMake . Anda akan mengenalinya dari keberadaan file CMakeLists.txt di direktori root proyek. Pola untuk mengkompilasi dari tarball biasanya melibatkan pembuatan direktori build terpisah, menghasilkan konfigurasi di sana, dan mengkompilasi di dalamnya.

mkdir membangun
cd membangun
buatlah..
membuat
sudo buat instal

Pendekatan ini menjaga struktur kode sumber lebih bersih dan memungkinkan Anda untuk membuat proyek untuk berbagai platform atau IDE menggunakan file CMakeLists.txt yang sama. Namun, logikanya tetap sama seperti pada Autotools: konfigurasi, kompilasi, dan instal.

Atasi kesalahan ketergantungan saat mengkonfigurasi

Seringkali, eksekusi pertama `./configure` gagal karena ada library, header, atau dependensi pengembangan yang hilang. Skrip biasanya menampilkan pesan yang jelas seperti "libejemplo tidak ditemukan" atau "tidak dapat menemukan header xyz.h".

Di banyak distribusi, pustaka dikemas dalam tiga varian: biner, pustaka, dan pustaka pengembangan . Mengikuti pola contoh, Anda mungkin memiliki paket bernama example, libexample, dan libexample-dev. Untuk mengkompilasi dari tarball, Anda biasanya memerlukan varian -dev (yang mencakup header dan file yang diperlukan untuk penautan), jadi jika Anda menemukan kesalahan dengan libexample, solusi praktisnya biasanya adalah menginstal libexample-dev dan mencoba lagi.

Ada kemungkinan setelah menginstal `-dev`, Anda mungkin menjalankan `configure` lagi dan akan muncul pesan kesalahan tentang pustaka yang berbeda. Tidak apa-apa: ini adalah proses coba-coba sampai Anda menemukan semua dependensi yang dibutuhkan . Setelah itu, `configure` akan selesai dengan sukses dan Anda dapat melanjutkan kompilasi.

Kompilasi dengan perintah `make` dan instal dengan perintah `make install`.

Setelah langkah konfigurasi berjalan lancar, Anda dapat menjalankan `make` untuk mengkompilasi proyek. Tergantung pada ukuran program dan daya pemrosesan mesin Anda, proses ini dapat memakan waktu mulai dari beberapa detik hingga beberapa menit. Anda akan melihat perintah kompilasi dan penautan yang dieksekusi ditampilkan di terminal .

Jika semuanya berjalan dengan benar dan tidak ada kesalahan kompilasi yang muncul, satu-satunya langkah yang tersisa adalah menginstal hasilnya pada sistem dengan `sudo make install` . Sesuai konvensi, banyak proyek diinstal di bawah `/usr/local` (biner di `/usr/local/bin`, pustaka di `/usr/local/lib`, konfigurasi di `/usr/local/etc…`), sehingga tidak tercampur dengan paket-paket distribusi itu sendiri.

Beberapa proyek juga mengimplementasikan tujuan `make uninstall` , yang memungkinkan Anda untuk membatalkan instalasi dan menghapus file yang disalin dengan `make install`. Tidak semua proyek menyertakannya, tetapi jika tercantum dalam dokumentasi, ini adalah cara yang relatif mudah untuk menghapus instalasi apa yang telah Anda kompilasi dari tarball.

Kapan dan bagaimana cara membuat tarball untuk pengemasan di Debian?

Dalam dunia Debian dan turunannya, file tarball kode asli biasanya diberi nama version_name.orig.tar.gz . Idenya adalah untuk memisahkan secara jelas kode sumber "upstream" dari modifikasi khusus Debian (patch, file kontrol, skrip pasca-instalasi, dll.) yang ditambahkan ke direktori debian dari paket sumber.

Jika pengembang asli menamai file tarball mereka gentoo-0.9.12.tar.gz, misalnya, sebagai pengelola Debian Anda dapat mengubah namanya menjadi gentoo_0.9.12.orig.tar.gz dan melanjutkan dari sana. Kemudian Anda akan menambahkan subdirektori debian ke sumber ini, yang berisi semua file yang diperlukan untuk membangun paket .deb.

Alat dh_make sangat menyederhanakan tugas ini: dimulai dengan gentoo-0.9.12.tar.gz, alat ini akan mendekompilasi kode sumber, menghasilkan tarball .orig yang sesuai, dan membuat templat di debian/ yang kemudian dapat Anda sesuaikan. Setelah menjalankannya, Anda akan melihat bahwa direktori kerja Anda berisi baik file asli yang telah diubah namanya maupun pohon sumber yang siap untuk dikemas.

Beri nama paket dan versi dengan benar pada file tarball dan paket.

Saat mendistribusikan kode sumber sebagai tarball, sangat penting agar nama file dan direktori internal mengikuti konvensi yang konsisten . Dalam ekosistem Debian, misalnya, disarankan agar nama paket hanya menggunakan huruf kecil, angka, tanda tambah dan kurang, serta titik, dengan panjang yang wajar dan selalu diawali dengan karakter alfanumerik.

Nomor versi, pada gilirannya, hanya boleh berisi karakter alfanumerik, tanda tambah (+), tilde (~), dan titik ( .), selalu diawali dengan angka. Ini memudahkan alat seperti dpkg untuk membandingkan versi dengan benar. Jika penulis program menggunakan string yang tidak biasa (tanggal dengan teks, hash Git, dll.), Anda dapat menyimpan informasi tersebut di changelog Debian, tetapi yang terbaik adalah menjaga agar kolom "versi upstream" di tarball tetap bersih dan terorganisir.

Dalam kasus versi prarilis atau kandidat rilis, tanda tilde (~) biasanya disisipkan agar dpkg dapat menginterpretasikan urutan dengan benar . Misalnya, jika Anda memiliki versi prarilis gentoo-0.9.12-ReleaseCandidate-99.tar.gz, Anda dapat mengganti namanya menjadi gentoo-0.9.12~rc99.tar.gz, sehingga 0.9.12 dianggap lebih tinggi daripada 0.9.12~rc99 ketika versi final dirilis.

Dari tarball ke paket biner: paket sebagai .deb

File tarball kode hanyalah langkah pertama jika tujuan Anda adalah mendistribusikan program sebagai paket .deb yang dapat diinstal (lihat penginstal paket perangkat lunak populer ). Dari file tar.gz asli, Anda dapat membuat struktur yang diperlukan untuk menghasilkan paket .deb, menambahkan biner yang telah dikompilasi dan metadata, serta membangun paket menggunakan dpkg-deb.

  Cari tahu cara Mematikan Notifikasi WiFi Publik di Ponsel Android

Di dalamnya, sebuah file .deb pada dasarnya berisi tiga bagian: debian-binary (file teks minimal dengan versi format), control.tar.gz (metadata dan skrip kontrol), dan data.tar.gz (biner dan file yang akan diinstal). Anda dapat menggunakan utilitas `ar` untuk memeriksa file .deb dan melihat komponen-komponen tersebut secara tepat.

Untuk mengemas sesuatu yang sangat sederhana, seperti program "hello world" dalam bahasa C, Anda dapat terlebih dahulu mengkompilasi biner dari kode sumber dalam tarball dan kemudian secara manual mengatur struktur direktori .deb . Anda akan membuat direktori bernama hello/, di dalamnya subdirektori bernama DEBIAN yang berisi file kontrol, dan kemudian menyalin file yang dapat dieksekusi ke jalur yang sesuai (misalnya, hello/usr/bin/). Setelah itu, Anda cukup menjalankan ` dpkg-deb --build hello` untuk menghasilkan hello.deb.

Dari tarball ke paket RPM dan format lainnya

Hal yang sangat mirip terjadi di dunia Red Hat dengan paket RPM . Kode sumber biasanya didistribusikan dalam bentuk tarball, dan dari situ SRPM (paket sumber RPM) dihasilkan yang berisi tarball asli dan satu atau lebih patch serta file .spec yang menjelaskan cara mengkompilasi dan menginstal program.

Dalam hal ini, struktur direktori kerja mencakup jalur seperti RPMS, SRPMS, SOURCES, SPECS, dll. File tarball asli masuk ke SOURCES, file .spec ke SPECS, dan dari sana Anda dapat menggunakan rpmbuild untuk menghasilkan file biner .rpm dan, jika diinginkan, file .src.rpm. File .spec berisi informasi seperti nama paket, versi, dependensi, perintah build, dan daftar file yang seharusnya ada di sistem.

Hasil akhirnya sangat mirip dengan .deb: sebuah paket biner yang dapat diinstal pengguna dengan pengelola paket biasa mereka, tetapi akar paketnya biasanya berupa tarball berisi kode sumber yang terorganisir dan memiliki versi yang baik.

Buat file tarball dan kemas dalam format universal.

Dalam beberapa tahun terakhir, format seperti Snap, Flatpak, dan AppImage telah muncul , bertujuan untuk menawarkan paket "universal" untuk Linux dan mengurangi banyak fragmentasi antar distribusi. Meskipun masing-masing memiliki mekanismenya sendiri, semuanya dapat didasarkan pada pohon kode yang juga dapat didistribusikan sebagai tarball.

Di Snap, misalnya, Anda menentukan dalam file snapcraft.yaml bagaimana aplikasi Anda dibangun: nama, versi, sumber (yang dapat berupa URL ke tarball jarak jauh), plugin pembangunan (autotools, cmake, dll.), dan perintah akhir yang akan dieksekusi. Snapcraft kemudian akan mengunduh tarball, mengkompilasinya, dan mengemasnya bersama dengan dependensinya.

Flatpak bekerja dengan manifes JSON atau YAML yang menjelaskan runtime, SDK, dan modul yang akan dibangun, serta menentukan sumber (yang dapat berupa file lokal atau tarball jarak jauh). Sekali lagi, tarball adalah wadah alami untuk kode sumber yang nantinya akan diintegrasikan ke dalam paket universal.

Di AppImage, meskipun Anda sering memulai dari biner yang telah dikompilasi sebelumnya, Anda juga dapat mencapainya dari pohon kode klasik: Anda mengkompilasi dari tarball, menghasilkan struktur AppDir , dan akhirnya membuat citra yang dapat dieksekusi sendiri yang dapat dijalankan pengguna tanpa instalasi yang tepat.

Gumpalan tar, kompresi langsung, dan kegunaan praktis lainnya.

Selain untuk pengemasan kode, tar banyak digunakan untuk mengompresi dan mendekompresi data umum : direktori konfigurasi, folder pribadi, cadangan sesekali, dll. Pada sistem mirip Unix, termasuk banyak versi Android dan macOS, tar sering disertakan secara default dan menawarkan rasio kompresi yang sangat wajar, mendekati 50% dalam banyak kasus, dengan kecepatan operasi yang cukup tinggi.

Namun perlu diperhatikan, ada nuansanya: alat seperti gzip atau bzip2 hanya mengompres file, bukan direktori . Saat Anda menjalankan `tar -czf` atau `tar -cjf`, tar sebenarnya terlebih dahulu mengelompokkan direktori dan kemudian meneruskan hasilnya ke gzip atau bzip2. Itulah mengapa sangat praktis menggunakan tar sebagai "antarmuka" untuk utilitas ini.

Jika Anda ingin memeriksa ukuran tarball dengan cepat atau mengukur dampak kompresi, Anda dapat menggabungkan `tar` dengan `wc -c` untuk menghitung byte, menggunakan tanda hubung sebagai output standar. Misalnya:

tar -czf – sampleArchive.tar | wc -c

Trik ini memudahkan untuk mendapatkan gambaran seberapa banyak ukuran file yang dihemat dengan mengemas direktori tertentu, yang sangat berguna saat menyiapkan distribusi kode atau cadangan yang akan Anda pindahkan melalui jaringan.

Seperti yang Anda lihat, menguasai penggunaan tarball untuk mengemas dan mendistribusikan kode langkah demi langkah membuka banyak pintu: mulai dari membuat salinan terkompresi sederhana dari proyek Anda hingga menyiapkan kode sumber yang bersih untuk dikemas dalam format .deb, .rpm, atau universal; semuanya sambil mempertahankan izin, struktur direktori, dan praktik pembuatan versi yang baik yang akan membuat hidup Anda (dan mereka yang menggunakan perangkat lunak Anda) jauh lebih mudah.

Artikel terkait:
Ini adalah 5 penginstal paket perangkat lunak paling populer.