Comment créer une clé USB persistante en direct d'Ubuntu 16.04?

12

J'ai besoin d'Ubuntu live persistant de préférence 16.04 car j'ai besoin de sauver tout mon disque dur crypté de 16.04 comme discuté dans le fil de discussion Comment puis-je me rajouter dans le groupe sudo dans HDD crypté de 16.04? Je crée ici un nouveau Live Ubuntu 16.04 persistant avec quelques bugs décrits à la fin avec Videonauth .

  1. sudo apt-get install gksu debootstrap
  2. gksudo gparted. Faites de l'USB ext4en ne laissant que 1 Go de mémoire libre et définissez 1 Go pour Linux Swap; Gérer les drapeaux> uniquement boot.
  3. Préparez le système d'exploitation et exécutez-le sur la clé USB

    sudo mkdir /mnt/stick
    sudo mount /dev/sdb1 /mnt/stick/
    sudo debootstrap --arch=amd64 xenial /mnt/stick http://de.archive.ubuntu.com/ubuntu/
    sudo mount -o bind /dev /mnt/stick/dev
    sudo mount -o bind /dev/pts /mnt/stick/dev/pts
    sudo mount -t sysfs /sys /mnt/stick/sys
    sudo mount -t proc /proc /mnt/stick/proc
    sudo cp /proc/mounts /mnt/stick/etc/mtab
    sudo cp /etc/resolv.conf /mnt/stick/etc/resolv.conf
    sudo chroot /mnt/stick/
    
  4. L'invite ressemble root@masi-CM6340:/#. Définissez les paramètres régionaux.

    %locale-gen en_US en_US.UTF-8
    %dpkg-reconfigure locale
    dpkg-rekonfigure locales % two above commands cause a bug in gnome-terminal; choose here your locales and set environment en_US.UTF-8
    dpkg-reconfigure keyboard-configuration
    localedef -i en_US -c -f UTF-8 en_US.UTF-8
    
  5. apt-get install linux-image-generic. Vous obtenez /dev/sda [NotThisOne, your HDD], 2 /dev/sdb (31474 MB; ???) 2b - /dev/sdb1 (30398 MB; /). Choisissez /dev/sdb1et /dev/sdb. Choisissez ici le noyau Linux ce que vous aimez. Je garde le noyau Linux 4.6 le plus stable que vous pouvez télécharger comme décrit à la fin du corps.

  6. apt-get install vim wget

  7. blkid, Copier dans le presse papier, vim /etc/fstab. Supprimez les sdalignes, donc seulement deux sdblignes. Modifiez-les pour aimer UUID="..." swap swap defaulst 0 0et UUID="..." / ext4 defaults 0 1.

  8. Collez ce qui suit dans le fichier /etc/apt/sources.list

    #deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
    
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
    # newer versions of the distribution.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial main restricted
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial main restricted
    
    ## Major bug fix updates produced after the final release of the
    ## distribution.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
    ## team, and may not be under a free licence. Please satisfy yourself as to
    ## your rights to use the software. Also, please note that software in
    ## universe WILL NOT receive any review or updates from the Ubuntu security
    ## team.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial universe
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial universe
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe
    
    ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
    ## team, and may not be under a free licence. Please satisfy yourself as to 
    ## your rights to use the software. Also, please note that software in 
    ## multiverse WILL NOT receive any review or updates from the Ubuntu
    ## security team.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
    
    ## N.B. software from this repository may not have been tested as
    ## extensively as that contained in the main release, although it includes
    ## newer versions of some applications which may provide useful features.
    ## Also, please note that software in backports WILL NOT receive any review
    ## or updates from the Ubuntu security team.
    deb http://de.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
    # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
    
    ## Uncomment the following two lines to add software from Canonical's
    ## 'partner' repository.
    ## This software is not part of Ubuntu, but is offered by Canonical and the
    ## respective vendors as a service to Ubuntu users.
    deb http://archive.canonical.com/ubuntu xenial partner
    deb-src http://archive.canonical.com/ubuntu xenial partner
    
    deb http://security.ubuntu.com/ubuntu xenial-security main restricted
    # deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
    deb http://security.ubuntu.com/ubuntu xenial-security universe
    # deb-src http://security.ubuntu.com/ubuntu xenial-security universe
    deb http://security.ubuntu.com/ubuntu xenial-security multiverse
    # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
    
  9. Faire

    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl
    apt-get update
    % Comment this out if ubuntu-desktop is wanted
    apt-get install ubuntu-desktop 
    % Comment out if ubuntu-server is wanted
    % apt-get install ubuntu-server
    adduser --home /home/masi masi
    
  10. Ajoutez masiaux groupes existants usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare masioù vous pouvez laisser de côté sambashare.

  11. Ignorez les pilotes car la clé USB n'est pas conçue pour un PC.

  12. Pour récupérer le disque dur chiffré, installez les packages apt-get ecryptfs-utils schroot testdisktestdiskpréparer les disques et les deux autres pour récupérer le disque entier chiffré Ubuntu 16.04.

  13. sudo echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub; update-grub

  14. Finalisez l'installation. Faire

    rm /sbin/initctl
    dpkg-divert --local --rename --remove /sbin/initctl
    

