Sqlite3: unreadable database

Kleiner Beitrag aus der Selbsthilfeecke:

Wenn eine App bei einem Sqlite3 Zugriff „unreadable database“ von sich gibt, dann liegt das vermutlich daran, daß der User der Datenbank, in dem Fall ist das die UserID der Anwendung, welche die Datenbank nutzen will, keine Schreibrechte … und jetzt kommts .. auf dem Verzeichnis hat, wo das Datenbankfile liegt.

[root synapse]# ls -la /etc/synapse/
insgesamt 2048
drwxrwxr-x 3 synapse synapse 4096 12. Feb 11:38 .
drwxr-xr-x 133 root root 12288 12. Feb 11:31 ..
-rw-r--r-- 1 synapse synapse 1654784 12. Feb 11:38 homeserver.db

Die Lösung ist also fix gemacht:

cd /path/to/database
chgrp appusergroup .
chmod g+w .

und schon geht es wieder.

Wer sich jetzt noch fragt, was Synapse ist: Ein MatrixServer

Pinephone: Wenn das Audio streikt

Moin, Moin,

noch ist nicht alles perfekt auf dem Pinephone, heute beheben wir ein Audioproblem.

Pinephone: Wenn das Audio streikt

Ab und zu kann es passieren, daß das Audio des Pinephones nicht mehr will. Wenn man dreist einen Kopfhörer einführt zum Beispiel, dann ist der Ton weg und kommt auch nicht wieder. Das liegt z.Z. noch an einem kleinen Erkennungsproblem, weil das Abziehen des Headsets nicht die Rückumstellung der Konfiguration des Audiodevices auslöst.

Lösung:

Einfach den PulseaudioLautstärkeregler starten  und in der Konfiguration von „Headphones (eingesteckt)“ auf „Mehrkanal-Ausgabe + Stereo-Eingabe“ ändern:

Pinephone Pulseaudio-Lauitstärkeregler

Pulseaudio-Lautstärkeregler

Im Anschluss kann es nötig sein, wieder die Lautsprecher zu aktivieren:

$ pineaudio -s

Wie man im Bild sehen kann,  man braucht nicht für alles eine eigene Aktivität 😉 Im Hintergrund „Feeds“, dazu später mehr.

 

Krita 4.3.0 fehlt der untere Scrollbar

Moin,

in Krita wurde ein lästiges kleines Problem entdeckt, daß bei der Bildbearbeitung echt nervig sein kann.

Krita 4.3.0 fehlt der untere Scrollbar

Wenn Ihr mal in diese Grafik schauen möchtet, dann achtet mal auf den unteren Rand vom Bearbeitungsfeld mit dem Bild drin:

Das Grafikbearbetitungsprogramm Krita geöffnet mit einem Bild, es fehlen die horizontalen BalkenRechts sieht man den vertikalen Scrollbalken, aber der horizontale fehlt.

Wie bekommt Ihr das Bild jetzt bewegt, so daß Ihr z.b. sauber ausschneiden könnt?

Da gibt es jetzt zwei Wege das Problem zu lösen:

1) Ihr benutzt das Move-Tool, das ist das kleine Seefahrer Kreuz in der Iconleiste von Krita

oder 2) Ihr schaltet die Leiste von Cinnamon ab, denn einer Eingebung folgend, habe ich auf Verdacht mal nachgesehen, ob nicht einfach das Fenster hinter der Leiste ist, was es war 😀Es wird ein Bild ohne Iconleiste den Windowmanagers Cinnamon gezeigt, das beweißt, daß die horozontale Scrollbar unter der Leiste von Cinnamon liegtWer genau hinschaut, sieht am unteren Rand noch einige andere „Rahmen“. Leider war ich nicht in der Lage die auch komplett sichtbar zu machen.

Bei Cinnamon als Fenstermanager könnt Ihr die Leiste „intelligent oder Automatisch ausblenden“ lassen. Einstellen kann man das in den Leisteneinstellungen, die man mit rechtem Mausklick auf die Leiste oder per Einstellungsmenü von Cinnamon erreicht:

Auf gleichen Wege kann man die Leiste später auch wieder permanent sichtbar machen. Bugreport ist raus, schauen wir mal. ggf. wars auch nur ein Glitch und das fängt sich wieder.

 

Xenserver: VDI löschen geht nicht – was tun?

Moin,

heute widmen wir uns eines kleinen Problems, daß auftreten kann, wenn beim Xenserver was richtig schlief läuft:

Beim Transfer einer VM von einem Server zum Anderen ( Stichwort: vm-import ) brach der Transfer zusammen und die importierte VM war defekt. Zu dem Zeitpunkt lies sich weder der Import abbrechen, noch störte das den zweiten Versuch. Erst beim Aufräumen der VM und Festplatten, die beim Import automatisch angelegt werden, kam es zum Problem:

Error: „This Operation Cannot be Performed Because a VDI is in Use by Some Other Operation“

Ja, ok. Und nu? Die zu löschende VM ( vm-destroy ) lies sich noch löschen, aber die daran angehängten Festplatten ( VDI ) nicht mehr. Diese wurden noch vom hängenden Import Prozess blockiert, der an der Dom0 hängt.

Hinweis: Die UUID hier sind die von meinem Server, Ihr habt andere! Die Befehle einfach so in die Konsole hauen, wird schlimmstenfalls Sachen löschen, die Ihr nicht löschen wolltet oder es passiert gar nichts 😀

Da muß man jetzt die Zähne zusammenbeißen und ein paar unfreundliche Anweisungen manuell in die Konsole hauen:

1. Damit wird der hängende Importtask endgültig terminiert:

xe-toolstack-restart

Für sich betrachtet ist der Befehl allerdings harmlos, damit geht noch nichts kaputt 😉

2. Damit sucht man sich die UUID der Festplatte raus, die man löschen will.

xe vdi-list

3. Jetzt müssen wir die VBD ( Virtual Block Device ) zu der VDI finden:

xe vbd-list vdi-uuid=bc83886b-5723-4dfe-9d5b-feebb2917d0f

Da kommt in etwa sowas raus:

uuid ( RO) : d16248e4-2c24-fa3a-1364-dcb43f5f6858
vm-uuid ( RO): 253c1fde-78d4-3719-ede6-8d0bd223b873
vm-name-label ( RO): Control domain on host: xen1
vdi-uuid ( RO): bc83886b-5723-4dfe-9d5b-feebb2917d0f
empty ( RO): false

4. Jetzt die Augen zu und durch: die VBD abziehen und löschen

xe vbd-unplug uuid=d16248e4-2c24-fa3a-1364-dcb43f5f6858
xe vbd-destroy uuid=d16248e4-2c24-fa3a-1364-dcb43f5f6858

5. und jetzt weg mit der VDI:

xe vdi-destory uuid=611441f9-20c7-6775-716a-37c78b6d672e

6. Jetzt empfehle ich noch das Storage Repository ( SR ) neu zu scannen:

xe sr-list
xe sr-scan uuid=655e2297-b012-d722-1c5f-c2814226a942

Damit wird die Liste der virtuellen Festplatten aktualisiert.

FireFox: Netflix-Fehler M7399-1260 ist wieder da

Seit 2 Tagen ist Netflix-Fehler M7399-1260 wieder im Firefox zu sehen, wenn man versucht einen Film abzuspielen. Verursacht wird dies durch das „Netflix 1080p“ Add-On von Vladikoff.

Firefox, Linux und die 1080p Wiedergabe von Netflix

Es ist ein ewiger K(r)ampf zwischen den Leuten, die NetFlix auf Linux mit 1080p sehen wollen und NetFlix, das irgendwie so gar kein Interesse hat, das zuzulassen, obwohl die Leute dafür bezahlen. Deswegen haben zwei findige Menschen das Problem analysiert und unabhängig voneinander zwei Add-Ons für Firefox entwickelt, die das lösen: NetFlix 1080p ist so ein Add-On.

