Benutzer:Thomas: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
Zeile 33: | Zeile 33: | ||
(...ausserdem muss man beim booten nur einmal ein passwort eingeben...) | (...ausserdem muss man beim booten nur einmal ein passwort eingeben...) | ||
===Einrichtung=== | |||
* auf der untersten Ebene sammelt man, Partition für Partition nacheinander ("fließende Migration"), alle physischen Partitionen (ausser einer für /boot) als lvm '''physical volume''' (pv) in einer '''volume group''' "everything" zusammen | * auf der untersten Ebene sammelt man, Partition für Partition nacheinander ("fließende Migration"), alle physischen Partitionen (ausser einer für /boot) als lvm '''physical volume''' (pv) in einer '''volume group''' "everything" zusammen | ||
sudo pvcreate /dev/sda2 | sudo pvcreate /dev/sda2 | ||
Zeile 38: | Zeile 39: | ||
sudo pvcreate /dev/sda3 | sudo pvcreate /dev/sda3 | ||
sudo vgextend everything /dev/sda3 | sudo vgextend everything /dev/sda3 | ||
(auf einer jungfräulichen Festplatte, die man vollständig für Ubuntu nutzen möchte, würde man zunächst zwei BIOS-Partitionen anlegen, eine für /boot und eine für das einzige physical volume der volume group "everything") | |||
* in "everything" erstellt man ein '''logical volume''' "rawcrypt", das dann mit cryptsetup aufgesetzt wird. | * in "everything" erstellt man ein '''logical volume''' "rawcrypt", das dann mit cryptsetup aufgesetzt wird. | ||
Beim ersten Mal ist | Beim ersten Mal ist | ||
Zeile 55: | Zeile 57: | ||
Die unverschlüsselten Dateisysteme legt man direkt in logical volumes aus der volume group "everything" an. Hier gibt es keinen Grund für eine weitere Indirektion. | Die unverschlüsselten Dateisysteme legt man direkt in logical volumes aus der volume group "everything" an. Hier gibt es keinen Grund für eine weitere Indirektion. | ||
===Konfiguration=== | |||
Das swap-Gerät /dev/mapper/crypt-swap wird wie gewohnt in der ''/etc/fstab'' eingetragen, die Nutzung einer UUID ist dabei nicht notwendig. | Das swap-Gerät /dev/mapper/crypt-swap wird wie gewohnt in der ''/etc/fstab'' eingetragen, die Nutzung einer UUID ist dabei nicht notwendig. | ||
Zeile 67: | Zeile 70: | ||
Zum Schluss muss man dafür sorgen, dass das initramfs die für das booten nötigen Informationen enthält: | Zum Schluss muss man dafür sorgen, dass das initramfs die für das booten nötigen Informationen enthält: | ||
sudo update-initramfs -c -k all | sudo update-initramfs -c -k all | ||
===Bemerkungen=== | |||
Die Hibernate-Funktion testen kann man aus einer root-shell mittels | Die Hibernate-Funktion testen kann man aus einer root-shell mittels | ||
echo 4 > /proc/acpi/sleep | echo 4 > /proc/acpi/sleep | ||
VOR dem ganzen Geraffel habe ich in ''/etc/lvm/lvm.conf'' den Wert ''format="lvm2"'' gesetzt. Inwieweit das gut oder schlecht ist, konnte ich dem Internet nicht entnehmen. Ohne diese Änderung habe ich es einfach nicht ausprobiert. Mit ''pvscan'' kann man den Typ existierender physical volumes ermitteln. | VOR dem ganzen Geraffel habe ich in ''/etc/lvm/lvm.conf'' den Wert ''format="lvm2"'' gesetzt. Inwieweit das gut oder schlecht ist, konnte ich dem Internet nicht entnehmen. Ohne diese Änderung habe ich es einfach nicht ausprobiert. Mit ''pvscan'' kann man den Typ existierender physical volumes ermitteln. | ||
Zeile 80: | Zeile 83: | ||
Will man später das logical volume "swap" ändern (verkleinern/vergrößern), reicht ein ''swapoff'' nicht, lvm beschwert sich, dass es immer noch in Gebrauch wäre (ich halte das für einen Bug). Auf Ubuntu in den rescue-Modus zu booten löst das Problem nicht, da dann schon der swap aktiviert ist. Man muss das Passwort für den verschlüsselten Bereich 9+6 Mal falsch eingeben -- oder man bootet gleich von einem anderen Medium. | Will man später das logical volume "swap" ändern (verkleinern/vergrößern), reicht ein ''swapoff'' nicht, lvm beschwert sich, dass es immer noch in Gebrauch wäre (ich halte das für einen Bug). Auf Ubuntu in den rescue-Modus zu booten löst das Problem nicht, da dann schon der swap aktiviert ist. Man muss das Passwort für den verschlüsselten Bereich 9+6 Mal falsch eingeben -- oder man bootet gleich von einem anderen Medium. | ||
===Links=== | |||
* [http://www.tldp.org/HOWTO/LVM-HOWTO/anatomy.html "anatomy of LVM" aus dem LVM-Howto (en), für die drei LVM-Grundbegriffe] | |||
* [http://wiki.ubuntuusers.de/Logical_Volume_Manager Gute LVM-Übersicht auf deutsch, schneidet auch Dateisystemvergrößerung an] | |||
* [https://systemausfall.org/wikis/howto/CryptoPartitionHowTo deutssprachige cryptsetup-Anleitung mit Paranoia-Modus] | |||
==sonstiges== | ==sonstiges== | ||
[[VirtualBox Lösungen]] | [[VirtualBox Lösungen]] |
Version vom 21. Juni 2008, 02:15 Uhr
Kontakt
- Jabber: schnittchen ÄT das-labor PUNKT org
Dienste, die keine X-Clients sind, mit der Gnome Session starten und beenden
Das Problem: Dienste, die selbst keine X-Clients sind, werden beim Beenden der X-Session nicht automatisch beendet. Es ist nämlich keineswegs so, dass das Gnome Session Management allen eingetragenen Prozessen zum Schluss ein entsprechendes Signal sendet -- vielmehr müssen Clients das Ende der Session daraus ableiten, dass ihre Verbundung zum X-Server stirbt.
Das folgende Skript macht sich zu Nutze, dass die dbus-Session zusammen mit der X-Session stirbt. Ein beliebiger X-Client, der nichts tut (dem Nutzer nicht in die Quere kommt), würde es hier tun. Falls jemandem eine "leichtere" Lösung einfällt: bitte melden!
#!/usr/bin/ruby SUB_COMMAND = "Pfad des Dienstes" COMMAND_ARGS = "-d -f blahfu".split TERMINATE_SIG = "TERM" #Ändere zu INT für den Rails Webrick ./script/server child = fork { exec(SUB_COMMAND, *COMMAND_ARGS) } puts child #ein x-client, der sich mit dem Ende der Sitzung beendet system("dbus-monitor", "sender='yyy.invalid'") Process.kill(TERMINATE_SIG, child) Process.wait(child, Process::WNOHANG)
Dieses Skript anpassen, ausführbar ablegen und in die Gnome-Session eintragen (System->Einstellungen->Sitzungen, Tab Startprogramme).
Dinge, die mal jemand machen sollte (Software)
- -U Option für mkswap, um die UUID zu setzen
LVM+cryptsetup triple layer mit Hibernate auf Ubuntu
LVM ist ja unter anderem dafür da, sich von der Knechtschaft der Partitionierungsschemata zu befreien, um bei Bedarf Dateisysteme verkleinern oder vergrössern zu können oder weitere anzulegen. Wenn man nun sowohl verschlüsselte als auch unverschlüsselte Dateisysteme haben will UND (gewissermassen) die Grenze zwischen beiden Bereichen verschieben können will UND keine Lust/nicht ausreichend Verschiebeplatz hat, um komplett neuzupartitionieren, dann funktioniert folgendes Layout: (...ausserdem muss man beim booten nur einmal ein passwort eingeben...)
Einrichtung
- auf der untersten Ebene sammelt man, Partition für Partition nacheinander ("fließende Migration"), alle physischen Partitionen (ausser einer für /boot) als lvm physical volume (pv) in einer volume group "everything" zusammen
sudo pvcreate /dev/sda2 sudo vgcreate everything /dev/sda2 sudo pvcreate /dev/sda3 sudo vgextend everything /dev/sda3
(auf einer jungfräulichen Festplatte, die man vollständig für Ubuntu nutzen möchte, würde man zunächst zwei BIOS-Partitionen anlegen, eine für /boot und eine für das einzige physical volume der volume group "everything")
- in "everything" erstellt man ein logical volume "rawcrypt", das dann mit cryptsetup aufgesetzt wird.
Beim ersten Mal ist
sudo modprobe dm-mod
nötig. Dann:
sudo lvcreate -L Größe -n rawcrypt everything sudo dd if=/dev/urandom of=/dev/mapper/everything-rawcrypt sudo cryptsetup luksFormat /dev/mapper/everything-rawcrypt sudo cryptsetup luksOpen /dev/mapper/everything-rawcrypt pvcrypt
- das mit cryptsetup auf "rawcrypt" erstellte verschlüsselte volume "pvcrypt" wird als physical volume angemeldet und als einziges pv der volume group "crypt" zugefügt:
sudo pvcreate /dev/mapper/pvcrypt sudo vgcreate crypt /dev/mapper/pvcrypt
- in "crypt" legt man seine logical volumes an, die verschlüsselt sein sollen, etwa swap:
sudo lvcreate -L Größe -n swap crypt sudo mkswap /dev/mapper/crypt-swap
Die unverschlüsselten Dateisysteme legt man direkt in logical volumes aus der volume group "everything" an. Hier gibt es keinen Grund für eine weitere Indirektion.
Konfiguration
Das swap-Gerät /dev/mapper/crypt-swap wird wie gewohnt in der /etc/fstab eingetragen, die Nutzung einer UUID ist dabei nicht notwendig.
Anscheinend ist im Header der physical volumes eingetragen, welche volume group sie konstituieren. Entsprechend weiss jede volume group natürlich von ihren logical volumes. Daher ist für lvm Nichts weiter in eine Konfigurationsdatei einzutragen.
Damit die init-Skripte von unserem cryptsetup-Mapping wissen, muss es in der /etc/crypttab eingetragen werden:
pvcrypt /dev/mapper/everything-rawcrypt none luks
Will man die Hibernate-Funktion nutzen, muss das Gerät dafür (also unser swap) in /etc/initramfs-tools/conf.d/resume eingetragen werden:
RESUME=/dev/mapper/crypt-swap
Zum Schluss muss man dafür sorgen, dass das initramfs die für das booten nötigen Informationen enthält:
sudo update-initramfs -c -k all
Bemerkungen
Die Hibernate-Funktion testen kann man aus einer root-shell mittels
echo 4 > /proc/acpi/sleep
VOR dem ganzen Geraffel habe ich in /etc/lvm/lvm.conf den Wert format="lvm2" gesetzt. Inwieweit das gut oder schlecht ist, konnte ich dem Internet nicht entnehmen. Ohne diese Änderung habe ich es einfach nicht ausprobiert. Mit pvscan kann man den Typ existierender physical volumes ermitteln.
Irgendwo las ich, dass für LVM physical volumes, die sich in BIOS Partitionen befinden, der Partitionstyp 0x8E vorgesehen ist.
Die gesamten lvm Tools warnen nicht davor, wenn man sie nicht mit root-Rechten bedient.
Will man später das logical volume "swap" ändern (verkleinern/vergrößern), reicht ein swapoff nicht, lvm beschwert sich, dass es immer noch in Gebrauch wäre (ich halte das für einen Bug). Auf Ubuntu in den rescue-Modus zu booten löst das Problem nicht, da dann schon der swap aktiviert ist. Man muss das Passwort für den verschlüsselten Bereich 9+6 Mal falsch eingeben -- oder man bootet gleich von einem anderen Medium.
Links
- "anatomy of LVM" aus dem LVM-Howto (en), für die drei LVM-Grundbegriffe
- Gute LVM-Übersicht auf deutsch, schneidet auch Dateisystemvergrößerung an
- deutssprachige cryptsetup-Anleitung mit Paranoia-Modus