web-dev-qa-db-fra.com

Comment installer des applications sur un disque dur séparé?

J'étais tellement doué avec Windows que je me sens maintenant complètement idiot.

J'ai un disque SSD pour Ubuntu et je souhaite installer la plupart de mes programmes sur un disque dur séparé, mais je ne sais pas comment.
Toutes les recherches que j'ai essayées ne se révèlent qu'avec des installations à double démarrage.

  • (RÉSOLU ->) J'ai également du mal à localiser "/ etc /". Plus précisément, pour modifier Conky.
    La recherche de ce terme n’affiche que les cas où des personnes vous demandent d’accéder à ce fichier et non pas comment y accéder.
9
plaguedoctor

Il existe une différence majeure entre Windows et GNU/Linux. Sous Windows, il est courant que chaque programme, ainsi que toutes les bibliothèques dont il dépend, soit installé dans un dossier séparé. Cela entraîne souvent beaucoup d’espace disque gaspillé en raison de l’installation répétée de bibliothèques, pour chaque programme qui les utilise.

Sous Linux, les programmes sont installés conformément à système de hiérarchie des systèmes de fichiers (FHS). Cela signifie que les bibliothèques dont dépendent les programmes sont toutes installées dans un emplacement commun dédié, de sorte qu'elles ne sont généralement installées qu'une seule fois, quel que soit le nombre de programmes utilisés. De plus, les programmes sont construits de telle manière qu'ils utilisent tous la même version d'une certaine bibliothèque. Cela économise de l'espace disque (et RAM au moment de l'exécution), mais présente l'inconvénient de ne pas pouvoir installer librement des programmes sur des partitions ou des disques durs différents, du moins sans éditer les fichiers de configuration système (par exemple/etc/ld). .so.conf.d pour inclure les différents dossiers de la bibliothèque).

Depuis que le système de paquets Debian a été implémenté avec FHS à l’esprit, il n’existe, à ma connaissance, aucun moyen simple d’installer des paquets Debian dans un dossier différent de celui dans lequel ils étaient censés être placés et de les faire fonctionner sans déplacement manuel. et éditer des fichiers ensuite. En effet, les chemins sont souvent codés en dur lors de la compilation. Ainsi, même si vous installez un package dans un autre dossier, par exemple en utilisant dpkg --instdir=folder/ package.deb sur la ligne de commande, le programme recherchera toujours sa configuration dans '/ etc', et non dans 'dossier/etc', mais dans les fichiers de configuration livrés. avec le paquet bien sur ont été installés dans 'dossier/etc' ... Le programme ne sera pas ajouté au menu non plus, car les fichiers de menu sont supposés être dans '/ usr/share applications', pas dans le dossier/usr/share /applications.

Vous pouvez bien sûr configurer manuellement et compiler un programme à partir de son code source pour lui permettre d’installer les fichiers binaires et les données où vous le souhaitez, tout en installant les fichiers de configuration dans les emplacements compatibles FHS, mais c’est le cas. quelque chose que je ne recommanderais que pour les utilisateurs avancés. Si vous voulez compiler à partir des sources, jetez un œil à checkinstall , un outil qui crée automatiquement des paquets debian.

Une autre option, suggérée sur linuxfromscratch , consiste à décompresser le paquet dans un emplacement approprié, puis à créer des liens symboliques vers tous les fichiers installés dans les emplacements FHS correspondants.

Depuis les commentaires que vous avez faits sur les jeux: De nombreux jeux qui ne sont pas achetés via Ubuntu Software Center sont exécutés par un programme d’installation. Ceux-ci peuvent ensuite être installés dans n’importe quel dossier, généralement un sous-dossier de votre répertoire personnel. Les jeux Windows exécutés avec WINE peuvent également être installés dans le répertoire de votre choix. Pour Wine, il existe une variable d'environnement appelée WINEPREFIX avec laquelle vous pouvez configurer de nombreux dossiers indépendants WINE, chacun comprenant son propre lecteur virtuel C:. Lisez la page de manuel de WINE pour plus d’informations.

Même si les jeux/programmes sont fournis sous forme de paquets Debian, vous pouvez consulter le contenu de ce dernier dans votre gestionnaire d'archives préféré. Si le jeu doit être installé dans/opt, vous pouvez généralement l'installer en toute sécurité dans un autre dossier, car/opt est souvent utilisé comme emplacement d'installation pour les programmes non conformes à FHS.

