GNU/Linux >> Belajar Linux >  >> Debian

Buat Ulang Paket Biner Debian Yang Sudah Terinstal Pada Sistem

Panduan singkat ini memperkenalkan utilitas berguna yang disebut dpkg-repack , yang digunakan untuk membuat ulang paket biner Debian yang sudah diinstal pada sistem berbasis debian.

Apa itu dpkg-repack?

Bayangkan skenario ini. Anda telah menginstal beberapa paket pada sistem berbasis Debian Anda. Dan Anda ingin menginstal paket yang sama di sistem lain. Tetapi Anda kehilangan arsip biner yaitu file deb. Apakah Anda akan mengunduhnya lagi dari situs web atau repositori resmi mereka?

Bagaimana jika versi tertentu dari paket tertentu tidak lagi tersedia di tempat lain? Jangan khawatir! Karena mereka sudah terinstal di sistem Anda, Anda dapat dengan mudah membuat ulang .deb file. Sampaikan salam dpkg-repack !

dpkg-repack adalah alat pengarsipan paket Debian baris perintah untuk membuat ulang paket biner Debian yang sudah diinstal pada sistem Anda.

Singkatnya, dpkg-repack utilitas dapat membuat .deb file dari paket debian yang sudah terinstal di sistem Anda.

dpkg-repack utilitas dapat membantu dalam banyak situasi di mana Anda ingin,

  • buat ulang .deb file dari paket debian terinstal yang ada,
  • dengan mudah menyalin paket dari satu sistem ke sistem lain,
  • menyimpan status paket saat ini sebelum memutakhirkannya,
  • cadangkan versi paket tertentu untuk penggunaan di masa mendatang,
  • menyimpan paket tertentu yang tidak lagi tersedia untuk diunduh.

Instal dpkg-repack di Debian, Ubuntu, dan turunannya

dpkg-repack tersedia di repositori default Debian, Ubuntu dan variannya. Untuk menginstal dpkg-repack , cukup jalankan perintah berikut:

$ sudo apt install dpkg-repack

Buat ulang paket biner Debian dengan dpkg-repack

1. Untuk tujuan panduan ini, mari kita gunakan aplikasi Microsoft Teams yang saya instal beberapa waktu lalu di desktop Ubuntu saya.

$ dpkg -l | grep teams

Contoh keluaran:

ii  teams                                         1.3.00.5153                                amd64        Microsoft Teams for Linux is your chat-centered workspace in Office 365.

Saya tidak lagi memiliki teams.deb mengajukan. Saya menghapusnya tepat setelah menginstal aplikasi Microsoft Teams. Saya dapat pergi ke halaman unduhan resmi dan mengunduhnya lagi. Tapi kenapa harus repot-repot mendownloadnya berulang-ulang? Sekarang saya cukup membuat ulang teams.deb file menggunakan dpkg-repack.

2. Untuk membuat teams.deb file dari paket tim yang sudah diinstal dengan dpkg-repack utilitas, jalankan:

$ dpkg-repack teams

Contoh keluaran:

dpkg-deb: building package 'teams' in './teams_1.3.00.5153_amd64.deb'.

Seperti yang Anda lihat, perintah di atas membuat ulang "teams_1.3.00.5153_amd64.deb'" file dari paket Teams yang sudah diinstal di desktop Ubuntu saya. File deb yang baru dibuat akan disimpan di direktori kerja saat ini.

Demikian pula, Anda dapat mengonversi paket Debian yang terinstal kembali ke .deb paket menggunakan dpkg-repack utilitas.

3. Dimungkinkan juga untuk membuat ulang beberapa file deb dengan dipisahkan oleh spasi:

$ dpkg-repack <package1> <package2> <package3>

4. Jika Anda tidak dapat membangun kembali file deb karena masalah izin, coba dari fakeroot lingkungan seperti di bawah ini:

$ fakeroot -u dpkg-repack teams

Salah satu fitur menarik dari utilitas dpkg-repack adalah jika ada perubahan yang dibuat pada paket saat paket tersebut dibuka (yaitu file di /etc dimodifikasi), paket baru akan mewarisi perubahan tersebut.

Melihat isi file deb

Langkah 1: Anda dapat melihat konten file deb tersebut menggunakan perintah:

$ dpkg --contents teams_1.3.00.5153_amd64.deb

Contoh keluaran:

drwxr-xr-x root/root         0 2020-05-26 15:15 ./
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/bin/
-rwxr-xr-x root/root       286 2020-02-20 16:46 ./usr/bin/teams
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/share/
.
.
.
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/share/teams/swiftshader/
-rwxr-xr-x root/root    286264 2020-02-20 16:46 ./usr/share/teams/swiftshader/libEGL.so
-rwxr-xr-x root/root   2677296 2020-02-20 16:46 ./usr/share/teams/swiftshader/libGLESv2.so
-rwxr-xr-x root/root 114964776 2020-02-20 16:46 ./usr/share/teams/teams
-rw-r--r-- root/root   1040912 2020-02-20 16:46 ./usr/share/teams/v8_context_snapshot.bin

Langkah 2: dpkg-repack sangat berguna saat menginstal paket yang sama di beberapa sistem, cukup transfer menggunakan hard drive eksternal atau melalui LAN ke sistem lain dan instal menggunakan perintah dpkg:

$ sudo dpkg -i <package-name>

Langkah 3: Harap dicatat bahwa Anda masih perlu mengunduh dependensi. Untuk menginstal dependensi, jalankan:

$ sudo apt-get -f install

Atau, Anda dapat menemukan dependensi paket seperti yang dijelaskan di tautan berikut:

  • Cara Membuat Daftar Dependensi Paket Di Linux

Dan kemudian buat ulang semuanya menggunakan dpkg-repack seperti yang dijelaskan di atas.

Langkah 4: Ini juga akan membantu ketika Anda ingin mengembalikan paket ke versi kerja sebelumnya. Misalnya, Anda baru saja meningkatkan Vim paket ke versi baru yang tersedia. Jika versi baru tidak berfungsi seperti yang diharapkan, Anda cukup melakukan roll-back ke versi lama yang Anda buat sebelumnya menggunakan dpkg-repack .

Untuk detail lebih lanjut, lihat halaman manual:

$ man dpkg-repack

Bacaan terkait:

  • Cara Membuat Paket Debian Dari Sumber
  • Cara Membuat Paket Dari Sumber Menggunakan CheckInstall
  • Cara Mengonversi Paket Linux Dengan Alien

Debian
  1. Cara membuat daftar semua file yang diinstal oleh paket DEB di Ubuntu/Debian Linux

  2. Cara membuat daftar semua atau paket tertentu yang diinstal pada sistem Linux Debian/Ubuntu

  3. Cara Mendaftar Repositori yang Terinstal Di Ubuntu &Debian

  1. Metode berbeda untuk Menginstal Paket Debian (.deb)

  2. Debian – Mencantumkan Paket Pada Sistem Berbasis Apt Berdasarkan Tanggal Instalasi?

  3. Debian – Bagaimana Mengubah Sistem Berbasis Debian 32-bit (x86) Menjadi 64-bit?

  1. Periksa versi Debian apa yang Anda jalankan di sistem Linux Anda

  2. Debian – Daftar Paket yang Diinstal Secara Manual Tingkat Atas Tanpa Ketergantungannya?

  3. Debian – Paket Apa yang Diinstal Secara Default Di Debian? Apakah Ada Istilah Untuk Set Itu? Mengapa Beberapa Paket Itu `Terpasang Secara Otomatis` Dan Beberapa Tidak?