Seit 2 Tagen steuert NetFlix dagegen und verweigert die Wiedergabe, wenn das Add-On aktiv ist. Mozilla hatte das Add-On auch bereits aus dem Add-On-Repository verbannt, weil es Teile des NetFlix Sourcecodes modifiziert und mitgeliefert hat. Das führt zu der nicht so schönen Situation, daß Benutzer das Add-On nicht ohne weiteres mehr hinzufügen können. Updates gestalten sich auch eher aufwändig.

Workaround

Für Benutzer die das Add-On bereits installiert haben, gibt es einen einfachen Workaround:

Add-On abschalten, Film anstarten, anhalten und das Add-On wieder aktivieren.

Wenn man jetzt die Serie oder den Film wieder frisch! anstartet, ist er 1080p und es kommt keine Fehlermeldung M7399-1260 mehr. Scheinbar prüft NetFlix das nur einmal in der Session und danach kann das Add-On wieder übernehmen.

Kniffliger wird die Sache, wenn man das Add-On noch nicht hat. Da gibt es jetzt 1,5 Wege:

1)

  1. via about:config
  2.  xpinstall.signatures.required auf false setzen
  3. Add-On-XPI-File im Add-On-Manager von Hand installieren

Problem dabei, Ihr müßtet XPI Files aus dubiosen Quellen vertrauen. z.B. dem hier:

https://github.com/vladikoff/netflix-1080p-firefox/files/3438656/Netflix_1080p_v1.9_for_Fx.zip

Da es direkt von Valdikoff kommt, kann man dem Link wohl vertrauen. Bei anderen wäre ich vorsichtiger. Ich habe es daher ausprobiert und es geht. Einfach das ausgepackte XPI File nach .mozilla/firefox/<DEIN PROFIL>/extensions/  kopieren, Firefox neu starten. Fertig.

oder 2)

Das GitHub-Repo von Valdikoff ( Link oben ) auschecken und die Dateien als Extension selbst in den Extension-Ordner vom FireFox verfrachten. Leider gibt es dazu keine einfache Anleitung. Der Inhalt vom Git müßte in ein XPI File umgewandelt werden. Wenn man eh so weit ist, kann man es auch wie in 1) installieren.

Es hätte nur den Vorteil, daß man Updates verscripten könnte und das dann automatisch gemacht werden kann.

Firefox 65 und das Tableistendrama

Es ist eigentlich mal wieder Zeit den Rick rauszukehren: Die Firefoxlayouter haben am HTML für die Oberfläche rumgespielt und damit die Anpassungen für die Tableiste verkompliziert. Rick bleibt aber im Schrank, ich hab keine Lust mehr mich noch länger mit dem Scheiss zu beschäftigen, als es mich jetzt schon wieder gekostet hat!

Die Lösung – userChrome.css

Wie schon in dem Beitrag Der schnellste Firefox nachzulesen war, kann man einiges über die userChrome.css rückgängig machen, was einem an dem wohl langsamsten Firefox aller Zeiten nicht gefällt. Und hier kommt es auch schon:

/* Tab bar below Navigation & Bookmarks Toolbars */
#nav-bar { /* main toolbar */
-moz-box-ordinal-group: 1 !important;
box-shadow: none !important;
}
#PersonalToolbar { /* bookmarks toolbar */
-moz-box-ordinal-group: 2 !important;
height: 100px;
}
#TabsToolbar { /* tab bar */
-moz-box-ordinal-group: 3 !important;
padding-top: 0px !important;
top: 92px;
position: absolute;
}

.tabbrowser-tab,#new-tab-button {
display: inline-block !important;
width: auto !important;
background:red;
height: auto !important;
min-height: 33px;
}

#personal-bookmarks {
display: inline;
}

#personal-bookmarks {
vertical-align: top;
position:absolute;
margin-top: -25px !important;
}

vbox#titlebar {
position:relative;
}

toolbox#navigator-toolbox {
position:relative;
}


/* Clean up spacing */
.titlebar-placeholder {
display: none !important;
}
toolbarbutton.bookmark-item {
padding-top: 2px !important;
padding-bottom: 2px !important;
}

