Apa itu paket Biner? Bagaimana cara membuatnya?


12

Saya ingin mendapatkan detail tentang paket biner dan menjalankannya di linux. Saya menjalankan sistem operasi Linux Debian base (Ubuntu / Linux mint).

  1. Bagaimana cara membangun paket biner dari sumber? Dan bisakah saya langsung mengunduh paket biner untuk aplikasi (seperti firefox, dll.) Dan game (seperti boswars, dll.)?
  2. Saya menjalankan beberapa paket langsung yang dalam format "xyz.linux.run" Apa paket ini? Apakah mereka independen dari ketergantungan? atau apakah ini paket biner pra-bangun?
  3. Cara membangunnya yang dapat dijalankan di sistem operasi linux dengan langsung "xyz.linux.run" di linux.
  4. Apa perbedaan antara paket biner dan paket deb?

Apakah Anda menemukan cara membangun paket biner dari sumber ?!
Dr.jacky

Jawaban:


17

Dalam arti sempit, file biner adalah file yang tidak dikodekan karakter sebagai teks yang dapat dibaca manusia. Lebih tepatnya, "biner" mengacu pada file yang dikompilasi, kode yang dapat dieksekusi, meskipun file itu sendiri mungkin tidak dapat dieksekusi (merujuk tidak banyak pada izin untuk kapasitas untuk dijalankan sendiri; beberapa file kode biner seperti perpustakaan adalah dikompilasi, tetapi terlepas dari izin, mereka tidak dapat dieksekusi sendiri). Sebuah biner yang berjalan sebagai executable mandiri adalah "executable", meskipun tidak semua file yang dapat dieksekusi adalah binari (dan ini adalah tentang izin: file teks yang dapat dieksekusi yang memanggil seorang juru bahasa melalui sebuah shebang seperti #!/bin/shjuga executable).

Apa itu paket biner?

Paket biner dalam konteks linux adalah paket aplikasi yang berisi executable (pre-built), bukan kode sumber.

Perhatikan bahwa ini tidak berarti file paket itu sendiri yang dapat dieksekusi. File paket adalah arsip (semacam a .zip) yang berisi file lain, dan file paket "biner" adalah file yang secara khusus berisi file executable (walaupun sekali lagi, file executable tidak selalu benar-benar binari, dan pada kenyataannya paket biner dapat digunakan untuk kompilasi perpustakaan yang merupakan kode biner, tetapi tidak dapat dieksekusi). Namun, paket tersebut harus dibongkar agar Anda dapat mengakses file-file ini.

Biasanya itu diurus untuk Anda oleh sistem manajemen paket (mis. Apt / dpkg) yang mengunduh paket dan membongkar dan menginstal binari di dalamnya untuk Anda.

Apa perbedaan antara paket biner dan paket deb?

Tidak ada - .debpaket adalah paket biner, meskipun ada .debyang mengandung sumber, ini biasanya -srcditambahkan ke namanya.

Saya menjalankan beberapa paket langsung yang dalam format "xyz.linux.run" Apa paket ini?

Itu umumnya paket biner yang mengekstraksi sendiri; mereka bekerja dengan menanamkan muatan biner ke dalam skrip shell. "Self-extracting" berarti Anda tidak perlu menjalankan aplikasi lain (seperti manajer paket) untuk membongkar dan menggunakannya. Namun, karena mereka tidak bekerja dengan manajer paket, menyelesaikan dependensi mereka mungkin lebih merupakan omong kosong dan karenanya beberapa paket seperti menggunakan executable yang terhubung secara statis (mereka memiliki semua perpustakaan yang diperlukan dibangun ke dalamnya) yang membuang-buang sedikit memori ketika mereka digunakan .


Jawaban Luar Biasa !, Haruskah saya berpisah dari Pertanyaan ini: Bagaimana cara membangun executable (paket biner) yang sudah dibangun dari sumber?
Pandya

Ya, itu akan menjadi pertanyaan yang bagus, jika belum dijawab dalam bentuk tertentu.
goldilocks

6

karena sisa pertanyaan Anda dijawab oleh goldilocks, saya akan menimbang pada bagian pertama, bagaimana membangun sesuatu dari sumber.

Versi yang benar-benar singkat adalah bahwa ketika Anda mengunduh file sumber dari internet, file tersebut biasanya memiliki readme yang terkait dengannya, yang akan memberi tahu Anda dengan tepat bagaimana cara menjalankan dan menjalankan program.

Tetapi memberitahu Anda untuk membaca readme tidak benar-benar menjawab pertanyaan, jadi dalam arti dasar, Anda dapat menulis program yang sangat mendasar yaitu

    #include <stdio.h>

    int main( ) {
        printf("Hello World!");
    }

dan ketik gcc helloWorld.cdan gccakan membangun biner itu dan mengeluarkan program yang menulis "Hello World!" ke konsol saat dijalankan.

Ok, jadi sekarang Anda telah membangun sebuah program, tetapi bukankah itu harus mengetikkan setiap file sumber tunggal yang ingin Anda kompilasi setiap kali Anda perlu mengkompilasi sesuatu? Itu untuk apa makefiles. Jika Anda menjalankan seluruh program yang memiliki banyak file sumber biasanya akan datang dengan makefile atau beberapa file yang membangun otomasi ( ant, Cmake, atau autoconfatau sesuatu).

Untuk membangun jenis program ini, cukup jalankan make <build target>di dalam direktori. Makefile untuk program hello world saya mungkin menyertakan target yang disebut helloworldyang hanya mengkompilasi helloWorld.c. Saya akan menjalankan ini make helloworlddan akan menghasilkan biner.

Perhatikan bahwa membangun sesuatu dari sumber dapat memakan waktu yang sangat lama dan sejumlah besar memori ( tim Chromium bahkan merekomendasikan hard drive kedua untuk membangun sumbernya! ). Juga perhatikan bahwa ketika Anda membangun sesuatu dari sumber Anda harus berurusan dengan dependensi, daripada manajer paket yang melakukannya untuk Anda

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.