19
soulsource

TL; DR

  1. Démarrez le disque USB externe avec la version d'Ubuntu que vous venez d'installer et je suppose que /dev/sda est votre disque SSD et /dev/sdb est votre disque dur.

  2. Créez une partition sur votre disque dur qui contiendra toutes les applications que vous souhaitez installer (disons 64 Go) en utilisant gparted et je suppose que ce sera la troisième partition que vous créerez sur votre disque dur ( /dev/sbd3)

  3. exécuter les commandes suivantes:

    mkdir /media/apps
    mount /dev/sdb3 /media/apps
    mkdir /media/apps/usr
    cp --preserve=all --recursive /opt /media/apps
    cp --preserve=all --recursive /usr/bin /media/apps/usr
    
  4. Sudo nano le fstab sur /dev/sda1/etc/ pour inclure le texte suivant juste après l'entrée / (le répertoire racine)

    /dev/sdb3  /media/apps          ext4   errors=remount-ro  0   0 
    /opt       /media/apps/opt      none   defaults,bind      0   0
    /usr/bin   /media/apps/usr/bin  none   defaults,bind      0   0
    
  5. redémarrer et tester

La version longue:

Unix/Linux/Ubuntu a été conçu pour être un système d'exploitation serveur avec un ordinateur de bureau après coup, alors que Windows a été conçu pour être un système d'exploitation de bureau et le serveur est venu après coup.

Donc, le = norme de hiérarchie du système de fichiers vous permet d’avoir un nombre illimité de lecteurs/partitions à être situés n’importe où et de les lier au bon lecteur ou partition avec une transparence totale pour l'utilisateur alors que le système d'exploitation Windows est limité à un maximum de 24 lecteurs/partitions accessibles (C: à Z: comme A: et B: sont réservés aux disquettes.)

La plupart des applications que vous installez vous-même sont installées dans /opt/ et /usr/bin, installez donc Ubuntu normalement, puis utilisez les étapes ci-dessous dans lesquelles j'affirme que /dev/sda est votre disque SSD, /dev/sdb est votre disque dur et /dev/sdd est votre clé USB:

  1. Démarrez le disque USB externe avec la version d'Ubuntu que vous venez d'installer.
  2. Créez une partition sur votre disque dur qui contiendra toutes les applications que vous souhaitez installer (disons 64 Go) en utilisant gparted et je suppose que ce sera la troisième partition que vous créerez sur votre disque dur ( /dev/sbd3)
  3. Montez cette partition dans un répertoire temporaire:

    mkdir /media/apps
    mount /dev/sdb3 /media/apps
    
  4. copiez les /opt et /usr/bin existants dans cet emplacement:

    mkdir /media/apps/usr
    cp --preserve=all --recursive /opt /media/apps
    cp --preserve=all --recursive /usr/bin /media/apps/usr
    
  5. Sudo nano le fstab sur /dev/sda1/etc/ pour inclure le texte suivant juste après l'entrée / (le répertoire racine)

    /dev/sdb3  /media/apps          ext4   errors=remount-ro  0   0 
    /opt       /media/apps/opt      none   defaults,bind      0   0
    /usr/bin   /media/apps/usr/bin  none   defaults,bind      0   0
    
  6. redémarrer et tester

  7. Si tout fonctionne correctement, redémarrez à nouveau sur la clé USB et supprimez tout le contenu des /dev/sda1/opt et /dev/sda1/usr/bin pour récupérer l'espace disque encore utilisé par des répertoires obsolètes déjà montés ailleurs.

Avertissement: La dernière commande peut également provoquer le blocage de votre système dans le cas improbable où /dev/sbd3 n'est pas en cours de montage. à une défaillance matérielle

4
Fabby

La solution que j'ai utilisée pour mon Chromebook ne consiste pas à installer des packages, mais à télécharger leur équivalent .tar.gz.

Ce n’est peut-être pas ce que vous cherchez, mais si vous avez un très petit lecteur et que vous voulez séparer votre logiciel essentiel (bureau GNOME, navigateur Web) de votre logiciel supplémentaire (GIMP, IDE, jeux) pour économiser de l’espace local garder votre ordinateur sans lecteur externe, c’est la meilleure solution à ce jour, OMI.

2
acerspyro