/* If you display either:
(1) The title bar, or
(2) On Windows, the menu bar
You might not want the following extra space above the main toolbar. 
In that case, delete the following rule:
*/
#navigator-toolbox {
padding-top: 20px !important;
}

/* Background for Light and Dark themes */
#main-window[lwthemetextcolor="bright"] #TabsToolbar, 
#main-window[lwthemetextcolor="dark"] #TabsToolbar {
background-color: var(--chrome-secondary-background-color) !important;
background-image: none !important;
}
#main-window[lwthemetextcolor="dark"] .scrollbutton-up,
#main-window[lwthemetextcolor="dark"] .scrollbutton-down,
#main-window[lwthemetextcolor="dark"] .tabs-newtab-button,
#main-window[lwthemetextcolor="dark"] #new-tab-button,
#main-window[lwthemetextcolor="dark"] #alltabs-button {
fill: var(--lwt-text-color) !important;
}
/* Left and right borders on Win 7 & 8, but not on 10 and later: */
@media (-moz-os-version: windows-win7), (-moz-os-version: windows-win8) {
/* Vertical toolbar border */
#main-window[sizemode=normal] #navigator-toolbox > vbox#titlebar > toolbar#TabsToolbar {
border-left: 1px solid hsla(240,5%,5%,0.3) !important;;
border-right: 1px solid hsla(240,5%,5%,0.3) !important;;
background-clip: padding-box;
}
}

/* Override vertical shifts when moving a tab (9 Jan 2018) */
#TabsToolbar[movingtab] {
padding-bottom: 0 !important;
}
#TabsToolbar[movingtab] > .tabbrowser-tabs {
padding-bottom: 0 !important;
margin-bottom: 0 !important;
}
#TabsToolbar[movingtab] + #nav-bar {
margin-top: 0 !important;
}

/* tab top border roundness */
#TabsToolbar .tabs-newtab-button,
#TabsToolbar .tabbrowser-tab,
#TabsToolbar .tabbrowser-tab .tab-stack,
#TabsToolbar .tabbrowser-tab .tab-background,
#TabsToolbar .tabbrowser-tab .tab-content {

border-top-left-radius: 8px !important;
border-top-right-radius: 8px !important;
background-color: #f4f4f4;
border-top: 1px solid #d8d8d8;
border-left: 1px solid #d8d8d8;
border-right: 1px solid #d8d8d8;
border-image: none !important;
}

#TabsToolbar .tabbrowser-tab .tab-stack {
margin-left: 1px !important;
margin-right: 1px !important;

}

#TabsToolbar .tabbrowser-tab::after,
#TabsToolbar .tabbrowser-tab::before {
border-left: none !important;
}

/* tab-background tab-loading-burst tab-content */
/* tab-stack ist der gesamte tab */

.tab-line {
display: none;
}
/* remove colored line above each tab */

#TabsToolbar .tabbrowser-tab .tab-line {
visibility: hidden;

}

Erwartet nicht zuviel, es ist nicht perfekt und könnte bei abweichenden Fonts oder DPI Zahl im System angepaßt werden müssen. Ich habe die Stellen markiert, die dann vermutlich anzupassen sind.

Kleines Update:

Sie sieht die neueste Version aus:

Erst fand ich den Gedanken, daß Tabs unterschiedlich groß sind ungewohnt, aber es hat was. Besonders wenn die alle mit „Gockel – Nachrichten …… “ anfangen :

/* Tab bar below Navigation & Bookmarks Toolbars */
#nav-bar { /* main toolbar */
  -moz-box-ordinal-group: 1 !important;
  box-shadow: none !important;
}
#PersonalToolbar { /* bookmarks toolbar */
  -moz-box-ordinal-group: 2 !important;
  height: 100px;
}
#TabsToolbar { /* tab bar */
  -moz-box-ordinal-group: 3 !important;
  padding-top: 0px !important;
  top:    92px;
  position: absolute;
}

.tabbrowser-tab,#new-tab-button {
  display: inline-block !important;
  width: auto !important;
  min-width: 10em !important;
  height: auto !important;
  min-height: 33px;
}
tab#tabbrowser-tab {
  max-width: auto !important;
}