Testez votre installation de Ubuntu 16.04 Live Persistant [alpha]

  1. Démarrez votre nouveau Ubuntu persistant. Dans le terminal, faites sudo true. Si vous obtenez Unable to resolve host * Connection refused, faites

    # /ubuntu//q/59458/25388
    sudo vim /etc/hostname
    masi 
    
    sudo vim /etc/hosts 
    127.0.0.1    localhost.localdomain masi
    [...]
    
  2. Complication possible: Ubuntu démarre dans $ (inittramfs) $. Faire ...

Résultat: l'USB démarre l'interface utilisateur graphique et l'interface utilisateur d'Ubuntu Desktop

  • vous pouvez ouvrir LibreOffice, Firefox, ...
  • masiest dans le groupe sudo; groupes corrects.
  • Les paramètres régionaux sont correctement définis quand chrootcoller.
  • Si vous avez un bug dans gnome-terminal, c'est-à-dire en l'ouvrant dans l'interface graphique, sudo dpkg-rekonfigure localesrecommencez dans TTY1. Il résout l'affaire.

Bogues signalés à Videonauth

Toujours système de mise à jour et mise à niveau à faire des tests: sudo apt-get update && sudo apt-get upgrade.

  1. Navigateur Internet d'Ubuntu. Son lancement bloque le système. La souris ne fonctionne que mais aucun signal ne peut être envoyé au TTY.
  2. Firefox. Son lancement donne un avertissement concernant [le profil existe] et ne peut donc pas s'ouvrir. Correctif temporaire rm -r ~/.mozilla && rm -r ./.cache/mozillauniquement pour une session. Le problème persiste à chaque connexion. Mieux fixer travail: sudo mv -v /home/masi /home/masi_backup, sudo mkdir -v /home/masi, sudo chown masi:masi /home/masi, sudo chmod 755 /home/masiet sudo rebootparce que certains droits de propriété de la maison-dossier , le bogue. Exécutez la commande de la source et vous obtenez les différences suivantes
  3. /etc/hostnamene correspond pas /etc/hostsaprès un certain temps
  4. Parfois, commence à (inittramsfs)

Sortie de vimdiff <(find /home/masi -printf "%P %u:%g %m\n" | sort) <(find /home/masi_backup -printf "%P %u:%g %m\n" | sort)

%LHS-file
.bash_history masi:masi 600
.cache/compizconfig-1/animation.pb masi:masi 664
.cache/compizconfig-1/commands.pb masi:masi 664
.cache/compizconfig-1/compiztoolbox.pb masi:masi 664
% here many files not existing in the RHS

%RHS-file (fresh installation)
.bash_history root:root 600
.bash_logout masi:masi 664
.bashrc masi:masi 644
.cache root:root 700

où je ne comprends pas ce qui a causé le bogue.

Mise à niveau vers Linux Kernel 4.6

Faites comme indiqué ici . Il existe un bogue universel avec reprise / suspension dans le noyau Linux 4.4. La mise à niveau vers 4.6 le résout et améliore le système.

Système: 14.04, 16.04
Noyau Linux: 4.4 - 4.6

