Je možné nainstalovat a používat dvě různé verze glibc na stejném počítači. Kde se jedna verze používá pouze ke spuštění staršího softwaru, který se opírá o staré binární soubory glibc?
Je možné to udělat pomocí správce balíčků (něco jako „nainstalujte tento balíček a jeho závislosti do /opt/old-glibc
), místo toho, abyste to řídili zoufale
Přijatá odpověď:
ano, je to možné. Budete muset být velmi opatrní s cestami načítání knihoven a možná budete muset překompilovat některé další knihovny.
Jako cestu nejmenšího tření doporučuji nainstalovat starší verzi Debianu nebo Ubuntu do chrootu. To znamená, že vytvořte adresář, řekněte /old/etch
a nainstalujte starší distribuci do stromu tam zakořeněného; pro spuštění tohoto problematického programu zavolejte chroot
omezit jeho pohled na souborový systém na /old/etch
.
Debian (nebo Ubuntu) přichází s balíčkem, který pomáhá s instalací dalšího systému v chrootu:schroot (nástupce dchroot). Nejprve použijte debootstrap k instalaci starší distribuce (nainstalujte pouze základní systém a to, co váš program potřebuje, žádné servery). Poté nastavte schroot, aby se program spouštěl pohodlně (pomocí /dev
, /proc
, /home
a další dostupné „satelitní“ souborové systémy).
Takže plán je:debootstrap, pak dchroot. V části Jak spustím 32bitové programy na 64bitovém Debianu/Ubuntu? uvádím tutoriál o podobném nastavení – ať už používáte různé verze distribuce, různé architektury nebo různé distribuce podobné Debianu, jde pouze o výběr vhodného zdroje balíčku, zbytek je stejný.