#personal-bookmarks {
  display: inline;
}

#personal-bookmarks {
  vertical-align: top;
  position:absolute;
  margin-top: -25px !important;
}

vbox#titlebar {
  position:relative;
}

toolbox#navigator-toolbox {
  position:relative;
}


/* Clean up spacing */
.titlebar-placeholder {
  display: none !important;
}
toolbarbutton.bookmark-item {
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

/* If you display either:
   (1) The title bar, or
   (2) On Windows, the menu bar
   You might not want the following extra space above the main toolbar. 
   In that case, delete the following rule:
*/
#navigator-toolbox {
  padding-top: 20px !important;
}

/* Background for Light and Dark themes */
#main-window[lwthemetextcolor="bright"] #TabsToolbar, 
#main-window[lwthemetextcolor="dark"] #TabsToolbar {
  background-color: var(--chrome-secondary-background-color) !important;
  background-image: none !important;
}
#main-window[lwthemetextcolor="dark"] .scrollbutton-up,
#main-window[lwthemetextcolor="dark"] .scrollbutton-down,
#main-window[lwthemetextcolor="dark"] .tabs-newtab-button,
#main-window[lwthemetextcolor="dark"] #new-tab-button,
#main-window[lwthemetextcolor="dark"] #alltabs-button {
  fill: var(--lwt-text-color) !important;
}
/* Left and right borders on Win 7 & 8, but not on 10 and later: */
@media (-moz-os-version: windows-win7), (-moz-os-version: windows-win8) {
  /* Vertical toolbar border */
  #main-window[sizemode=normal] #navigator-toolbox > vbox#titlebar > toolbar#TabsToolbar {
    border-left: 1px solid hsla(240,5%,5%,0.3) !important;;
    border-right: 1px solid hsla(240,5%,5%,0.3) !important;;
    background-clip: padding-box;
  }
}

/* Override vertical shifts when moving a tab (9 Jan 2018) */
#TabsToolbar[movingtab] {
  padding-bottom: 0 !important;
}
#TabsToolbar[movingtab] > .tabbrowser-tabs {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#TabsToolbar[movingtab] + #nav-bar {
  margin-top: 0 !important;
}

   /* tab top border roundness */
#TabsToolbar .tabs-newtab-button,
#TabsToolbar .tabbrowser-tab,
#TabsToolbar .tabbrowser-tab .tab-stack,
#TabsToolbar .tabbrowser-tab .tab-background,
#TabsToolbar .tabbrowser-tab .tab-content {

	border-top-left-radius: 8px !important;
	border-top-right-radius: 8px !important;
        background-color: #f4f4f4;
        border-top: 1px solid #d8d8d8;
        border-left: 1px solid #d8d8d8;
        border-right: 1px solid #d8d8d8;
        border-image: none !important;
   }

#TabsToolbar .tabbrowser-tab .tab-stack {
        margin-left: 1px !important;
        margin-right: 1px !important;

}

#TabsToolbar .tabbrowser-tab::after,
#TabsToolbar .tabbrowser-tab::before {
	border-left: none !important;
}

/* tab-background tab-loading-burst tab-content */
/* tab-stack ist der gesamte tab */

.tab-line {
	display: none;
}
/* remove colored line above each tab */

#TabsToolbar .tabbrowser-tab .tab-line {
      visibility: hidden;

}

 

LAHA jetzt auch auf Raspberry PI

Jetzt ist es also passiert, die LAHA Multiroom HomeAudio-Lösung läuft auf der Zielplattform Raspberry PI.

Was war jetzt LAHA nochmal?

Kurzform: Damit kann man Audio an mehrere Endgeräte streamen … verteilen, so daß es überall im Gleichklang erschallt. Hervorgegangen ist das aus einer einseitigen Wette mit den Heise Redakteuren, das man das auch ohne Bäng & Teufelschen Co. mit OpenSource hinbekommt : LAHA – Netzwerklautsprecher mit Linux . Wie sich herausgestellt hat, geht das auch, nur leider nicht ganz so wie anfangs geplant. Das es trotzdem geht, bedeutet natürlich einige Einschränkungen oder Umstellungen.

