Apakah mungkin untuk menginstal dan menggunakan dua versi glibc yang berbeda pada mesin yang sama. Di mana satu versi hanya digunakan untuk menjalankan perangkat lunak lawas, yang bergantung pada binari glibc lama?
Apakah mungkin untuk melakukannya dengan bantuan manajer paket (sesuatu seperti "instal paket ini, dan dependensinya, ke /opt/old-glibc
), alih-alih mengelolanya secara langsung
Jawaban yang Diterima:
Iya itu mungkin. Anda harus sangat berhati-hati dengan jalur pemuatan pustaka, dan Anda mungkin perlu mengompilasi ulang beberapa pustaka lain.
Sebagai jalur dengan gesekan paling sedikit, saya sarankan menginstal versi lama Debian atau Ubuntu di chroot. Artinya, buat direktori, katakan /old/etch
, dan instal distribusi lama di pohon yang di-root di sana; untuk menjalankan program bermasalah itu, panggil chroot
untuk membatasi tampilan sistem file ke /old/etch
.
Debian (atau Ubuntu) hadir dengan paket untuk membantu menginstal sistem lain di chroot:schroot (penerus dchroot). Pertama, gunakan debootstrap untuk menginstal distribusi yang lebih lama (instal hanya sistem dasar dan apa yang dibutuhkan program Anda, tanpa server). Kemudian atur schroot untuk menjalankan program dengan mudah (dengan /dev
, /proc
, /home
dan sistem file “satelit” lainnya yang dapat diakses).
Jadi rencananya adalah:debootstrap, lalu dchroot. Dalam Bagaimana cara menjalankan program 32-bit pada Debian/Ubuntu 64-bit?, saya memberikan tutorial tentang pengaturan serupa apakah Anda menjalankan versi distribusi yang berbeda, atau arsitektur yang berbeda, atau distribusi mirip Debian yang berbeda, hanya masalah memilih sumber paket yang sesuai, selebihnya sama.