Partager les bibliothèques installées entre Debian et Ubuntu

19

J'essaie de partitionner mon disque dur et d'installer Ubuntu et Debian. Donc, je n'ai pas besoin de conserver les anciennes données. Les dernières éditions des deux OS seront utilisées.

J'essaie de comprendre comment installer des bibliothèques, des programmes, etc. via apt dans Ubuntu et ne pas le réinstaller sur Debian et vice versa. Ici, je suppose que tout ce qui fonctionne pour Ubuntu fonctionnera pour Debian, et j'espère aussi vice versa.

Je sais que je peux partager / à la maison. Mais ce n'est pas là que la majorité des bibliothèques / programmes seront. Dois-je mettre / usr sur une partition différente et monter / usr sur les deux systèmes d'exploitation? Ou peut-être ai-je juste besoin de monter / usr / local? Ou existe-t-il une meilleure façon de le faire?

dev_nut
la source
11
Votre hypothèse est fausse.
Anwar
10
Votre hypothèse est TRÈS erronée.
Rinzwind
4
Hmmm, cette question de ne pas voter me déroute. N'est-ce pas une question légitime remplie d'espoir et de fantasmes utopiques de toutes les variantes de Debian partageant des binaires (c'est le même ordinateur avec la même architecture après tout)?
dev_nut
4
Upvote est à moi. Je considère que c'est une question légitime. Tout le monde n'est pas aussi expérimenté. Et si personne ne pose ce genre de questions, où finirions-nous?
Rinzwind
1
A voté parce que c'est une question légitime et pas tout à fait inexpérimentée.
Jos

Réponses:

16

Ou existe-t-il une meilleure façon de le faire?

  • Installez tous les logiciels que vous utilisez comme snaps.
  • Installez tous les logiciels que vous utilisez dans une partition nommée /opt/. Il s'agit probablement d'une installation source ( tar.gz).

Ces 2 méthodes d'installation peuvent être partagées entre les distributions. Le dernier, vous devrez ajouter quelque chose à PATH ou copier un service dans le système principal.

Vous ne pouvez pas partager / usr / ou / var / entre 2 installations différentes. Vous pouvez cependant partager / usr / local /. 2 distributions peuvent avoir différentes versions de bibliothèques, vous devrez donc peut-être installer quelques bibliothèques sur l'un de ces systèmes. Mais ces quelques ko que vous économisez ne valent pas le temps que vous allez y consacrer. De plus, vous risquez de casser encore l'un ou l'autre système.

Rinzwind
la source
Cette réponse essaie en fait de me donner quelques solutions. Quand vous dites que je ne devrais pas partager / usr, ne devrais-je pas le faire même avec les mêmes versions d'ubuntu?
dev_nut
@dev_nut Vous ne devez pas partager /usr/*entre deux systèmes; vous pouvez partager /usr/local/*entre les deux, bien que vous couriez toujours le risque que les logiciels «locaux» ne soient pas compatibles entre les deux versions à un certain niveau. (donc vos fstabrègles se seraient /usr/local/*montées sur une autre partition, et qui seraient ensuite partagées dans les deux)
Thomas Ward
1
La chose @dev_nut est. 2 versions différentes de logiciels dans 2 systèmes d'exploitation feront planter l'une d'entre elles. À côté de cela: il peut y avoir des différences entre eux dans la configuration pour les utilisateurs par défaut qui gâchent les choses (les utilisateurs sont dans / etc / password). Avoir le même utilisateur avec différents UID et GUID sera un problème.
Rinzwind
11

La seule chose que vous ne faites jamais est de mélanger les référentiels Debian et Ubuntu, les bibliothèques système, les programmes, etc. Cela cassera massivement les deux systèmes. (Cela s'étend également au mélange d'Ubuntu et de variantes non officielles comme Mint; et bien que vous puissiez théoriquement mélanger Kubuntu et Ubuntu par exemple du 16.04, vous ne devriez pas et devriez garder leurs systèmes de base séparés).

Ubuntu est sur un cycle de publication beaucoup plus rapide avec des bibliothèques de logiciels beaucoup plus mises à jour que Debian. L'inverse est également vrai - Debian n'a pas de bibliothèques mises à jour, etc.

Le mélange et l'appariement feront exploser les systèmes. C'est pourquoi vous ne partagez pas les bibliothèques entre elles.

Le faire briserait les deux systèmes. N'essayez pas de partager des bibliothèques et des programmes entre les deux systèmes.

Bien que vous puissiez techniquement partager les répertoires de départ des utilisateurs entre les versions et les distributions, vous pouvez rencontrer des problèmes étranges sur un ou plusieurs systèmes d'exploitation en raison des différentes versions des configurations selon les différentes versions du logiciel sur chaque système.

Thomas Ward
la source
3

Un autre point que je veux ajouter à la réponse existante concerne aptet dpkg, et comment ils gèrent les informations sur les logiciels installés.

dpkg , qui est l'application principale de gestion des paquets, utilise un /var/lib/dpkg/statusfichier pour stocker et récupérer des informations sur les paquets debian installés dans un système. C'est très spécifique à propos de votre course. Même une seule entrée peut gâcher toute la gestion des paquets.

Dites par exemple, Vous avez une version 3.18installée pour nautilusdans Ubuntu. Ensuite, si vous partagez ces informations, debian verra qu'elles ont 3.18pour nautilus, même si elles l'ont réellement 3.16. C'est un exemple très simplifié. Mais il peut y avoir plus de complexité. Par exemple, debian peut voir que vous avez des paquets installés à partir d' un référentiel non existant sans raison valable et essaiera de les supprimer et vice versa.

La réponse de Rinzwind a illustré une manière simple de contourner une application commune, c'est-à-dire d'utiliser des applications autonomes distribuées sous forme de packages snap ou flat-pak. Ce ne sont pas des bibliothèques partagées, mais si vous vouliez une sorte d' application commune qui pourrait atteindre votre objectif.

Anwar
la source