PulseAudio

Wenn man PulseAudio mit einem römischen Gott vergleichen wollte, wäre es Janus, der Gott mit den zwei Gesichtern. Auf der einen Seite ist PulseAudio echt super einfach, z.b. beim Abnehmen des Sounds vom Player und dem ins Netz stellen, auf der anderen Seite könnte ich dem Entwickler auch gern mal eins reinwürgen, weil die interne Latenzkontrolle Ihren Job nicht macht. Da letzteres nicht sauber klappt, könnte man auf AlsaPlay ( aplay ) ausweichen, aber das benutzt, sobald PulseAudio da ist, richtig geraten, PulseAudio als Backend, womit die Latenzfalle wieder da ist … ächtzzzz. Man hats nicht leicht mit der OpenSource-Plattform 🙂 Es nutzt ja auch nichts, daß es Open-Source ist, wenn bei so komplexen Dingen wie PulseAudio Modulen/Programmen zwar der Source lesbar ist, aber auf 1000 Zeilen Code genau 2 Kommentare kommen und dazu grober C UnFoo getrieben wird.

Das Raspberry PI

Nachdem Android und der lokale PAPLAY Backend soweit waren, daß man darüber was abspielen konnte, ohne das es gleich sofort zusammenbrach, war gestern das Raspberry PI dran. Eine genervte Viertelstunde brauchte es schon um das RasPI Image auf die 64GB SD zu bekommen, dazu morgen mehr, aber am Ende war das Pi dann doch kooperativ, bis .. ja bis PulseAudio installiert wurde 🙁 Das lief zwar auf dem PI und mit den nötigen Zusatzprogrammen war das auch nett, aber, und das ist entscheidend, die PI Devs haben der PulseAudio-Welt den Hardwarehack vorenthalten, mit dem Sie den Sound auf den Kopfhöreranschluß umlegen. Ums kurz zu machen, solange PulseAudio installiert und aktiv ist, geht das nicht über die Kopfhörerbuchse, sondern immer über HDMI raus, egal was die Oberfläche sagt.

Da gab es natürlich nur eine Lösung: Back to the Roots aka. PulseAudio wieder löschen, rebooten und Alsa als Backend benutzen. Wenn man dann dem PI erzählt, daß es den Kopfhörer nehmen soll, dann geht das auch.

Der Stand der Dinge

Wir haben jetzt also PI Playback und das auch synchron mit dem Desktop PC und Android. Android ist auch so eine Krankheit für sich, aber das nur neben bei. Es gibt schon Beweisvideos, allerdings war es bislang für Filmaufnahmen zu dunkel, Ihr müßt Euch nicht mehr gedulden, unten ist ein Video mit 4 Geräten zusehen. Damit Ihr Euch schon mal ein Bild davon machen könnt, wie das funktioniert, hier selbiges aus der LAHA Präsentationsfolie :

Der Aufbau von LAHA als Flußdiagramm

So war das bis gestern angedacht, nun muß der RasPi Teil aber auf ALSA als Backend umgebaut werden, weil PulseAudio ja nicht kann 😀

Nemo benutzt Symbolic-Icons

Die Macher hinter dem Cinnamon Filebrowser Nemo haben entschieden, daß sie für die Sidebar Lesezeichensymbole, statt der üblichen Icons, ab Version 3.8.3 nur noch Symbolische Icons aus dem Iconsatz des Themes benutzen und anzeigen. Problem damit, die sehen einfach Scheisse aus.

Wir sind nicht Windows 10

Die Symbolischen Icons z.b. des Gnome-Themes den ich mir ausgewählt hatte, grade weil die Systemicons brauchbar waren, was nicht selbstverständlich zu sein scheint, sind schwarz-weiß, als wenn Sie dem High-Contrast Mode entsprungen sind. Das sieht bescheiden und sehr verdächtig nach Windows 10 aus.

Zwei Lösungen

1) Wir können Nemo auf dem Stand von 3.8.2 einfrieren, dazu als Root eingeben:

dnf downgrade nemo
vi /etc/dnf/dnf.conf

und eintragen oder anfügen: „exclude=nemo*

(die Exclude-Zeile darf nur einmal vorkommen, wenn man schon was drin hat, dann so machen: exclude=wine* nemo* whatever* )

Das hat den Nachteil, daß man keine Updates mehr bekommt für Nemo. Tja, im Prinzip nicht so gut. Also machen wir lieber:

2) Die Symblic Icons durch die normalen Icons ersetzen.

Einfach ausgedrückt, geht das. Jede Symbolic-Datei des gewählten Iconsatzes mit den Nicht-Symbolic-Icons überschreiben. Die Krux liegt wie üblich im Detail: „Mal eben“ iss nicht 🙁

Das ist harte Handarbeit, weil viele Fallbacks im Iconloader enthalten sind. Löscht man die SVG Versionen oder überschreibt man die einfach mit den PNG Versionen der nicht skalierbaren, greift er auf die 16×16 Datei zurück. d.b. echt jedes einzelne Icon nehmen und ändern 🙁

Gratuliere Nemo-Entwickler, Ihr wurdet grade gedowngraded !

How To Linux – Backspace funktioniert nicht ?

Du hast eine Linux CHROOT eingerichtet und die Backspace-Taste funktioniert nicht ?

Anstatt nach links, rückt die nach rechts ?

Du hast /etc/ komplett in die Chroot kopiert, aber es hilft nicht ?

stty -a gibt in der Chroot genau das gleiche aus, wie in der realen Umgebung ? (wenn nicht => stty sane )

Dann solltest Du mal das machen :

cd /
tar c /usr/share/terminfo | tar x -C /opt/chroot/

(den Pfad muß man natürlich an seine Installation anpassen)

 

 

Linux – Wenn das Bios die NVMe-SSD nicht bootet

Von dem Problem habe ich nur durch Dritte erfahren, konnte es aber leicht lösen.  Stellt Euch mal vor Ihr kauft Euch eine NVMe SSD  und Euer Bios kann die nicht booten, was macht Ihr dann  ?

Das Problem

Es soll Motherboards geben, die zwar einen passenden Port für die NVMe SSD haben, aber leider vergessen haben, daß man ja auch davon booten können müßte. Wenn man jetzt nur so eine NVMe SSD hat, ist man sprichwörtlich gearscht. Falls man nicht vor hat, seinen Rechner per USB Stick zu booten und von der LiveDisk mit der SSD zu spielen, wird das eine sehr frustrierende Neuanschaffung.

Die Idee

Aber halt! Wenn man das System von einem USB Stick booten kann, könnte man dann nicht auch NUR davon booten ohne die Livedisk zu starten ?

Die Lösung

Na ja, vom Prinzip her schon, aber USB-Stick, das muß doch besser gehen. Ja geht es, aber ihr braucht dafür eine normale SSD oder HD, die kann aber ganz winzig sein, Hauptsache 512 MB passen drauf!

Bei der Installation Eures OSes wählt man für /, Swap und /home die neue NVMe SSD aus. Normal partitionieren und formatieren, soweit nichts besonderes.

Die /boot Partition kicken wir jetzt aber nicht auf die NVMe sondern die alte/kleine SSD. Dort wird auch der Bootloader installiert. Linux ist es nämlich völlig egal, wo die Partionen liegen, Hauptsache der Bootloader kann es finden und das kann er ja dann. Problem gelöst.

Sein System auf die neue NVMe umstellen, ohne neu zu installieren

Wie man eine defekte Bootpartition fixen kann, hatte ich schon mal thematisiert, daher setzte ich das Wissen jetzt bei Euch voraus. Wie man unschwer erkennen kann, habe ich hier den Booteintrag in Grub vor mir :