Léo Léopold Hertz 준영
la source
2
Avez-vous tous essayé "Startup Disk Creator"? C'est une application graphique qui fera exactement cela, je pense, en utilisant un fichier ISO liveCD standard. Ou UNetBootin, qui créera toutes sortes de disques USB en direct sans même télécharger le fichier ISO en premier (mais peut-être pas encore 16.04).
Marty Fried
1
@Masi Supprimez simplement toutes les données de votre clé USB Ubuntu actuelle, puis suivez les instructions pour créer une nouvelle clé USB Ubuntu persistante. Si vous avez accès à un fichier ISO Ubuntu (ou pouvez en télécharger un), ce serait beaucoup plus facile que d'essayer de «convertir» une clé USB existante en mode persistant.
1
Ne pouvez-vous pas tout supprimer de votre clé USB, puis utiliser Unetbootin ou Startup Disk Creator pour créer un «nouveau» USB live persistant? Ce serait beaucoup plus simple que toutes ces commandes.
Cela ressemble à une installation complète, qui se trouve être sur une clé USB, pas une "clé USB en direct" ...
Xen2050
1
Ma compréhension est que dans Ubuntu, un Live USB est le même qu'un Live CD, vous pouvez l'exécuter mais pas l'enregistrer. Une clé USB persistante est une clé USB en direct avec un fichier ou une partition persistante qui permet d'enregistrer la session. Une installation complète est une installation sur USB en utilisant les mêmes méthodes que l'installation sur le disque dur interne.
CSCameron

Réponses:

11

Pour vous faire une installation complète d'Ubuntu normale sur une clé USB ou un disque dur externe, vous pouvez suivre la procédure que je décris ici.

Vous voulez commencer par faire quelques installations préparatoires, vous avez besoin de gksudoce qui est dans le package gksu, schrootet debootstrap. Ces packages ne sont pas installés par défaut, alors tapez un terminal ( ctrl+ alt+ t):

sudo apt-get install gksu debootstrap schroot

Vous pouvez maintenant commencer à préparer votre USB / disque dur pour l'installation en:

gksudo gparted

Tout d'abord, vous voulez aller dans le devicesmenu et sélectionner create partition table, lorsque vous êtes invité à choisir le type msdos. Vous devriez maintenant voir une entrée pour l'espace non alloué. Cliquez dessus et choisissez nouveau et faites-le ext4 en ne laissant que 1 Go de mémoire libre, puis cliquez à nouveau sur l'entrée d'espace non alloué et faites-en 1 Go pour Linux Swap. Après cela, vous appliquez vos paramètres à l'USB / HDD. Ensuite manage flags, faites un clic droit sur l'entrée ext4 et choisissez et là vous cochez la case bootet quittez.

Vous devez maintenant préparer votre chrootenvironnement à travailler en exécutant les commandes suivantes une par une:

sudo mkdir /mnt/stick
sudo mount /dev/sdb1 /mnt/stick/
sudo debootstrap --arch=amd64 xenial /mnt/stick http://archive.ubuntu.com/ubuntu/
sudo mount -o bind /dev /mnt/stick/dev
sudo mount -o bind /dev/pts /mnt/stick/dev/pts
sudo mount -t sysfs /sys /mnt/stick/sys
sudo mount -t proc /proc /mnt/stick/proc
sudo cp /proc/mounts /mnt/stick/etc/mtab
sudo cp /etc/resolv.conf /mnt/stick/etc/resolv.conf
sudo chroot /mnt/stick/

Votre invite devrait maintenant ressembler à ceci:

root@HOSTNAME:/#

Vous pouvez maintenant commencer votre véritable processus d'installation, commencer par définir le localeparamètre et le keyboard-configurationet installer le noyau.

locale-gen en_US.UTF-8
dpkg-reconfigure locale
dpkg-reconfigure keyboard-configuration
localedef -i en_US -c -f UTF-8 en_US.UTF-8

apt-get install linux-image-generic

Pendant que cette installation GRUBvous demande pour quel appareil être installé. vous verrez une sélection comme celle-ci:

[ ]/dev/sda [NotThisOne, this is your HDD]
[ ]/dev/sdb (31474 MB; ???)
[ ]/dev/sdb1 (30398 MB; /)

Choisissez /dev/sdb1et /dev/sdben vous déplaçant vers le champ respectif à l'aide des touches fléchées et en appuyant sur spacepuis enfin appuyez sur retour. Maintenant, une fois cette installation terminée, vous pouvez installer l'éditeur de votre choix, je le fais ici à titre d'exemple nanoet vim:

apt-get install nano vim

Vous pouvez maintenant modifier votre /etc/fstabfichier, pour cela, obtenez d'abord une liste des UUIDS dans votre système en:

blkid

Cela devrait vous donner une sortie comme celle-ci:

/dev/sda1: UUID="8f8f130f-e127-43b6-b797-8bfa3f1e1631" TYPE="ext4" PARTUUID="06bd4abe-01"
/dev/sda5: UUID="8469c58b-b2bb-4551-b47d-c1a7d21e9ebd" TYPE="swap" PARTUUID="06bd4abe-05"
/dev/sdb1: UUID="b08ab271-5619-479c-aa21-8aea7f4e6f3b" TYPE="ext4" PARTUUID="5872a1f8-01"
/dev/sdb2: UUID="c3309cee-731e-4030-93b9-f1d88c12c806" TYPE="swap" PARTUUID="5872a1f8-02"

Pour faciliter l'édition, vous pouvez copier la sortie du terminal en la sélectionnant avec votre souris et en appuyant sur ctrl+ shift+ c, puis ouvrez l'éditeur de votre choix en tapant (je choisis nano ici par exemple):

nano /etc/fstab

Vous pouvez coller les lignes après avoir effacé le contenu des fichiers en appuyant sur ctrl+ shift+ c. Maintenant, supprimez les lignes marquées par /dev/sdalesquelles est probablement votre disque dur et changez les deux autres lignes pour qu'elles ressemblent finalement à ceci:

UUID=18055918-6045-42e9-9492-66e3fd29c199 swap swap defaults 0 0
UUID=69b5fb9c-774d-4d35-82f2-6a17faa446a1 / ext4 defaults 0 1

Appuyez ensuite sur ctrl+ xpour terminer votre édition, choisissez yd'enregistrer et appuyez surenter

Comme vous devez ensuite remplir votre /etc/apt/sources.list, vous pouvez le faire en copiant et en collant le bloc suivant sur votre terminal et en appuyant enterune fois.

cat > /etc/apt/sources.list << "EOF"
deb http://archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ xenial universe
deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
EOF

Quant aux packages de configuration finale qui doivent être installés et nécessitent des services de démarrage via Upstart, ils doivent être désactivés chroottemporairement dans:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

Maintenant, exécutez une mise à jour et vous pouvez installer l'un ubuntu-serverou l' autre ubuntu-desktopou même les deux tant que vous faites serveur avant le bureau.

apt-get update
# Comment this out if ubuntu-desktop is not wanted
apt-get install ubuntu-desktop 
# remove comment if ubuntu-server is wanted
# apt-get install ubuntu-server

et enfin ajoutez votre utilisateur et mettez-le dans les groupes appropriés:

adduser --home /home/<username> <username>

usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare <username>

Où vous pouvez laisser de côté sambashare si cela vous donne des erreurs. Vérifiez si les paramètres du groupe sont corrects en:

less /etc/group

Vous devriez voir pour chaque groupe répertorié dans la usermodcommande ci-dessus et l'entrée comme ceci (exemple sudo):

sudo:x:27:<username>

Sinon, ajoutez les groupes un par un avec la usermodcommande ci-dessus . Il est maintenant temps d'installer peut-être des pilotes et des outils utiles, je n'en énumère ici que quelques-uns pour votre cas.

apt-get ecryptfs-utils testdisk schroot

Pour que GRUB reconnaisse uniquement votre clé en tant que système d'exploitation et n'ajoute pas le système sur lequel vous avez construit la clé, procédez comme suit:

echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub
update-grub

Finalisez l'installation en:

rm /sbin/initctl
dpkg-divert --local --rename --remove /sbin/initctl

Vous pouvez maintenant redémarrer sur votre clé USB et disposer d'un système Ubuntu entièrement installé. Si vous rencontrez des problèmes pour ne pas pouvoir démarrer le terminal qui semble être lié à un bug, gnome-terminalvous pouvez vérifier dans TTY ( ctrl+ alt+ f1et vous connecter avec votre nom d'utilisateur et votre mot de passe) le contenu /var/log/syslogs'il contient des lignes comme celle-ci:

May 7 22:30:00 NEXUS-TWO org.gnome.Terminal[1432]: Non UTF-8 locale (ISO-8859-1) is not supported!

Pour résoudre ce problème, il semble suffisant d'exécuter sudo dpkg-reconfigure localesdans TTY et de choisir explicitement UTF-8. ou définissez la langue, etc. dans les paramètres de l'interface graphique. Redémarrez ensuite.

Videonauth
la source
Est-ce très différent de ce que fait l'installateur automatique (ubiquité?)? Je ne sais pas si l'OP utilise correctement le terme " live " ...
Xen2050
Je ne sais pas ubiquityencore, cette réponse est le résultat d'une longue conversation avec le PO.
Videonauth
Le défaut d' installation Ubuntu, je pense encore Ubuquity
Xen2050
1
devrait marcher
Videonauth
@Videonauth S'il vous plaît, voyez le corps. Quelques nouveaux cas trouvés. Comment le /etc/hostnameet devrait- il /etc/hostss'installer? - - Ils ont commencé à échouer dans mon système après un certain temps et maintenant (inittramfs).
Léo Léopold Hertz
5

