heiko:tipps:linux-grundlagen:tipp_linuxgrundlagen_01
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
heiko:tipps:linux-grundlagen:tipp_linuxgrundlagen_01 [2018/08/08 23:10] – dokuwikiadmin | heiko:tipps:linux-grundlagen:tipp_linuxgrundlagen_01 [2018/08/11 21:58] (aktuell) – dokuwikiadmin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ~~META: | ||
+ | date issued = 2008-01-01 | ||
+ | ~~ | ||
+ | {{tag> | ||
+ | __letzte inhaltliche Überarbeitung: | ||
+ | ===== Linux - Grundlagen und Befehle ===== | ||
+ | ===== 1. Teil ===== | ||
+ | ==== 1.1 Vorwort ==== | ||
+ | Meine Ausführungen beziehe ich oft (wenn Pfade oder das Konfiguationsprogramm " | ||
+ | Der Standardpfad für die Konfigurationsdateien liegt fast immer irgendwo unterhalb von **/etc**. Diese Konfigurationsdateien (im Textformat - das ist schon der erste Vorteil von Linux) sind fast immer sehr gut dokumentiert, | ||
+ | |||
+ | ==== 1.2 Dokumentation ==== | ||
+ | Wie oben schon angemerkt, befindet sich im Verzeichnis **/ | ||
+ | |||
+ | Darüberhinaus gibt es noch andere Informationsmöglichkeiten: | ||
+ | Bei der Eingabe eines Befehls kann man meist die Option ''< | ||
+ | |||
+ | Der Aufruf ''< | ||
+ | |||
+ | Sollte einem nur der(die) Anfangsbuchstabe(n) eines Befehls einfallen, gibt man diesen ein, drückt die Tabulatortaste und Linux versucht diesen zu vervollständigen. Gibt es mehrere Möglichkeiten erscheinen alle Möglichkeiten auf dem Bildschirm. Diese **" | ||
+ | |||
+ | ==== 1.3. Benutzer und Gruppen ==== | ||
+ | Linux ist ein Mehrbenutzersytem. Deshalb müssen für die Nutzung des Systems Nutzer (user) und Gruppen (groups) angelegt werden. Die System-User (benötigt für die verschiedenen Programme und das Dateisystem) legt SuSE von allein an. Es bleiben also nur die " | ||
+ | |||
+ | Am einfachsten benutzt man dazu " | ||
+ | Diese User bekommen ein **" | ||
+ | |||
+ | ==== 1.4 Dateiattribute ==== | ||
+ | Dateien werden unter Linux mit drei Dateiattributen versehen: | ||
+ | * **r wie " | ||
+ | * **w wie " | ||
+ | * **x wie " | ||
+ | |||
+ | Diese Dateiattribute werden den Dateien gleich dreimal zugeteilt. Hier wird unterschieden in Berechtigungen für: | ||
+ | * **u wie " | ||
+ | * **g wie " | ||
+ | * **o wie " | ||
+ | |||
+ | Wird der Anfang des Dateinamens mit einem Punkt versehen gilt diese als //" | ||
+ | Will man auch diese Dateien mit einbeziehen muss man oft zusätzliche Optionen angeben. | ||
+ | ==== 1.5. Dateisystem ==== | ||
+ | Die Festplatten werden unter Linux als **" | ||
+ | So spricht das System die erste Festplatte (Master) am 1. IDE-Bus als **/ | ||
+ | Die zweite Platte (Slave) würde **/ | ||
+ | |||
+ | Bei SCSI-Geräten heißen die Geräte **/dev/sda, /dev/sdb** ... und so weiter. | ||
+ | |||
+ | Im Gegensatz zu Windows arbeitet Linux nicht mit Laufwerksbuchstaben. Es benutzt " | ||
+ | Darauf müssen die entsprechenden Verzeichnisse existieren, die jetzt zum Mounten der weiteren Partitionen der Festplatte benötigt werden. | ||
+ | |||
+ | So sollte man für **/swap (Linux-Auslagerungsspeicher)**, | ||
+ | Außerdem kann diese Verteilung Geschwindigkeitsvorteile bringen, sofern die Partitionen auf unterschiedlichen Festplatten liegen (parallele Zugriffe auf verschiedene Geräte). | ||
+ | |||
+ | Linux kann mit verschiedenen Dateisystemen arbeiten. Bisher wurde es meist auf **ext2** installiert. In jüngerer Vergangenheit wurden freie Journaling-Dateisysteme entwickelt. | ||
+ | Diese haben die Aufgabe, nach einem Stromausfall oder ähnlichen aprubten Unterbrechungen die Integrität der Daten beim Neustart sicherzustellen - und das möglichst schnell. | ||
+ | Die zur Zeit verfügbaren Journaling-Dateisysteme sind: **ext3, reiserfs, XFS**. | ||
+ | |||
+ | Außerdem kann Linux auf eine Vielzahl anderer Dateisystem zugreifen: | ||
+ | * FAT16 - Dos | ||
+ | * FAT32 - Windows | ||
+ | * NTFS - Windows | ||
+ | * NFS - Network-Filesystem (transparente Verteilung des FS im Netzwerk) | ||
+ | * SMBFS - Windows-Netzwerk-Dateisystem | ||
+ | |||
+ | Beim manuellen Einhängen (Mounten) einer Partition muss man den Dateisystemtyp angeben. | ||
+ | __Hier nur ein kurzes Beispiel:__ | ||
+ | <code bash; gutter: false> | ||
+ | Die 6. Partition auf der Slave-Platte am 2. IDE-Bus wird als Reiser-Dateisystem in das Verzeichnis **/ | ||
+ | |||
+ | ==== 1.6. Software-Installation - RPM ==== | ||
+ | |||
+ | SuSE liefert seine Software in Form von RPM(RedHatPackageManager)-Paketen. Diese installiert man am einfachsten mit Hilfe von YAST. Die RPM-Pakete bieten den Vorteil, dass bei der Installation (und auch Deinstallation) Abhängigkeiten der zu installierenden, | ||
+ | |||
+ | **__Vor__** einer SuSE-Installation sollte man auf jeden Fall die Hilfeseiten von SuSE im Internet [[http:// | ||
+ | |||
+ | Für User mit etwas mehr Interesse an Linux und dem Willen sich in die Grundlagen einzuarbeiten, | ||
+ | Darüberhinaus versucht die freie Entwicklergemeinde nur ausgereifte Versionen der Programme einzubinden, | ||
+ | |||
+ | Um auf //" | ||
+ | |||
+ | Aufgrund der Aussagen anderer über die Unzulänglichkeiten des //"YOU - YastOnlineUpdates"// | ||
+ | |||
+ | === 1.6.1 Infos über RPM-Pakete === | ||
+ | Benötigt man Informationen über bestimmte RPM-Softwarepakete, | ||
+ | |||
+ | Informationen über die installierte Software kann man mit der Option **//-q//** abfragen: | ||
+ | * **rpm -q apache** => zeigt die Versionsnummer des Paketes //" | ||
+ | * **rpm -ql apache** => zeigt alle im Paket //" | ||
+ | * **rpm -qa** => zeigt alle installierten RPM-Pakete an **//(Option -a => | ||
+ | * **rpm -qa | grep apache** | ||
+ | * //-qa// fragt alle installierten RPM-Pakete | ||
+ | * //|// - Pipe = (sequentielle) Übergabe der Werte auf der Standardausgabe an den folgenden Schritt | ||
+ | * //grep// filtert aus der übergebenen Standardausgabe Zeilen mit dem String //" | ||
+ | * (auf diese Art und Weise kann man mithilfe von regulären Ausdrücken die komliziertesten Abfragen ausführen, auch wenn man die Paketbezeichnung nicht genau kennt) | ||
+ | * **rpm -qf pfad/ | ||
+ | * **rpm -qfi pfad/ | ||
+ | * Name, Version, Beschreibung **//(Option -i => | ||
+ | * **rpm -qf --changelog pfad/ | ||
+ | |||
+ | Noch mehr und spezifischere Informationen erhält man mit folgenden Optionen: | ||
+ | * **rpm -q --requires apache** => Anzeige der vom Paket //apache// benötigten Dateien | ||
+ | * **rpm -q --provides apache** => Anzeige der vom Paket //apache// zur Verfügung gestellten Dateien (" | ||
+ | * **rpm -q --whatprovides mod_imap.so** => Anzeige der Pakete die die Datei/ | ||
+ | * In diesem einen Fall ergibt die Abfrage bei mir: **// | ||
+ | |||
+ | Diese Abfragen funktionieren nur mit bereits installierten Paketen (die schnellen werden es schon gemerkt haben ;-)) Ist das Paket nicht installiert gibt es unschöne Fehlermeldungen. | ||
+ | |||
+ | * **rpm -qp --requires [pfad/ | ||
+ | * Das jetzt kooperative Verhalten von Linux wird durch den Parameter **//-p//** (wie Paket) bewirkt | ||
+ | |||
+ | === 1.6.2 Installation von RPM-Paketen === | ||
+ | Von der Kommandozeile aus, installiert man RPM-Pakete mit der Option **//-i//**: | ||
+ | * **rpm -i [install-Optionen] apache-1.3.26-57.i586.rpm** => installiert das angegebene // | ||
+ | * **rpm -i --test // | ||
+ | * **rpm -i --hash // | ||
+ | * **rpm -i -h // | ||
+ | |||
+ | In den nächsten Beispielen stelle ich die lange und wenn vorhanden die kurze Schreibweise in eckigen Klammern gemeinsam dar. | ||
+ | |||
+ | * **rpm -i --oldpackage // | ||
+ | * **rpm -i --replacepkgs // | ||
+ | * **rpm -i --replacefiles // | ||
+ | * **rpm -i --force // | ||
+ | * **rpm -i --nodeps // | ||
+ | * **rpm -i --excludedocs // | ||
+ | |||
+ | === 1.6.3 Update von RPM-Paketen === | ||
+ | |||
+ | Stellt man nun fest, dass ein installiertes RPM-Paket mit einem neueren " | ||
+ | * **cd // | ||
+ | * **rpm -Uhv // | ||
+ | * nach den ersten 2 Buchstaben //TAB// drücken vervollständigt einen evtl. im aktuellen Verzeichnis vorhandenen Dateiname) | ||
+ | * Sollten Abhängigkeiten nicht auflösbar oder ein solches Paket nicht installiert sein, bricht der Updatevorgang mit einer entsprechenden Fehlermeldung ab. | ||
+ | [<>] | ||
+ | ~~DISQUS~~ |