menuentry 'Fedora (4.14.4-200.fc26.x86_64) 26 (Twenty Six)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.13.8-100.fc25.x86_64-advanced-e62edbbe-a1ae-4242-bca5-1249d6f2df67' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='hd2,msdos1'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 221608f2-5914-4619-9ef7-6dfddf233fd4
 else
 search --no-floppy --fs-uuid --set=root 221608f2-5914-4619-9ef7-6dfddf233fd4
 fi
 linux /vmlinuz-4.14.4-200.fc26.x86_64 root=/dev/mapper/luks-ffbd61f2-4c1e-4dc8-b12b-c89e9f69c9fa ro rd.driver.blacklist=nouveau modprobe.blacklist=nouveau vconsole.font=latarcyrheb-sun16 rd.luks.uuid=luks-ca1f019d-39ce-4cf8-b522-f6d3e63ebe2a rd.luks.uuid=luks-ffbd61f2-4c1e-4dc8-b12b-c89e9f69c9fa rhgb quiet splash audit=0 rd.driver.blacklist=nouveau nouveau.modeset=0 modprobe.blacklist=nouveau LANG=de_DE.UTF-8
 initrd /initramfs-4.14.4-200.fc26.x86_64.img
}

Ok, meine Systempartition ist vollverschlüsselt, daher habe ich da die LUKS-ID stehen. Auf einem „normalen“ System könnte das so aussehen :

menuentry 'Fedora (4.14.6-200.fc26.x86_64) 26 (Twenty Six)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.7.10-100.fc23.x86_64-advanced-dca7eea1-687e-476a-a9a0-c41ef0329113' {
 load_video
 set gfxpayload=keep
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='hd0,msdos1'
 if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' dca7eea1-687e-476a-a9a0-c41ef0329113
 else
 search --no-floppy --fs-uuid --set=root dca7eea1-687e-476a-a9a0-c41ef0329113
 fi
 linux /boot/vmlinuz-4.14.6-200.fc26.x86_64 root=UUID=dca7eea1-687e-476a-a9a0-c41ef0329113 ro rhgb quiet audit=0 LANG=de_DE.UTF-8
 initrd /boot/initramfs-4.14.6-200.fc26.x86_64.img
}

Alles was man machen muß, ist die UUID der Partition zu ändern und schon bootet das System als System von der anderen SSD. Wie bekommt man die jetzt, nachdem man die NVMe SSD partitioniert und formatiert hat ?

UUID ermitteln

# blkid
/dev/xvda1: UUID=“dca7eea1-687e-476a-a9a0-c41ef0329113″ TYPE=“ext4″ PARTUUID=“000af34a-01″
/dev/xvda2: UUID=“262b5659-4c18-4d8b-89e9-d9ba932e77c0″ TYPE=“swap“ PARTUUID=“000af34a-02″
/dev/xvdb: UUID=“65d31ff9-53c9-4e0b-8a52-0a16622c82d9″ TYPE=“ext4″

Mit dem gleichen Befehl bekommt man auch die LUKS ID mitgeteilt, so man denn eine verschlüsselte Luks-Partition hat:

/dev/mapper/luks-ca1f019d-39ce-4cf8-b522-f6d3e63ebe2a: UUID=“46da0d80-21fb-45b7-8567-ba047de66cb6″ TYPE=“swap“
/dev/mapper/luks-ffbd61f2-4c1e-4dc8-b12b-c89e9f69c9fa: UUID=“e62edbbe-a1ae-4242-bca5-1249d6f2df67″ TYPE=“ext4″

(Zwischenfrage aus dem Publikum: Wieso verschlüsselst Du auch SWAP ?  Antwort: Weil in dem ausgelagerten Speicher Klartext steht und man sich andernfalls eine Sicherheitslücke ins Haus holt. )

Natürlich muß man sein System noch ein bisschen pimpen, damit es später nicht wieder von der alten Systempartition auf der „alten SSD“ booten, nur weil der Kernel neu erstellt wurde 😀 Folgende Punkte sind zu manipulieren:

/etc/fstab
/etc/mtab
/etc/default/grup

Also alle alten UUID/LUKS-IDs durch die neuen ersetzen. Das ist ein ganz schöner Schock, wenn man seine neue SSD im Betrieb hat und dann ein paar Tage später der Rechner wieder auf einem alten Stand ist 😀