Voici quelques détails. (Quelqu'un d'autre devrait écrire un avis plus indépendant sur les avantages et les inconvénients.)

  • Clonage: dd est un outil très puissant mais aussi très dangereux, souvent surnommé «destructeur de disque» ou «destructeur de données». dd est utilisé pour cloner un fichier iso sur une clé USB. Lors de la création de lecteurs de démarrage USB en direct, mkusb `` enroule une ceinture de sécurité autour de dd ''. Cette méthode fonctionne pour tous les fichiers iso hybrides, et la plupart des distributions Linux modernes fournissent ce type de fichiers iso. Le nouveau Ubuntu Startup Disk Creator dans 16.04 LTS utilise également la méthode de clonage.

  • De nombreux autres outils extraient le contenu du fichier iso vers une partition FAT32, par exemple Rufus et Unetbootin . (Rufus a également un ddmode de clonage .)

  • mkusb est un outil Linux . Cela ne fonctionne pas sous Windows.

  • mkusb est un script bash , qui utilise plusieurs outils standard, disponibles dans la plupart des distributions Linux. mkusb utilise zenity pour une interface utilisateur graphique lorsqu'elle est disponible.

  • mkusb-nox (No X) fonctionne en mode texte , par exemple dans Ubuntu Server. mkusb-dus (alias mkusb version 12) peut également fonctionner en mode texte avec des menus en mode texte de dialogue ou avec une interface en texte brut.

  • Certains des autres outils consistent en du code compilé .

  • mkusb peut créer des systèmes live persistants pour Debian et Ubuntu . Ces systèmes sont démarrés via grub2 et le fichier iso est cloné sur une partition distincte. Une partition casper-rw sera créée pour la persistance et une partition usbdata sera créée pour stocker des données et partager des données avec des ordinateurs exécutant Windows. Ces systèmes vivants persistants peuvent démarrer en mode UEFI et BIOS.

  • mkusb-nox et mkusb-dus (alias version 12) peuvent créer un programme d' installation USB pour Windows 7-10 via l'extraction. Il utilise le package grub-pc pour installer grub2, ce qui rend le démarrage de la clé USB en mode BIOS. Ce système peut démarrer en mode UEFI et BIOS.

  • mkusb ne crée pas de lecteurs USB à démarrage multiple. Il existe d'autres outils à cet effet.

  • mkusb peut également effacer les données déroutantes et / ou restaurer un lecteur de démarrage USB sur un périphérique de stockage standard avec une table de partition MSDOS et un système de fichiers FAT32.

Voir les liens suivants si vous voulez plus de détails,

sudodus
la source
Ce serait formidable d'obtenir plus d'informations sur les limites de mkusb.
Léo Léopold Hertz 준영
1
Veuillez demander et je vous répondrai. Ou encore mieux, essayez-le et demandez si quelque chose ne fonctionne pas :-)
sudodus
4

Wow, cela semble complexe, mkusb peut faire une installation Live Persistent beaucoup plus rapidement que je ne peux lire les deux procédures ci-dessus. Ils sonnent également comme des installations complètes et non des installations Live persistantes. Une installation persistante utilise un fichier ou une partition casper-rw. Il est appelé installation persistante car le mot persistant dans le fichier de démarrage est utilisé pour activer la persistance.

Voir: https://help.ubuntu.com/community/mkusb pour plus de détails sur mkusb .

Un lecteur USB fabriqué avec mkusb n'a également aucun problème à effectuer une installation complète sur le disque dur ou USB.

CSCameron
la source
Il semble également être pris en charge dans Debian.
Léo Léopold Hertz 준영
Cela fonctionne également en faisant une petite base pour Puppy Tahr, entre autres O / S
CSCameron
Ce serait bien d'avoir un avis sur les différences concernant l'outil avec l'autre méthode. Avantages et inconvénients.
Léo Léopold Hertz 준영
Un bon guide pour créer des clés USB
CSCameron
Sur cette page est un guide d'installation rapide édité par le créateur de mkusb, Sudodus. Notez que mkusb évolue rapidement et est à la version 11.1.9 en ce moment, il peut également se diriger vers un programme d'installation plus direct nommé dus.
CSCameron