Linux ins Gehirn: Unterschied zwischen den Versionen
Marc (Diskussion | Beiträge) |
Marc (Diskussion | Beiträge) |
||
Zeile 798: | Zeile 798: | ||
- Youtube Suche | - Youtube Suche | ||
− | Gute Wörter "Howto" "Anleitung" "Introduction" "Anfänger" "Einführung" "Forum" "Mailingliste" | + | Gute Wörter "Howto" "Anleitung" "manual" "Introduction" "Anfänger" "Einführung" "Forum" "Mailingliste" |
Ein Forum ist eine Frage/Antwortseite | Ein Forum ist eine Frage/Antwortseite | ||
Eine Mailingliste ist eine Frage/Antwort E-Mail Support Channel wo eine Email an alle Mitglieger weitergeschickt wird und meist auch im Internet archiviert wird. | Eine Mailingliste ist eine Frage/Antwort E-Mail Support Channel wo eine Email an alle Mitglieger weitergeschickt wird und meist auch im Internet archiviert wird. |
Version vom 26. Mai 2022, 16:08 Uhr
Die gehirnfreundliche Einführung in Linux die Dich zum Linux-Checker macht :-)
Wenn du was nicht verstehst lies einfach mal weiter bis zum Ende. Teile auf der Mailingliste mit was du nicht verstanden hast so dass wir den Linux ins Gehirn Schhnelleinstieg verbessern können.
Falls du ein Wort nicht kennst siehe weiter unten "Ich verstehe nicht".
Es gibt viele Linux und es gibt Evolution. Siehe https://de.wikipedia.org/wiki/Datei:DebianFamilyTree1210.svg
Es gibt Onlineseiten um viele Linux auszuprobieren: https://distrotest.net/
Aber lass mich dir helfen dich zu orientieren und erklähren warum 200 Distros durchzuprobieren viel Zeit kostet und wenig hilft.
Installationsanleitungen (noch suche in Youtube) Links wollen wir später unter einfügen oder für jede Linux-Distro eine eigene Wiki Seite machen. Denn Dinge wie man Pakete installiert ist leider bei jeder Distro ähnlich aber unterschiedlich benannt. Ist wie Autofahren. Alle fahren, aber der Schalthebel ist woanders :-/
Ich habe Frust und innerhalb von 10 Minuten mein Problem nicht ..
-> Mailingliste und mal fragen. Pause machen. Siehe ganz unten Communities etc.
Wenn Linux ein Auto wäre, dann würde es bestehen aus
- der Hardware (CPU / GPU RAM / Festplatte(n) / ..) (als das womit du Linux startest).
- dem Kernel (der mit der Hardware spricht)
- Grafikkarten-Treiber
- Die grafische Oberfläche also was du siehst und womit du arbeitest X11 wayland arcan (mit X11 und Wayland Brücken)
mit sogenannten Window-Managern die das Look&Feel ausmachen (KDE/Gnome/Xfce/wmii/LXDE)
Im Zweifelsfall nutze Gnome, KDE oder IceWM/Lxde für schwache Hardware und starte erstmal. Die sind ähnlich zu Windows und einfach zu verstehen.
Siehe https://de.wikipedia.org/wiki/Fenstermanager
- User-Space Anwendungen (wie Firefox) etc was du startest und benutzt.
- IO Devices (Festplatten/USB-Sticks/CDs) .. also Byte-Arrays auf denen Schichten wie cryptesutp/luks um Daten zu verschlüsseln konfiguriert werden können. Darauf kann man dann Dateisysteme konfigurieren.
- Dateisystemen
Sorglos Datei-System-Empfehlung: BTRFS weil schnelle Backups und Snapshots möglich auch RAID konfugurierbar. Oder traditionell Ext4 & eigene Backup-Lösungen.
Und deswegen ist es sehr zeitintensiv und nicht zielführend 2000 Distros durchzuprobieren und nach der grünen Farbe zu suchen. Denn meist kann man alle so konfigurieren dass sie >>grün<< aussehen :)
Grün meint hier viele Dinge wie Fentstermanager, Click-und Keyboard Verhalten etc.
Jetzt nachdem Du verstanden hast dass 1000 Distros zu probieren möglich ist aber nur vielleicht Sinn macht wichtige Fragen:
- Was benutzen meine Bekannten die mir helfen können?
- welche Anwendungen sind mir wichtig, also was will Ich machen
z.B. High end Video-Bearbeitung oder Closed Source etc gibts halt eventuell doch Unterschiede wie einfach sie zu installieren sind.
Die Wahrheit ist leider auch dass was vor 5 Jahren *gut* war heute kompliziert geworden ist wie z.B. Ubuntu weil snap* etc eingeführt wurde und dann manches wie Chrome mit Microphon/Diktat Funktion als Snap Variante noch nicht geht.
Und jede Distro hat ihre Stärken und Schwächen. Im Prinzip kann man davon ausgehen dass die Standardsoftware Firefox/Chrome/Vscode/Inkscape/LibreOffice/Krita/.. überall installierbar ist weswegen Flamewars nur bedingt Sinn machen :)
Will man komplexe Setups machen wie Server mit Mail etc braucht man überall ein wenig manuele Konfiguration.
Es gibt allerdings fundamentale Unterschiede.
D.h. im Zweifelsfall 1) Paketquelle suchen -> gibt's das Paket? 2) wenn nein in Community fragen oder kurz Google fragen
Manchmal gibts 3 Antworten .. :-/
YouTube Google etc sind deine Freunde *ABER* achte immer auf das Datum und die Versionen der Pakete was beschrieben ist. Oft findet man alte Anleitungen ! Dennoch oft hilfreich um sich Ideen zu holen. Beachte dass es Speed-Regler gibt etc um schnell die Infos zu holen, die einen interessieren.
Linux-Installation unter Windows zum reinschnuppern
Windows -> VirtualBox -> Iso virtuell einlegen -> mal installieren ausprobieren Snapshots erstellen auf Virtualbox Ebene -> erstmal Sorgenfrei reinschnuppern
Windows -> Linux Subsystem -> z.B. ubuntu snapd -> geht nicht Achtung das Linux Subsystem kann auf Windows Festplatte zugreifen !
Ok Linux gefällt mir, wie gehts weiter, Ich will es dauerhaft nutzen
Kein Backup kein Mitleid
Seid ihr wirklich so streng? Ja Erfahrung :)
https://lug-vs.org//lugvswiki/index.php?title=Backup BTRFS Script von Marc ist schnell differentiell und erlaubt Historie bzw sogar Raids und einfache Prüfung Integrität mit btrfs Tools Alle anderen Lösungen sind langsamer / älter (?).
Windows ersetzen oder durch Linux ergänzen bzw welche Konzepte mir Helfen Linux Installationen zu verstehen - Lass uns ein Haus bauen ;-)
Festplatten auf denen die Daten abgelegt sind sind wie Gebäude in denen es Zimmer gibt wo die Daten auf Regalen liegen.
Es gibt 2 Gebäude-Typen:
1) DOS (älter)
2) GPT (neuer / meist mit EFI)
und Empfangsdamen, die beim Start entscheiden, welche Räume (Betriebssystem) du nutzen willst. Z.b. Mrs Grub (früher auch Lilo etc)
D.h. bevor Linux installieren kannst must du deine Festplatte in Räume (Partitionen) unterteilen.
Alte Hardware -> DOS Gebäude. Neue Hardware GPT (EFI)
Typische Linux-Installationen haben folgende Struktur:
Raum: SWAP (ca 8GB). Wichtig für Schlafen ohne Stromverbrauch. Der Werkraum der
den Arbeitsspeicher ergänzt. Mindestens so gross wie dein RAM
eventuelle Kinderzimmer (wenn du nicht weißt was gemeint ist lass dies weg)
/home /home/Anna /home/Ben
Boot-Partitionen
/boot -> efi/grub Dateien In einem externen oft ext2 formatiertem Datei-System werden oft die Boot-Dateien Kernel und Grub etc abgelegt. Falls mal das System abstürzt und das Haupt-Root Dateisystem nicht sauber beendet wurde beeinfluss das den Kernel nicht und er kann dann das root Sytem prüfen. Teilweise durch Journaled Dateisysteme nicht mehr nötig (?).
System
Raum: / / bedeutet hier findest du alles und kannst Wegweiser zu anderen Räumen erstellen. Das nennt sich mounten.
Wenn du alles gesichert hast dann einfach [weiter] klicken und schauen was passiert. Wenn nicht im Zweifelsfalls auf Mailingliste nachfragen und Stammtisch abwarten
D.h hier werden die sogenannten Mount-Points konfiguriert, welches Zimmer welche Bedeutung hat.
/boot -> /dev/sda1 (500MB) /home/ -> /dev/sda2 (80% der Festplatte) swap -> /dev/sda3 ( ca 8 GB mehr als RAM) / -> /dev/sda4 ( Systemdateien ca 8GB oder mehr empfohlen) /bilder -> /dev/sdb1 ( Systemdateien ca 8GB oder mehr empfohlen)
1 2 3 4 sind die Raumnummern und sda ist die Festplatte. Hier gibts aber andere Wege einen Raum zu identifiziern z.B. UUIDs etc.
Beachte z.B. dass /bilder auf einer zweiten Festplatte liegt die als /dev=/sdb(1 2 3 ) vom Kernel bezeichnet wird. Je nachdem über welchen Bus was angebunden ist heißen Festplatten/SD-Karten/Sticks anders. lsblk ist dein Freund im Zweifel :)
Jetzt hast du verstanden dass eine Festplatte wie ein Gebäude ist mit vielen Zimmern - und diesen Zimmern Bedeutungen gegeben werden kann.
Und jedes Zimmer muss vor der Benutzung mit Regalen versehen werden (also formatiert). Das nennt sich Dateisystem (engl: Filesystem).
wenn du also ein Zimmer neu mit Regalen bestückst (also neu formatierst) sind deine alten Daten weg. Deswegen gibts oft extra Fragen "Bist du sicher?"
Also wenn du wichtige Daten hast mache zuerst ein Backup.
Es gibt dann noch Abstraktionsebenen die Regale oder Räume zusammenzufassen und zu sagen Raum 1 und 2 ergeben zusammen einen Werkraum oder alles soll 2 Mal auf verschiedenen Festplatten abgelegt werden falls ein Regal kaputt geht und Regale sind fortlaufend zu nummerieren. Sowas nennt sich dann Raid. Aber externes Backup zu haben ist wichtiger .. als RAID.
wenn du nicht weisst was, dann nutze BTRFS Regale in den Zimmern, weil das einfach einfach ist und mit dir mitgeht Snapshots und Backups erlaubt und deine Daten schützt und auch als RAID1 Bit-Dreher etc erkennt und korrigieren kann. Für einfache RAID1 ersetzt es alle alten Lösungen wie mdadm volume manager (LVM1 LVM2) etc. Ein Snapshot bedeutet dass du alle Inhalte einfrieren kannst und unter einem Namen erhalten bleiben wie Subvolume /backup-2022-mai
D.h. vor Systemfehlern (Updates) aber auch menschlichen Fehlern versehentliches Löschen schützen.
Was ist SWAP? Wenn man ein Haus bauen will (also Arbeiten) braucht man Ablagen. Wenn der RAUM nicht mehr ausreicht braucht man einen Garten, um dort mal Balken abzulegen. Das ist der SWAP. Dein Garten :)
Wenn du schlafen willst muss alles aus dem Haus raus, und in den Garten. Dann kannst du schlafen. Deswegen muss der Garten mindestens so groß sein wie dein Bett (Arbeitsspeicher) auf dem alles rumliegt um gerade mal Hausaufgaben zu machen.
Merke: Auf dem Bett (Arbeitsspeicher oder RAM) kannst du alles verteilen um den Überblick zu behalten. Wird das Bett zu klein brauchst du einne Garten (SWAP) um noch mehr verteilen zu können. Aber Zugriff wird langsam weil du aus dem Fenster schauen musst und in den Garten laufen musst. Das ist aber immer noch schneller als was von der Festplatte zu holen. (also im Regal zu suchen).
Zusammnefassung: Wenn du keine Ahnung hast nimm was Distro vorschlägt oder ein kleines Zimmer als SWAP und großes Zimmer für alles mit BTRFS Regalen und fertig.
Jetzt verstehst du ein bischen was sda1 sda = Festplattename a = erste b = zweite etc. 1 = erster Raum 2 = zweiter Raum. Was SWAP ist (dein Garten um sachen abzulegen falls PC schlafen will) Was formatieren beudeutet (Raum mit Regalen zu versehen) Was mounten ist in ein Regal ein Hinweis zu schreiben gehe zu Raum 2 .. und suche dort im Regal 3 weiter
Was eine Partitionierung ist (GPT oder DOS) - die Gebäudestruktur. Was ein Boot-Manager macht. Er sagt dem PC in welchem RAUM das Betriebssystem liegt.
Und dass es deine Aufgabe ist zu verstehen dass du ein Gebäude brauchst und Räume anlegen musst bzw der Installationsprozess dies für dich tut.
Festplatten, USB Sticks, SD-Karten, CDs .. alles einfach nur Gebäude mit Regalen. siehe mounten oben. Die meisten Distros machen das für dich heute.
Ein Raum wo man Regale reinmachen kann nennt sich Blockdevice :)
Wenn du jetzt egal welche Installationsanleitung folgst, bist du nicht mehr ganz verloren.
Was ist ein Journaled Raum/Regal ähm Dateisystem? Wenn der PC abstürzt wenn Regale umgeräumt werden, weil z.B für eine Videodatei zu wenig Platz ist. Dann gibts Chaos. Dabei können auch Daten verloren gehen. Siehe Kofferraum und unmount Beispiel. Journaled Regal-Systeme können einfach schneller aufräumen bzw brauche weniger Checks wenn das passiert ist nach dem neustarten. Also z.B ext4 ist journaled ext2 nicht.
BTRFS z.B ist nur ein Journal weswegen Backups etc schnell sind aber der Zugriff wenn es wirklich viele Snapshots sind ein bißchen langsamer. SSDS heute sind schnell. Meist ist das also ein guter Kompromiss.
Was kommt in die Regale rein?
- der Kernel (der orchestriet das Bett, den Garten, die Hardware).
- deine Daten
- Anwendungen (sowas wie Kaffeemaschine oder Ofen).
Nutzbare Dinge wie Firefox (Webbrowser), Thunderbird (Emailprogramm), LibreOffice (Briefe etc) sind oft in /bin/ Verzeichnissen abgelegt. Oder findet man in der Shell mit firef dann tab um zu firefox zu ergänzen
Hey, ich habe ein verstecktes Regal gefunden
Langweilig, weiß doch jeder. Fängt mit . an. Sowas wie ~/.config oder ~/.firefox Ja dort sind deine Bookmarks und History etc oder ~/.chromium. Ja, manchmal muss man einen öffnen Dialog oder Datei-Browser so konfigurieren, dass ~/.bashrc ~/.bash_history etc angezeigt werden. Hat aber auch seinen Grund. Weil hier solltem an wissen was man tut (oder ein Backup haben).
Paketmanager
sind verantwortlich die Kaffemaschine Waschmaschine, Ofen, Solarium, das Fischaquarium etc im Haus einzubauen. Je nach distor geht das ein wenig anders.
Debian-Like apt-get apt-cache apt
OpenSuse: ...
Nix -> /etc/nixos/configuartion oder nix-env -i
Slack:
voidlinux:
Im Zweifelsfall in der Dokmuentation des Linux nachschauen, vorallem da einige
auch schöne Programme anbieten statt Kommandozeile
Was wenn Ich eine chinesische Kaffemaschine habe?
Dann brauchst ein Kernel-Modul, dass chinesisch und die Kaffemaschine versteht :) Das nennt sich dann Treiber. Kaffeemaschine kann ein drucker, ein Fernsehempfanger oder auch eine Funktastatur sein.
So brauchst du z.B manchmal extra Programme die eben Android oder Iphone sprechen und Daten synchronisieren können. Manche Tools sind nicht auf Kernel Ebene. Sondern einfach nur Programme wie eine Kaffemaschine. Das nennt sich dann UserSpace.
Was ist die Kommandozeile?
Früher oder später begegnen dir Kommandozeilen wie dpkg configure -a ;-( Also besser gleich verstehen was man machen kann und wie das geht .. zumindest einmal gemacht haben. Hier hier Beispiele was man machen kann. Nächster Absatz wie man ein Terminal findet wo man dies eingibt und was sudo ist. Siehe auch wer suchet der findet überschrift um sudo zu finden.
Ich will dass du aus Festplatte 1 ein GPT-Haus machst:
# PARAMETER = Umgebungsvariablen DEV=XXXXX # ersetze durch /dev/sda ! aber daten gehen verloren ! SWAP_SIZE=30GiB BOOT_SIZE=512MiB
# parted für die Bauarbeiten nutzen: parted /dev/${DEV} -- mklabel gpt parted /dev/${DEV} -- mkpart primary $BOOT_SIZE -$SWAP_SIZE parted /dev/${DEV} -- mkpart primary linux-swap -$SWAP_SIZE 100% parted /dev/${DEV} -- mkpart primary 1MiB $BOOT_SIZE -$SWAP_SIZE 100% parted /dev/${DEV} -- mkpart ESP fat32 1MiB $BOOT_SIZE parted /dev/${DEV} -- set 3 boot on
# 100% = Ende der Festplatte # -$SWAP_SIZE = Am Ende der Festplatte $SWAP_SIZE zurückgehen # ... # Ja, die Kommandozeile kann auch Rechnen z.B. $(( 10 + $SWAP_SIZE )) # Was bedeutet dass das Ich eine Anleitung machen kann, und 6 Befehle # per Copy Paste hintereinander ausführen kann ohne mich jedes Mal wie # bei Windows wiederholen zu müssen ? Meine Finger tut schon weh # vom sich wiederholenden Klicken. Ja, das bedeutet es.
Ich will dass du BTRFS Regale auf festplatte 1 in Raum 2 einbaust:
mkfs.btrfs /dev/sda2
Ich will dass du eine Lokomotive einbaust (Beispiel Debian-Like)
atp-get install sl
Ich will dass du ein Malprogramm zur Verfügung stellst:
apt-get intsall krita -y # -y bedeutet mach einfach ohne mich zu fragen
Ich will Firefox, malprogramm und Office:
apt-get install firefox krita libreoffice -y # Wow -> soviel einfacher als Windows :)
um die Sprache der Programme zu verstehen kannst du eingeben
apt-get --help apt-get -h man apt-get info apt-get
Im Zweifelsfall kommst mit ctrl-c oder q wieder aus Programmen oder Pagern raus.
Ich will dass du in den keller gehst alle Schaltplatten mit .wav findest und sie komprimierst als mp3:
for schaltplatte in /mnt-keller/regal-1/*.wav; do sox $schaltplatte ${schaltplatte/.wav/.mp3} done
Ich will dass du den Kofferraum des Autos (mein USB-Stick)
verfügbar machst:
# sdc1 mit lsblk nachschauen mount /dev/sdc1 /mnt/
Ich will dass mein USB-Stick weiterfahren kann, also mach den Verweis
im Regal /mnt weg, aber bitte warte bis alles im Kofferraum ist:
umount /mnt
Ist klar wenn Auto weiterfährt während noch Daten reingeladen werden gibts
einen Unfall ! :) Ist wie beim Einkaufen. Wenn die Milch runterfällt sind deine
Daten weg.
Ja eine Kommandozeile macht Spaß. Man ist Chef.
Dar war nur eine Einführung.. hier gibts viel zu lernen.
Kommandozeilen gibt man in Terminals / Konsolen ein.
Ich bin der Boss ? Wirklich?
Vielleicht hat ein obiger Befehl nicht funktioniert. Der Boss unter Linux heißt root. Du erkennnst wenn du in der Rolle von Root eine Kommandozeile nutzt an dem # in der Shell. Um Root zu werden gib in eine Shell ein
sudo su
was soviel bedeutet wie als Superuser (root) führe su (switch user) aus. dann sollte # erscheinen und die ganzen Befehle wie oben gezeigt sollten funktionieren. Deswegen findest du in vielen Anleitungen auch immer ein sudo vorangestellt wie in
sudo apt-get install thunderbird -y
Jetzt verstehst du auch die Bedeutung von root und sudo :)
Weiter gehts ..
Und was ist wenn ein Wort Leerzeichen enthält ? Also z.B ein "Mein Urlaub 2020" Ordner ?
cd Mein\ Urlaub\ 2020 cd 'Mein Urlaub 2020' cd "Mein Urlaub 2020" cd Mein' 'Urlaub" "2020 # ja gemischt geht auch ... cd Mein' 'Urlaub\ 2020
ordner="Mein Urlaub 2020" cd "$ordner"
Ja .. es gibt viele Möglichkeiten ;-) Gut dass Du gefragt hast.
Also wo darf ich Boss sein? Wo gebe Ich sowas ein ? Wo finde Ich ein Terminal/Shell
Google Terminal Distro Name. Oder ctrl-alt-F1 und einloggen. Mit ctrl-alt-F(meist 7) kommst zurück zu X11.
https://www.youtube.com/watch?v=YAuqgvEiojU (Errata cd ohne alles geht auch ins Homeverzeichnis) https://www.youtube.com/watch?v=S7SAsLh60dE (Errata chmod +x script ohne sudo macht ausführbar)
Dann bekommst du eine Shell. Meist /bin/bash. echo $BASH_VERSION sollte was anzeigen dann hast du bash.
Dann kannst du Readline-like Abkürzungen nutzen:
ctrl-a gehe an Anfang ctrl-e gehe ans Ende ctrl-r such letzte Befehle history -> zeige alle Befehle die Ich genutzt habe Benutze history --help zu lernen wie man speichert wenn man mehrere Shells auf hat (shared history z.B. in ZSH) !abc -> letzer Befehl mit abc !:$ -> letztes Argument ctrl-p vorheriger Befehl oder Pfeil-hoch-Taste ctrl-n nächster Befehl oder Pfeil-hoch-Taste esc-b oder f nächstes/vorheriges Wort ctrl-u alles links vom Cursor löschen. ctrl-e ctrl-u löscht alles
Wenn du wiederkehrende Aufgaben hast kann man auch Funktionen erstellen.
# Siehe auch Shebang #!/... um lange Scripte in einzelnen Dateien unterzubringen mache_backup_auf_usb_stick(){ ( # ( = Subshell starten set -e # bei Fehler abbrechen set -x # alle Befehle ausgeben so dass man versteht wie weit das Script ist mount /dev/sda1 /mnt # besser UUID verwenden ! rsync --delete -ra / /mnt/ # Achtung, das überschreibt alles und alte Versionen, es gibt bessere Tools umount /mnt
# oder besser BTRFS verwenden. aber das ist nur eine Illutsration ) }
Mache mehrer Backups und warte bis alle fertig sind
echo backup1; backup1; echo $? echo backup2; backup2; echo $?
Wenn du das in ~/.bashrc speichers ~ steht für $HOME Umgebungsvariable oder /home/$USER dann kannst du in Zukunft mache_b dann Tab Taste und dein Backup startet. ~NAME wird zu /home/NAME also z.B. ~hannes/pfad
Aber Bash kann noch viel mehr. und bei richtig komplexen Dingen weicht man irgendwann auf Programmiersprachen wie Perl/Python/.. aus.
echo $? gibt die Exit-Codes aus. 0 bedeutet meistens Erfolg. Alles andere Problem.
Jetzt bist du schon fast ein Shell-Profi :) Na ja ein bischen. man bash zeigt dir wie viel du noch lernen könntest.
Shebang - ausführbare Textdateien executable bit und Programmierdateien und Umgebungsvariablen und /etc
Ja es gibt viele viele viele Script-Sprachen unter Linux (perl, Python, PHP, TCL, bash, .. endlose Liste)
Linux hat
#!/bin/scriptname parameter Hier der Quellcode
erfunden, so dass man einfache Textdateien mit ./dateiname ausführen kann. Jedoch brauchen viele Scripte noch weitere Libraries. Z.b Pyhton nutzt import PHP require Zeilen.
Solch ein Script kannst du nur ausführen wenn chmod +x dateiname gemacht wurde oder du die Datei selber mit dem Interpreter startest wie
python datei.py perl datei.pl tcl datei.tcl
Manche Sprachen wie .java oder .c, .cc müssen zuerst kompiliert werden. Das führt hier aber zu weit ..
Beispiele für Shebangzeilen - es muss immer die erste Zeile in der Textdatei sein
#!/bin/sh -e #!/usr/bin/env bash -e #!/usr/bin/env python #!/usr/bin/env perl #!/usr/bin/env tcl
/usr/bin/env ist vereinfacht ein Befehl der in $PATH den Interpreter sucht weil je nach Distro der Ort nicht bekannt ist.
nur /bin/sh kann angenommen werden dass es immer /bin/sh gibt weil er von glibc selber genutzt wird .. ok wir tauchen wieder auf :)
Damit solche Dateien von der Shell aus ausgeführt werden können müssen sie in Verzeichnissen wie /usr/bin oder /bin oder /usr/sbin ..
s steht meist für System abgelegt werden oder $PATH Umgebungsvariable muss um des Verzeichnis ergänzt werden. Z.b in ~/.bashrc.
# Da PATH normalerweise bereits die export Eigenschaft hat kann es weggelassen werden # Es bedeutet weitergeben wenn ein Programm aus dieser Shell gestartet wird. # Vergleiche z.B mit dem DEV= .. parted Beispiel hier fehlt es. # Weil es nur eine temporäres Variable ist die nur in den folgenden Zeilen genutzt wird export PATH=$PATH:~/meine-scripte/
Diese Umgebungsvariablen werden an alle aus dieser Shell gestarteten Anwendungen weitergegeben.
Die Umgebungsvariablen bestimmen sehr viele Dinge wie Sprache, wo das X11 Fenster angezeigt wird Der Befehl export in der Shell zeigt alle bekannten Umgebungsvariablen an. Z.b. LD_LIBRARY_PATH sagt wo Hilfs-Programmteile (Shared Libraries) gefunden werden etc.
Wer suchet der findet schneller
im Browser ctrl-f dann F3 oder shift-F3 weiter / zurück Tipp oft wird rechts am Scrollbalken gezeigt wie viele Vorkommen es gibt und wo sie zu finden sind.
Auf dem Handy dort in Chrome Browser Menü dort suchen Wort eingeben. Pfeiltasten nächstes/vorheriges Vorkommen
In less pager z.B. here oder nach man:
firefox --help | less # oder man firefox
/wort dann Return Taste Ein Wort benutzen wie Leerzeichen -f Leerzeichen, also " -f " findet schnell das Flag -f. q zum beenden
n oder N weiter/zurück
Mit grep
firefox --help | grep -i window
In Dateien
# Suche in /mnt und /etc nach einem Wort, dass mit AB anfängt und DEF aufhört also eine Regulärer Ausdruck (-e) ist, ignoriere Groß/kleinschreibung (-i) und suche rekursiv in allen Unterverzeichnissen (-r) und zeige 5 Zeilen davor und danach an (Context 5 Zeilen -C 5).
grep -r -C 5 -i -e 'AB*DEF' /mnt /etc
Tipp: Oft macht es Sinn nach komischen Kombinationen zu suchen wie "u su" findent zU SUchen. Solche Wortkobinationen sind oft eindeutiger als das ganze Wort.
no permission / keine Berechtigung / mehr als ein Besitzer warum root und sudo ?
Linux hat verschiedene Aufkleber für Dateien um zu bestimmen wer was darf wie erstellen, lesen verändern. Deswegen wird jedem Prozess ein Benutzer und mehrere Gruppen zugeordnet. Intern sind das Nummern. Mit ls -l kannst du dies erkennen. Mit dem "id" Befehl kannst du deine Benutzer-ID und Gruppen herausfinden. Jede Datei / Verzeichnis speichert also ob der Beistzer bzw welche Gruppe lesen schreiben ausführen darf.
Es gibt aber auch noch weitere Ebenen wie ACLs und AppArmor SeLinux etc. Das führt aber jetzt hier zu weit.
Es ist nicht immer gewollt dass ein Kind oder ein Nutzer das ganze System verändern kann.
Auch sticky bits etc gehört in diese Kategorie.
https://www.youtube.com/watch?v=2RgpNc7AEQU https://www.youtube.com/watch?v=hcXA2nePQ4M
Bei welcher Distro welche Gruppen genutzt werden ist wieder unterschiedlich. Spezielle Gruppen wie "wheel" bedeutet so viel wie Steuerrad. D.h. der Benutzer darf sehr viel - fast soviel wie root um auch das System zu verändern und steuern. Viele Gruppen wie Scanner,Print werden einfach nach einem Einsatzzweck wie darf Drucker benutzen benannt. D.h. ein Benutzer mit wheel,print,scanner darf das System verändern z.B Pakete installieren, drucken und scannen. Welche /dev/* Dateien dann dazugehören ist wieder Spezialwissen ;-)
Fundamentale Unterschiede zwischen einigen Distros:
Bitte beachte dass eine Linux-Distro wie ein Volk ist. Man kann es nicht in 3 Sätzen beschreiben. ;-/ Dennoch gibts kulturelle Unterschiede.
OpenSuse
Durch automatische Tests/Kompielierungen grosse Paketquellen zu erwarten. Ulf kennt sich gut aus und kann hier helfen. :)
NixOS Linux:
Neuartiges Paketmanagement mit verteilbaren Offline-Archiven verteilter Kompilierung und zentraler Konfiguration und Garbage Collector und GC roots.
D.h. wenn du viel von Github installieren willst oder Inkscape mit Plugins .. ist das ein Versuch wert. Wie einfach es ist hängt aber von Details (-> Mailingliste bzw Community Support der Distros nutzen) Manches ist in 2 min als Paket hinzugefügt, anderes dauert Tage weil viele Libraries fehlen.
Durch perfekte Trennung der Pakete bei Installation durch Sandboxes viele Versionen von gleicher Software installierbar.
Durch eine globale Konfiguration wird /etc/* erstellt. D.h. gleiche Config gleiches Systemverhalten. Aber manche Dinge wie z.B. Krita Python-Scripting funtionieren (noch) nicht. Steigende Nutzerzahl. Flexibel in Konfiguration.
Gibts meine Pakete? Hier einfach suchen, das ist die Quelle aller Pakete: https://github.com/NixOS/nixpkgs/
Es gibt aber auch verteilt Overlays irgendwo auf Github z.B. für CadQuery etc.
Wie fühlt es sich an NixOS zu nutzen ?
Man hat eine Konfigurationsdatei wie :
xorg.extraConfig = hier der Inhalt system.crons = [ "hier cron Zeile" "noch eine Cron Zeile" ] environment.systemPackages = [ firefox (writeScriptBin "mache_backup" #!/bin/sh hier der Code USB mounten, Backup machen, unmounten )]
und weiß was passiert und kann es schneller reproduzieren weil man nur z.B. 2 Dateien anschauen muss. Eine die das System konfiguriert und eine die die Hardware (mounten) konfiguriert. So hat man eine klare Trennung.
Bei anderen Distros bedeutet das obige /etc/X11/.. config /etc/cron/... /usr/bin/... und apt-get install manuell oder per Script (kompliziert) anzupassen. Und es ist schwerer zu verstehen was gemacht wurde wenn man ein Setup duplizierren will. Weil man muss dann drandenken die Xorg Config anszuschauen .. ;-/
Gentoo Linux
Alles von Shell Scripten komplilieren. Es gibt Overlays. Eventuell ist NixOS das bessere System langfristig.
Gobo Linux
Idee ist jede Anwendung in einem Verzeichnis zu haben so dass einfach wieder gelöscht werden kann. Ich denke Nixos ist die bessere Zukunft mit Garbage Collector ;-)
Ubuntu:
War in der Vergangenheit "no brainer". Jedoch wegen Snap und Wayland etc Umstellungen kann es sein dass Dinge die man nutzte wie synergy oder selbst Chrome mit Sprachunterstützung etwas probieren erfordern.
Druckertreiber etc sind aber meist schnell installiert
Grosse Investments dahinter. Leichte Abspaltung von Community.
Debian
Alter Bekannter
Lernsticks
Endless List
Wie installiere ich jetzt Linux ?
Es gibt viele Wege Linux zu nutzen.
Auf USB Stick zum Mintnehmen (Bios Booten von externen Medien meist Taste nach Einschalten oder extra Boot- Menü Knopf am Laptop mit Nadel erreichbar Auf Festplatte. Von CD (einfach aber langsam) Neben Windows gleiche Partition Innerhalb von Windows virtualisiert (VMWare oder VirtualBox) Innerhalb von Windows mit Linux Subsystem für Windows Linux auf Windows nativ mit cygwin oder mingw Also Google Cloud Shell (ohne UI), Auch ein Android Telefon ist im Prinzip eine Art von Linux Unter Android z.B mit userland (bißchen langsam mit VNC Setup aber geht). Hosting-Centrum nehmen und Server einrichten mit Lieblingsdistro wie Hetzner uvw.
Deswegen versuche die offizielle Dokumentation deiner Disttro zu nutzen . Siehe oben wie man sucht. Wenn du Probleme hast nutze unsere Mailingliste.
Google oder Youtube Suche Beispiele:
"Linux mit Virtualbox installieren" "OpenSuse installieren" "Nixos Installieren" (TODO Anleitungen hier rein die funktionieren) Falls du Probleme hast nutze unsere Mailingliste (Suche diese Wiki-Seite).
Wie lange dauert eine Installation?
Je nach Konfiguration mit oder ohne Netzwerk Quellmedium (CD oder USB 2 oder 3) und Zielmedium (solid oder SSD) CPU Geschwindigkeit und Distro 20 min bis ca 2h.
Bitte aufs Datum der Anleitungen achten !
Beispiel: Per Google übersetzte Original Dokumentation von OpenSuse:
Beispiel-Suche Videos, wie man OpenSuse installiert:
https://www.youtube.com/watch?v=jPYNSGv1qh0&list=PLy1PHp-EWtxPcww4qMvxegTvpUG3L_vOR
Erklährt wie man Installationsmedium vorbereitet und dann installiert.
Welche Software gibts / Welche Distro Version benutze Ich gerade ?
Jede Distro erlaubt suchen. apt-cache search etc. Viele Distros haben auch Online-Listen. Oft kommt man weiter mit Google Suche "Packages software Distro-Name". Kompliziert wirds weil jede Distro mehrere Versionen hat welche eine Lebenszeit haben. D.h. manche Pakete werden nur für einige Distro Versionen bereitgestellt. Deswegen darauf achten dass du die richtige Anzeige du zu deiner Linux Version passt benutzt. Z.b probiere "cat /etc/os-release" manchmal auch 'lsb_release' Befehl.
Wenn du was nicht findest heißt das nicht dass man eine Software nicht mit geringem Aufwand installieren kann. Manchmal gibt es Overlays also weitere Programmquellen für Distros die von kleinen Communities supported werden.
Ein paar Beispiele
https://www.debian.org/distrib/packages https://scc.suse.com/packages?name=SUSE%20Linux%20Enterprise%20Desktop&version=15.2&arch=x86_64 https://packages.gentoo.org/ https://search.nixos.org/packages
weitere Quellen:
Github (hat eigene Suche). Installation meist fortgeschritten es sei denn das Paket kann über Paketmanager installiert werden.
Sourceforce (nicht nur Windows)
Oder Steam
Oder Web app (im Browser)
snap
docker
...
Oder Mailingliste mal fragen.
Such-Ideen:
"Wie kann Ich unter linux .."
"Linux Anwendungen um verlorene Bilder wieder herzustellen" du solltest PhotoRec finden
Texte edtieren: VSCODE, Emacs, Vim, viele weitere Optionen
Grafiken machen? Inkscape, Gimp, Krita, ... gelöschte Dateien wiederherstellen.. Kein Backup kein Mitleid. Es gibt paar Tools z.B PhotoRec Briefe: LibreOffice swriter Browser? Firefox/Chromium/Opera/Webkit oder viele weitere bis lynx in Terminal Broschüren ? auch Scribus Mathe ? Latex/ Lyx Spiele: z.B Steam oder andere Andwendungen Mathe ausrechnen: Maxima Charts: gnuplot, matplotlib, scalc Radtouren planen: Browser brouter.de/ -> Web Link PDFs erstellen: Scribus/ Inkscape / LibreOffice oder einfach Drucken in Datei von irgendeiner Anwendung. 3d Konstruktion: CadQuery, openscad, freecad evtl auch Blender CT Scans anschauen: slicer.org Programmieren: Wikipedia -> Liste von Programmierprachen -> :-)
Haus aufräumen: Probiere VR Brillen mit arcan oder OpenXR ;-) Witz
u.v.m.
Ich verstehe nicht, Ich brauche Hilfe zu was auch immer? Communitys
Versuche die Seite des Projektes zu finden. Dort findest du Dokumentationen und Hinweis wo sich der größte Teil der Community aufhält.
- Google Suche - Google Video suche - Google Bilder suche - Youtube Suche
Gute Wörter "Howto" "Anleitung" "manual" "Introduction" "Anfänger" "Einführung" "Forum" "Mailingliste" Ein Forum ist eine Frage/Antwortseite Eine Mailingliste ist eine Frage/Antwort E-Mail Support Channel wo eine Email an alle Mitglieger weitergeschickt wird und meist auch im Internet archiviert wird. (Ja der LUG-VS hat das auch ;-)
Beispielsuchen:
"Terminal Ubuntu" beachte aber immer dass Infos alt sein können. Als z.B. "Terminal Ubuntu 20.08" um eine bestimmte Ubuntu Version zu finden Ich hoffe wir haben Zeit passende Videos-Links einzufügen So findest do oft auch die offiziellen Quellen wie Distro spezifische Dokumenattionen und Wikis oder Foren.
https://translate.google.com/ hier Link rein und du kannst auch Englisch auf Deutsch übersetzen lassen.
Manchmal ist alles auf English. Nutze translate.googl.com oder Alternativen (?).
IRC: https://libera.chat/ dann /join #networking z.B. auch mal Netzwerkfragen loswerden zu können. Viele Distros haben dort einen Support/Community Channel Einfach mal einen Tag dort mitlesen und man lernt sehr viel ;-) Googeln "Howto WAS" oder "Einführung WAS" "Introduction Was" oder "Forum Was" oder ähnliches.
Oft reicht auch man prog oder info prog oder prog -h oder prog --help Die Seiten findet man oft auch per Google weil sie auch im Internet sind. Dann auf die Version achten! Du verstehst nicht? Siehe Terminal auf dieser Seite
Gerne kannst du auch auf der LUG-VS Mailingliste nachfragen, die ist garantiert auf Deutsch. Das ist der empfohlene Weg wenn Du mal nicht in sinnvoller Zeit weiterkommst.
Tip: Hast du ein Youtube Video gefunden was dir gefallen hat? Klicke auf den Ersteller-Link und du findest alle seine Videos. Unter Youtube's Mediathek dann Verlauf findest du Videos die du mal angeschaut hast wieder.
Doof ist wer ;-)
Nicht böse gemeint. Wollte nur Deine Aufmerksamkeit. Kleine Checkliste für Dich ob du wichtige Dinge verstanden hast ;-)
Was zweimal in der Konsole schreibt. Siehe ctrl-r !! Bash / Shell Features oben Das Suchen Ctrl-f bzw / in less nicht kann (siehe oben Wer findet) länger als 10min an einem Problem sich die Zähne ausbeißt ohne Pause zu machen bzw auf der Mailingliste zu fragen Keine Backups hat 10 Distros gleichzeitig nutzt .. weil dann ist was nicht verstanden (?) es sei denn es gibt wirklich einen Grund .. Noch nie den Geschwindigkeitsregler von Youtube probiert hat oder alles von vorne bis hinten anschaut. Weil manches wiederholt sich. D.h. lerne zu überspringen was du bereits weißt Noch nie ein Terminal aufgemacht hat und mit den Worten Kommandozeile / Shell / Befehlszeile Shellbefehl nichts anfangen kann. Siehe oben. Verpasst hat dass eine persönlichen Daten in ~ oder $HOME also /home/user-name liegen bzw ~hannes/pfad zu /home/hannes/.. wird. Verpasst hat dass er eventuell nichts alle sieht. Siehe versteckte Regale oben. (Alles was mit . anfängt). Nie Communities kennengelernt hat siehe oben wo kann man Fragen stellen. (sein System nie updated wegen Sicherheitslücken ?) Nicht verstanden hat dass Linux bedeutet die Vielfalt der Welt und ihrer Bewohner und derrer vielen Meinungen wiederzuerkennen ;-/ Es gibt ein Windows und ein OSX - Aber ... ;-) deswegen such dir deine Community gut aus und schätze Anzahl der Benutzer ab falls von bekannten Wegen weit abweichen willst. ugo nicht versteht (user group others) Siehe no permission oben. Wenn man was nicht gelesen oder verändert werden kann könnte das der Grund sein. Wer bei Youtube noch nie Mediathek -> Verlauf genutzt hat. Oder wer noch nie auf den Ersteller geklickt hat um alle seine Videos zu finden. Linux zu benutzen manchmal so ist wie den ewigen Jungbrunnen zu finden. Erst wenn man überall auf der Welt gesucht hat weiß man dass es ihn gibt/ nicht gibt. Deswegen nutze die Communities und ihr Wissen. Du könntest deine wertvolle Zeit nutzen um anderen zu helfen. Lasst uns uns gegenseitig helfen. Zeit ist wertvoll. Wer denkt dass Linux das einzige Open-Source Betriebssystem ist. ReactOS, BSD und weitere .. noch nicht weiss dass Linux sehr vielseitig verwendet wird von Android bis SpaceX https://www.linux-magazin.de/news/spacex-raketen-mit-echtzeit-linux/ Desktops PIs embedded ...