<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.foxtom.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Khalilalim</id>
	<title>Foxwiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.foxtom.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Khalilalim"/>
	<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php/Spezial:Beitr%C3%A4ge/Khalilalim"/>
	<updated>2026-07-28T06:43:47Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Benutzer_Diskussion:Khalilalim&amp;diff=16620</id>
		<title>Benutzer Diskussion:Khalilalim</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Benutzer_Diskussion:Khalilalim&amp;diff=16620"/>
		<updated>2020-10-02T10:16:01Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: Neuer Abschnitt /* DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DNS ==&lt;br /&gt;
&lt;br /&gt;
Das Domain Name System (DNS) spielt eine essentielle Rolle in IP-basierten Netzwerken. Seine Hauptaufgabe ist die Beantwortung von Anfragen zur Namensauflösung.&lt;br /&gt;
&lt;br /&gt;
Das DNS funktioniert ähnlich wie eine Telefonauskunft. Der Benutzer kennt die Domain (den für Menschen merkbaren Namen eines Rechners im Internet) – zum Beispiel &amp;lt;code&amp;gt;itw-berlin.net&amp;lt;/code&amp;gt;. Diese sendet er als Anfrage in das Internet. Die Domain wird dann dort vom DNS in die zugehörige IP-Adresse (die „Anschlussnummer“ im Internet) umgewandelt – zum Beispiel eine IPv4-Adresse der Form &amp;lt;code&amp;gt;88.99.60.173&amp;lt;/code&amp;gt; oder eine IPv6-Adresse wie &amp;lt;code&amp;gt;2a01:4f8:10a:cec::2&amp;lt;/code&amp;gt;, und führt so zum richtigen Rechner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Überblick=&lt;br /&gt;
*Das DNS ist ein weltweit auf Tausenden von Servern verteilter hierarchischer Verzeichnisdienst, der den Namensraum des Internets verwaltet. Dieser Namensraum ist in sogenannte [[#Zonendateien anlegen|Zonen]] unterteilt.&lt;br /&gt;
&lt;br /&gt;
*Hauptsächlich wird das DNS zur Umsetzung von Domainnamen in IP-Adressen ([[#Forward lookup Zone anlegen|forward lookup]]) benutzt.&lt;br /&gt;
*Dies ist vergleichbar mit einem Telefonbuch, das die Namen der Teilnehmer in ihre Telefonnummer auflöst.&lt;br /&gt;
*Das DNS bietet somit eine Vereinfachung, weil Menschen sich Namen weitaus besser merken können als Zahlenketten.#&lt;br /&gt;
*Dieser Punkt gewinnt im Zuge der Einführung von IPv6 noch mehr an Bedeutung, denn dann werden einem Namen jeweils IPv4- und IPv6-Adressen zugeordnet.&lt;br /&gt;
*So löst sich beispielsweise der Name &amp;lt;code&amp;gt;www.itw-berlin.net&amp;lt;/code&amp;gt; in die IPv4-Adresse &amp;lt;code&amp;gt;88.99.60.173&amp;lt;/code&amp;gt; und die IPv6-Adresse &amp;lt;code&amp;gt;2a01:4f8:10a:cec::2&amp;lt;/code&amp;gt; auf.&lt;br /&gt;
&lt;br /&gt;
Mit dem DNS ist auch eine umgekehrte Auflösung von IP-Adressen in Namen ([[#Reverse lookup Zone anlegen|reverse lookup]]) möglich.&lt;br /&gt;
*In Analogie zum Telefonbuch entspricht dies einer Suche nach dem Namen eines Teilnehmers zu einer bekannten Rufnummer, was innerhalb der Telekommunikationsbranche unter dem Namen Inverssuche bekannt ist.&lt;br /&gt;
&lt;br /&gt;
=Allgemeine Komponenten=&lt;br /&gt;
===Domain-Namensraum===&lt;br /&gt;
[[Datei:Schematische Darstellung DNS Hierarchie.png|DNS-Hierarchie]]&lt;br /&gt;
* Baumförmige Struktur&lt;br /&gt;
* Blätter und Knoten werden als Labels bezeichnet&lt;br /&gt;
* Kompletter Domainname = Verkettung aller Labels eines Pfades&lt;br /&gt;
* Labels werden durch Punkt getrennt&lt;br /&gt;
* Domainname wird mit Punkt abgeschlossen&lt;br /&gt;
&lt;br /&gt;
===Fully Qualified Domain Name (FQDN)===&lt;br /&gt;
Der vollständige Name einer Domain wird als ihr Fully Qualified Domain Name (FQDN) bezeichnet. Der Domain-Name ist in diesem Fall eine absolute Adresse und darf inklusive aller Punkte maximal 255 Bytes lang sein.&lt;br /&gt;
&lt;br /&gt;
Der FQDN &amp;lt;code&amp;gt;www.itw-berlin.net.&amp;lt;/code&amp;gt; ergibt sich durch: &lt;br /&gt;
 3rd-level-label. | 2nd-level-label. | Top-Level-Domain. | root-label&lt;br /&gt;
 ------------------------------------------------------------------&lt;br /&gt;
 www              . itw-berlin       . net               .&lt;br /&gt;
&lt;br /&gt;
Ein Domainname wird immer von rechts nach links delegiert und aufgelöst, das heißt je weiter rechts ein Label steht, umso höher steht es im Baum.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.net.itw-berlin.www&amp;lt;/code&amp;gt;&lt;br /&gt;
 root-label. | Top-Level-Domain. | 2nd-level-label. | 3rd-level-label.&lt;br /&gt;
 ------------------------------------------------------------------&lt;br /&gt;
             . net               . itw-berlin       . www&lt;br /&gt;
&lt;br /&gt;
===Nameserver===&lt;br /&gt;
*bietet Namensauflösung an&lt;br /&gt;
**autoritativ&lt;br /&gt;
***verantwortlich für eine Zone&lt;br /&gt;
***wird als gesichert angesehen&lt;br /&gt;
***Redundanz vorgeschrieben&lt;br /&gt;
****primärer Nameserver&lt;br /&gt;
****sekundärer Nameserver&lt;br /&gt;
****Zonentransfer&lt;br /&gt;
**nicht-autoritativ&lt;br /&gt;
***bezieht Informationen von anderen Nameservern&lt;br /&gt;
***wird als nicht gesichert angesehen&lt;br /&gt;
***speichert Informationen im RAM (caching)&lt;br /&gt;
&lt;br /&gt;
====Zusammenarbeit der einzelnen Nameserver====&lt;br /&gt;
Ein nicht-autoritativer Nameserver bedient sich folgender Strategien um Informationen über andere Teile des Namensraumes zu finden:&lt;br /&gt;
&lt;br /&gt;
*Delegierung&lt;br /&gt;
**leitet Anfragen an Subdomain Nameserver weiter&lt;br /&gt;
*Weiterleitung (forwarding)&lt;br /&gt;
**bei ausserhalb liegenden Namensräumen, Weiterleitung an fest konfigurierten Nameserver&lt;br /&gt;
**oder Auflösung über die Root-Nameserver (ausschliesslich Beantwortung iterativer Anfragen)&lt;br /&gt;
&lt;br /&gt;
=== Resolver ===&lt;br /&gt;
[[Datei:DnsAufloesungDarstellung.png|DNS-Auflösung]]&lt;br /&gt;
*Resolver sind einfach aufgebaute Software-Module, die auf dem Rechner eines DNS-Teilnehmers installiert sind und die Informationen von Nameservern abrufen können.&lt;br /&gt;
*Sie bilden die Schnittstelle zwischen Anwendung und Nameserver.&lt;br /&gt;
*Der Resolver übernimmt die Anfrage einer Anwendung, ergänzt sie, falls notwendig, zu einem [[#Fully Qualified Domain Name (FQDN)|FQDN]] und übermittelt sie an einen normalerweise fest zugeordneten Nameserver.&lt;br /&gt;
*Ein Resolver arbeitet entweder rekursiv oder iterativ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rekursiv&#039;&#039;&#039;&lt;br /&gt;
* Resolver schickt Nameserver die Anfrage&lt;br /&gt;
* kennt der Nameserver die Antwort erhält der Resolver die Antwort direkt, sonst schickt er die Anfrage weiter (s. [[#Zusammenarbeit der einzelnen Nameserver|Zusammenarbeit der einzelnen Nameserver]])&lt;br /&gt;
* am Ende erhält der Resolver die endgültige ANtwort&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iterativ&#039;&#039;&#039;&lt;br /&gt;
* Resolver erhält entweder die Antwort vom ersten Nameserver oder den Verweis zum nächsten Nameserver&lt;br /&gt;
* in diesem Fall fragt der Resolver den nächsten Nameserver&lt;br /&gt;
* dies geschieht so lange, bis er eine Antwort hat&lt;br /&gt;
&lt;br /&gt;
Bekannte Programme zur Überprüfung der Namensauflösung sind &amp;lt;code&amp;gt;nslookup&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;dig&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Protokoll ===&lt;br /&gt;
* DNS-Anfragen normalerweise per &amp;lt;code&amp;gt;UDP-Port 53&amp;lt;/code&amp;gt; zum Namensserver&lt;br /&gt;
* bei DNS-UDP-Paketen grösser als 512 Bytes werden die Antworten abgeschnitten&lt;br /&gt;
* Client wird dann per Truncate-Flag informiert und kann Anfrage per &amp;lt;code&amp;gt;TCP-Port 53&amp;lt;/code&amp;gt; wiederholen&lt;br /&gt;
* Zonentransfers immer über &amp;lt;code&amp;gt;TCP-Port 53&amp;lt;/code&amp;gt;, Auslösung aber per UDP.&lt;br /&gt;
&lt;br /&gt;
=DNS-Server Raum102=&lt;br /&gt;
Wir haben für den Schulungsraum 102 einen eigenen DNS-Server aufgesetzt um eine Namensauflösung aller Router, Server und Clients zu ermöglichen. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Domain lautet hier &amp;lt;code&amp;gt;raum102.itw&amp;lt;/code&amp;gt;. Wie wir dies realisiert haben erläutern wir im weiteren Verlauf.&lt;br /&gt;
&lt;br /&gt;
==Konventionen unseres neuen DNS-Servers==&lt;br /&gt;
Zu Beginn machen wir uns kurz Gedanken wie die Domäne, der Servername und die IP-Adresse lauten sollen. &amp;lt;br&amp;gt;&lt;br /&gt;
Weiter sollten wir uns überlegen, welchen Dienst wir hierfür einsetzen möchten.&lt;br /&gt;
&lt;br /&gt;
 Primary DNS-Server&lt;br /&gt;
 Domain: raum102.itw &lt;br /&gt;
 Servername: ns1.raum102.itw&lt;br /&gt;
 IP-Address: 10.0.0.3&lt;br /&gt;
 Alias: nameserver1&lt;br /&gt;
&lt;br /&gt;
Als DNS-Dienst wollen wir [[# bind9 installieren|bind9]] verwenden.&lt;br /&gt;
&lt;br /&gt;
==Vorraussetzungen==&lt;br /&gt;
&lt;br /&gt;
====Betriebssystem aktualisieren====&lt;br /&gt;
&amp;lt;code&amp;gt;# apt update &amp;amp;&amp;amp; apt upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Statische IP setzen====&lt;br /&gt;
&amp;lt;code&amp;gt;# vi /etc/network/interfaces&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;# vi /etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==bind9 installieren==&lt;br /&gt;
&amp;lt;code&amp;gt;# apt install -y bind9 bind9utils bind9-doc dnsutils&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zonendateien anlegen===&lt;br /&gt;
=====Resource Records kurz erklärt=====&lt;br /&gt;
 &#039;&#039;&#039;SOA - enthält z.B Seriennummer, Gultigkeitsdauer ...&#039;&#039;&#039;&lt;br /&gt;
 @       IN      SOA     ns1.raum102.itw. root.raum102.itw. (&lt;br /&gt;
                     2019092301         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;SOA&#039;&#039;&#039; bedeutet Start of Authority (dt. Beginn der Zuständigkeit) und ist wichtiger Bestandteil einer Zonendatei im DNS.&lt;br /&gt;
 &#039;&#039;&#039;Seriel&#039;&#039;&#039; wird bei jeder Änderung inkrementiert (vorzugsweise JJJJMMTTVV; dient als Hinweis, wann die Zone zuletzt aktualisiert wurde.&lt;br /&gt;
 &#039;&#039;&#039;Refresh&#039;&#039;&#039; Sekundenabstand, in dem sekundäre Nameserver die Seriennummer vom primären Master abfragen sollen, um Änderungen der Zone festzustellen. &lt;br /&gt;
 &#039;&#039;&#039;Retry&#039;&#039;&#039; Sekundenabstand, in dem, bei ausbleibender Antwort des Masters, sekundäre Nameserver nochmals seine Seriennummer abfragen sollen. Dieser Wert muss kleiner als jener zum Refresh sein. &lt;br /&gt;
 &#039;&#039;&#039;Expire&#039;&#039;&#039; Sekundenabstand, nach dem bei ausbleibender Antwort des Masters sekundäre Nameserver keine Antworten über die Zone mehr geben sollen. Dieser Wert muss größer als die Summe jener zum Refresh und Retry sein. &lt;br /&gt;
 &#039;&#039;&#039;TTL&#039;&#039;&#039; gibt in Sekunden an, wie lange dieser RR in einem Cache gültig sein darf.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NS - Delegierung der Nameserver untereinander&#039;&#039;&#039;&lt;br /&gt;
                 IN      NS      ns1.raum102.itw.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;A - weist einem Namen eine IPv4-Adresse zu&#039;&#039;&#039;&lt;br /&gt;
 ;IP address of Name Server&lt;br /&gt;
 ns1             IN      A       10.0.0.3&lt;br /&gt;
 &lt;br /&gt;
 ;A - Record HostName To Ip Address&lt;br /&gt;
 nfs             IN      A       10.0.0.140&lt;br /&gt;
 bup             IN      A       10.0.0.141&lt;br /&gt;
 r1              IN      A       10.0.0.1&lt;br /&gt;
 r2              IN      A       10.0.0.2&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;AAAA - weist einem Namen eine IPv6-Adresse zu&#039;&#039;&#039;&lt;br /&gt;
 ;wird hier nicht verwendet&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;CNAME - verweist von einem Namen auf einen anderen Namen (Alias)&#039;&#039;&#039;&lt;br /&gt;
 ;CNAME record&lt;br /&gt;
 nameserver1     IN      CNAME   ns1.raum102.itw.&lt;br /&gt;
 fileserver      IN      CNAME   nfs.raum102.itw.&lt;br /&gt;
 backupserver    IN      CNAME   bup.raum102.itw.&lt;br /&gt;
 router01        IN      CNAME   r1.raum102.itw.&lt;br /&gt;
 router02        IN      CNAME   r2.raum102.itw.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;MX - weist einem Namen einen Mailserver zu (SMTP)&#039;&#039;&#039;&lt;br /&gt;
 ;wird hier nicht verwendet&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;PTR - weist einer IP-Adresse einen Namen zu (Reverse Lookup)&lt;br /&gt;
 ;Reverse lookup for Name Server&lt;br /&gt;
 3       IN      PTR     ns1.raum102.itw.&lt;br /&gt;
 &lt;br /&gt;
 ;PTR Record IP address to HostName&lt;br /&gt;
 140     IN      PTR     nfs.raum102.itw.&lt;br /&gt;
 141     IN      PTR     bup.raum102.itw.&lt;br /&gt;
 1       IN      PTR     r1.raum102.itw.&lt;br /&gt;
 2       IN      PTR     r2.raum102.itw.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;TXT - kann einem Namen einen frei definierbaren Text zuweisen (Abwehr von Spam)&lt;br /&gt;
 ;wird hier nicht verwendet&lt;br /&gt;
&lt;br /&gt;
====Forward lookup Zone anlegen====&lt;br /&gt;
 &#039;&#039;&#039;# vi /etc/bind/fwd.raum102.itw&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND forward zone file for raum102.itw&lt;br /&gt;
 ;&lt;br /&gt;
 &lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     ns1.raum102.itw. root.raum102.itw. (&lt;br /&gt;
                      2019092301         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 &lt;br /&gt;
 ;@      IN      NS      localhost.&lt;br /&gt;
 ;@      IN      A       127.0.0.1&lt;br /&gt;
 ;@      IN      AAAA    ::1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ;Name Server Information&lt;br /&gt;
                 IN      NS      ns1.raum102.itw.&lt;br /&gt;
 &lt;br /&gt;
 ;IP address of Name Server&lt;br /&gt;
 ns1             IN      A       10.0.0.3&lt;br /&gt;
 &lt;br /&gt;
 ;A - Record HostName To Ip Address&lt;br /&gt;
 nfs             IN      A       10.0.0.140&lt;br /&gt;
 bup             IN      A       10.0.0.141&lt;br /&gt;
 r1              IN      A       10.0.0.1&lt;br /&gt;
 r2              IN      A       10.0.0.2&lt;br /&gt;
  &lt;br /&gt;
 ;CNAME record&lt;br /&gt;
 nameserver1     IN      CNAME   ns1.raum102.itw.&lt;br /&gt;
 fileserver      IN      CNAME   nfs.raum102.itw.&lt;br /&gt;
 backupserver    IN      CNAME   bup.raum102.itw.&lt;br /&gt;
 router01        IN      CNAME   r1.raum102.itw.&lt;br /&gt;
 router02        IN      CNAME   r2.raum102.itw.&lt;br /&gt;
&lt;br /&gt;
====Reverse lookup Zone anlegen====&lt;br /&gt;
 &#039;&#039;&#039;# vi /etc/bind/rev.raum102.itw&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND reverse zone file for raum102.itw&lt;br /&gt;
 ;&lt;br /&gt;
 &lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     ns1.raum102.itw. root.raum102.itw. (&lt;br /&gt;
                      2019092301         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 &lt;br /&gt;
 ;Name Server Information&lt;br /&gt;
         IN      NS      ns1.raum102.itw.&lt;br /&gt;
 &lt;br /&gt;
 ;Reverse lookup for Name Server&lt;br /&gt;
 3       IN      PTR     ns1.raum102.itw.&lt;br /&gt;
 &lt;br /&gt;
 ;PTR Record IP address to HostName&lt;br /&gt;
 140     IN      PTR     nfs.raum102.itw.&lt;br /&gt;
 141     IN      PTR     bup.raum102.itw.&lt;br /&gt;
 1       IN      PTR     r1.raum102.itw.&lt;br /&gt;
 2       IN      PTR     r2.raum102.itw.&lt;br /&gt;
&lt;br /&gt;
===Zonendateien einbinden===&lt;br /&gt;
 &#039;&#039;&#039;# vi /etc/bind/named.conf.local&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;raum102.itw&amp;quot; IN {                         //domain name (forward zone)&lt;br /&gt;
      type master;                               //primary DNS&lt;br /&gt;
      file &amp;quot;/etc/bind/fwd.raum102.itw&amp;quot;;          //forward zone file&lt;br /&gt;
      allow-update { none; };                    //none, because its primary DNS&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;0.0.10.in-addr.arpa&amp;quot; IN {                 //reverse zone&lt;br /&gt;
      type master;                               //primary DNS&lt;br /&gt;
      file &amp;quot;/etc/bind/rev.raum102.itw&amp;quot;;          //reverse zone file&lt;br /&gt;
      allow-update { none; };                    //none, because its primary DNS&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
===Konfiguration eines sekundären DNS-Servers===&lt;br /&gt;
&lt;br /&gt;
*Um Ausfallsicherheit zu gewährleisten, kann es sinnvoll sein, mehrere DNS-Server zu betreiben.&lt;br /&gt;
*Tatsächlich ist es sogar vorgeschrieben, dass eine öffentlich zugängliche Domain von mindestens zwei Servern bedient werden muss.&lt;br /&gt;
*Oft sind es sogar fünf oder mehr. In einem privaten Netz kommt man dagegen in der Regel mit einem aus.&lt;br /&gt;
*Damit man die verschiedenen Server aber nicht alle einzeln konfigurieren muss, und sich bei routinemäßigen Veränderungen der Zonen Fehler bzw. Abweichungen zwischen den Zonendaten einschleichen, gibt es Zonentransfers.&lt;br /&gt;
*Dafür werden die Daten dann immer nur auf einem primären Nameserver angepasst und dieser transferiert die aktuellen Zonendaten dann an einen oder mehrere sekundäre Server weiter, so dass die Daten immer konsistent bleiben.&lt;br /&gt;
*Für einen Client macht es keinen Unterschied, ob er mit einem primären oder einem sekundären Server kommunizieret.&lt;br /&gt;
&#039;&#039;&#039;Änderungen auf dem primären Server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Als erstes muss man dem primären Server beibringen, an welche Rechner er die Zonendaten überhaupt übertragen darf. &lt;br /&gt;
*Das passiert in der Datei /etc/bind/named.conf.options, wo man irgendwo im durch geschweifte Klammern eingefassten options-Block Folgendes einträgt:&lt;br /&gt;
&lt;br /&gt;
 allow-transfer { 192.168.0.200; };&lt;br /&gt;
 notify yes;&lt;br /&gt;
&lt;br /&gt;
allow-transfer gibt dabei an, welchen Hosts ein Zonentransfer erlaubt werden soll. Die Angabe mehrerer IP-Adressen hintereinander ist möglich, es sollte jedoch unbedingt darauf geachtet werden, dass kein Semikolon fehlt. Die Direktive notify yes gibt an, dass der primäre Server seine Stellvertreter von selbst darauf aufmerksam macht, sobald aktualisierte Zonendateien verfügbar sind.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nach den Änderungen muss der Dienst neu gestartet werden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Die Unterscheidung zwischen alten und neuen Daten erfolgt ausschließlich über die Seriennummer im SOA-Header der Zone. &lt;br /&gt;
*Wenn man beim Editieren vergisst, diese zu erhöhen, findet kein Zonentransfer statt und die Slaves arbeiten mit den veralteten Daten weiter.&lt;br /&gt;
&lt;br /&gt;
==Einrichtung des sekundären Servers==&lt;br /&gt;
&lt;br /&gt;
* Als erstes muss in der Datei named.conf.options eingetragen werden, von welchem Host die Benachrichtigungen kommen werden:&lt;br /&gt;
 allow-notify { 192.168.0.10; };&lt;br /&gt;
&lt;br /&gt;
* Dann müssen in named.conf.local die Zonen eingetragen werden, für die der Server als Slave agieren soll, und wer sein Meister ist: &lt;br /&gt;
 zone &amp;quot;domainname&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        masters { 192.168.0.10; };&lt;br /&gt;
        file &amp;quot;back/domainname.bak&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;0.168.192.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        masters { 192.168.0.10; };&lt;br /&gt;
        file &amp;quot;back/0.168.192.bak&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
* Die File-Direktiven zeigen in diesem Fall nicht auf existierende Zonendateien, sondern auf den Ort, wo der Server die erhaltenen Zonendaten ablegen soll.&lt;br /&gt;
* In diesem Fall im Verzeichnis back im Bind-Homeverzeichnis /var/cache/bind. Da dieses noch nicht existiert, muss es erst passend angelegt werden:&lt;br /&gt;
 sudo mkdir /var/cache/bind/back&lt;br /&gt;
 sudo chown bind /var/cache/bind/back &lt;br /&gt;
&lt;br /&gt;
* Eigene Zonendateien besitzt ein sekundärer Nameserver nicht.&lt;br /&gt;
* Natürlich muss der Dienst auch hier nach der Änderung neu gestartet werden. Getestet werden kann er dann genau wie ein primärer Server.&lt;br /&gt;
&lt;br /&gt;
===Syntax der named.conf.* und der Zonendateien überprüfen===&lt;br /&gt;
 &#039;&#039;&#039;# named-checkzone raum102.itw /etc/bind/fwd.raum102.itw&#039;&#039;&#039;&lt;br /&gt;
 zone raum102.itw/IN: loaded serial 20&lt;br /&gt;
 OK&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;# named-checkzone 0.0.10-in-addr.arpa /etc/bind/rev.raum102.itw&#039;&#039;&#039;&lt;br /&gt;
 zone 0.0.10-in-addr.arpa/IN: loaded serial 20&lt;br /&gt;
 OK&lt;br /&gt;
&lt;br /&gt;
===bind9 Installation abschließen===&lt;br /&gt;
# &amp;lt;code&amp;gt;~# systemctl restart bind9&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;~# systemctl enable bind9&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;~# systemctl status bind9&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;~# vi /etc/resolv.conf&amp;lt;/code&amp;gt; --&amp;gt; &amp;lt;code&amp;gt;nameserver 10.0.0.3&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;~# service networking restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Namensauflösung testen==&lt;br /&gt;
[[Datei:WiresharkDNS1.png|Ablaufverfolgung der Namensauflösung]]&lt;br /&gt;
 &#039;&#039;&#039;# dig google.de&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.11.5-P4-5.1-Debian &amp;lt;&amp;lt;&amp;gt;&amp;gt; google.de&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; Got answer:&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 3983&lt;br /&gt;
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 9&lt;br /&gt;
 &lt;br /&gt;
 ;; OPT PSEUDOSECTION:&lt;br /&gt;
 ; EDNS: version: 0, flags:; udp: 4096&lt;br /&gt;
 ; COOKIE: bea27b6c0abfa5c4d5c979555d8b180addb5f0df1c69bfd0 (good)&lt;br /&gt;
 ;; QUESTION SECTION:&lt;br /&gt;
 ;google.de.                     IN      A&lt;br /&gt;
 &lt;br /&gt;
 ;; ANSWER SECTION:&lt;br /&gt;
 google.de.              300     IN      A       172.217.17.35&lt;br /&gt;
 &lt;br /&gt;
 ;; AUTHORITY SECTION:&lt;br /&gt;
 google.de.              83363   IN      NS      ns1.google.com.&lt;br /&gt;
 google.de.              83363   IN      NS      ns2.google.com.&lt;br /&gt;
 google.de.              83363   IN      NS      ns3.google.com.&lt;br /&gt;
 google.de.              83363   IN      NS      ns4.google.com.&lt;br /&gt;
 &lt;br /&gt;
 ;; ADDITIONAL SECTION:&lt;br /&gt;
 ns1.google.com.         168448  IN      A       216.239.32.10&lt;br /&gt;
 ns2.google.com.         168448  IN      A       216.239.34.10&lt;br /&gt;
 ns3.google.com.         168448  IN      A       216.239.36.10&lt;br /&gt;
 ns4.google.com.         168448  IN      A       216.239.38.10&lt;br /&gt;
 ns1.google.com.         168448  IN      AAAA    2001:4860:4802:32::a&lt;br /&gt;
 ns2.google.com.         168448  IN      AAAA    2001:4860:4802:34::a&lt;br /&gt;
 ns3.google.com.         168448  IN      AAAA    2001:4860:4802:36::a&lt;br /&gt;
 ns4.google.com.         168448  IN      AAAA    2001:4860:4802:38::a&lt;br /&gt;
 &lt;br /&gt;
 ;; Query time: 20 msec&lt;br /&gt;
 ;; &amp;lt;span style=&amp;quot;background:yellow&amp;quot;&amp;gt;SERVER: 10.0.0.3#53(10.0.0.3)&amp;lt;/span&amp;gt;&lt;br /&gt;
 ;; WHEN: Mi Sep 25 09:32:26 CEST 2019&lt;br /&gt;
 ;; MSG SIZE  rcvd: 340&lt;br /&gt;
&lt;br /&gt;
=DNS Einträgen=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;A-Records&#039;&#039;&#039;&lt;br /&gt;
stehen für einen Hosteintrag z.B. www. und verweisen auf eine IP Adresse eines Servers z.B. Webserver.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Für die Domain deinedomain.com ist ein A-Record gesetzt, der auf die IP Adresse 77.244.243.2 zeigt.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AAAA&#039;&#039;&#039;&lt;br /&gt;
steht für die gleiche Art von Eintrag wie für den „normalen“ „A“ Record, dieser Eintrag ist jedoch für die Verwendung von IPv6 Adressen vorgesehen. Bei Verwendung von IPv6 hat dieser Eintrag gegenüber dem normalen &amp;quot;A&amp;quot; Eintrag Priorität.&lt;br /&gt;
Beispiel: Für die Domain deinedomain.com ist ein AAAA-Record gesetzt, der auf die IPv6 Adresse f3b0:1:cb3a:b4b0:7872:5ef9:93bb:e7a2 zeigt.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ALIAS/ANAME Records&#039;&#039;&#039;&lt;br /&gt;
 haben den gleichen Zweck wie CNAME Records, sind allerdings technisch anders aufgebaut. Es geht darum der Domain über einen Hostnamen eine IP zuzuordnen. Sie ermöglichen z.B. den Root Record in der Domain auf einen Zielhostnamen zu verweisen.&lt;br /&gt;
Beispiel: Für die Domain deinedomain.com ist ein ALIAS-Record gesetzt, der auf den Hostname www.deinedomain.com zeigt.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CNAME&#039;&#039;&#039;&lt;br /&gt;
Dieser DNS Eintrag wird eingesetzt, wenn statt einer IP-Adresse auf den Hostname verwiesen werden soll. CNAME Einträge können im Gegensatz zu ALIAS/ANAME Einträgen nur mit Subdomains verwendet werden.&lt;br /&gt;
Beispiel: Für die Subdomain test.deinedomain.com ist ein CNAME-Record gesetzt, der auf den Hostname www.deinedomain.com zeigt.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MX Records&#039;&#039;&#039;&lt;br /&gt;
sind dafür zuständig einer Domain einen oder mehrere Mailserver mit Priorität (10, 20, 30 etc.) anzugeben. Der niedrigste Wert steht für den ersten zu verwendenden Mailserver.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Für die Domain deinedomain.com ist ein MX Eintrag gesetzt, der auf den easyname Mailserver mx01.easyname.eu zeigt.&lt;br /&gt;
NS-Records&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;NS Records&#039;&#039;&#039;&lt;br /&gt;
werden verwendet um für eine einzelne Subdomain einen Nameserver festzulegen&lt;br /&gt;
&lt;br /&gt;
Beispiel: Für die Subdomain test.deinedomain.com ist ein NS Eintrag gesetzt, der auf den easyname Nameserver ns1.easyname.eu zeigt.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SRV-Records&#039;&#039;&#039;&lt;br /&gt;
ermöglichen die Definition zur Verfügbarkeit von unter einer Domain angebotenen IP-basierter Dienste und werden für die Verwendung bestimmter Dienste und Anwendungen wie beispielsweise SIP/VoIP oder XMPP (Office 365, Jabber, Instant Messaging, etc) benötigt. Du kannst über einen SRV Eintrag bei uns auch den Port sowie das Protokoll angeben.&lt;br /&gt;
Beispiel: Für _sip._tls.deinedomain.com ist ein SRV Eintrag gesetzt um den SIP Dienst zu verwenden mit dem TLS Protokoll. Dieser Eintrag zeigt auf den Hostname 443 sipdir.online.lync.com.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TXT-Records&#039;&#039;&#039;&lt;br /&gt;
enthalten frei wählbaren Text. Auf einigen Systemen dient der Inhalt dazu, Verwaltungsdaten zu kodieren. TXT-Records werden auch benutzt um einen SPF Eintrag zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Für die Domain deinedomain.com ist ein TXT Eintrag gesetzt mit folgendem Inhalt:&amp;quot;v=spf1 include:spf.easyname.com -all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Weiterführende Links=&lt;br /&gt;
# [[Statisches Routing mit Debian-Linux|Statische IP setzen]]&lt;br /&gt;
# [https://wiki.ubuntuusers.de/DNS-Server_Bind/ bind9 als DNS]&lt;br /&gt;
# [https://de.wikipedia.org/wiki/Domain_Name_System#Aufbau_der_DNS-Datenbank Aufbau der DNS-Datenbank]&lt;br /&gt;
&lt;br /&gt;
[[Category:Netzwerke:DNS]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=7432</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=7432"/>
		<updated>2019-12-12T12:34:14Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete: =&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&lt;br /&gt;
= Wichtiger Dateien, Verzeichnisse und Anwendungen:=&lt;br /&gt;
*[[Linuxbefehle (Liste)|ln]]&lt;br /&gt;
* [[Linuxbefehl: ls|ls]]&lt;br /&gt;
&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
[[Datei:SoftHardlink.jpg]]&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft:&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
 archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
[[Datei: Hardlink.png]]&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Datei:Hardlink.png&amp;diff=7430</id>
		<title>Datei:Hardlink.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Datei:Hardlink.png&amp;diff=7430"/>
		<updated>2019-12-12T12:28:38Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=7429</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=7429"/>
		<updated>2019-12-12T12:27:53Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete: =&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&lt;br /&gt;
= Wichtiger Dateien, Verzeichnisse und Anwendungen:=&lt;br /&gt;
*[[Linuxbefehle (Liste)|ln]]&lt;br /&gt;
* [[Linuxbefehl: ls|ls]]&lt;br /&gt;
&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
[[Datei:SoftHardlink.jpg]]&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft:&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
 archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=7400</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=7400"/>
		<updated>2019-12-11T14:09:04Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete: =&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&lt;br /&gt;
= Wichtiger Dateien, Verzeichnisse und Anwendungen:=&lt;br /&gt;
*[[Linuxbefehle (Liste)|ln]]&lt;br /&gt;
* [[Linuxbefehl: ls|ls]]&lt;br /&gt;
&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
[[Datei:SoftHardlink.jpg.jpg]]&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft:&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
 archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=Datei:SoftHardlink.jpg&amp;diff=7398</id>
		<title>Datei:SoftHardlink.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=Datei:SoftHardlink.jpg&amp;diff=7398"/>
		<updated>2019-12-11T13:46:40Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/108.4_Drucker_und_Druckvorg%C3%A4nge_verwalten&amp;diff=6922</id>
		<title>LPIC101/108.4 Drucker und Druckvorgänge verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/108.4_Drucker_und_Druckvorg%C3%A4nge_verwalten&amp;diff=6922"/>
		<updated>2019-11-22T10:26:12Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Drucker und Druckvorgänge verwalten==&lt;br /&gt;
&lt;br /&gt;
===Liste wichtiger Dateien, Verzeichnisse und Anwendungen:===&lt;br /&gt;
#&#039;&#039;CUPS Konfigurationsdateien, -Werkzeuge und -Hilfsprogramme&#039;&#039;&lt;br /&gt;
#&#039;&#039;/etc/cups/&#039;&#039;&lt;br /&gt;
#&#039;&#039;LPD-Kompatibilitätsschnittstelle (lpr,lprm,lpq)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Befehle zur Kontrolle von Druckvorgängen===&lt;br /&gt;
===&#039;&#039;lp und lpr&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
lp und lpr senden Druckaufträge an einen angegebenen Drucker. Das Kommando lp entstammt dem SystemV und versteht andere Optionen als lpr. Mit -P wird die zu verwendende Warteschlange angegeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;#:~ # lpr -Plaserjet1300 /etc/printcap&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
druckt die Datei /etc/printcap auf dem Printer Laserjet1300 aus.Sie können dem Kommando lpr etliche Optionen übergeben, die allesamt mit –o eingeleitet  werden.  Hierbei  kann  –o  mehrfach  verwendet  werden.  Gängige  Optionen sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-o media=Größe (z. B. a4)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-olandscape (Querformat)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-ofit-to-page skaliert die Druckdatei auf Seitengröße.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sie können mit folgenden Optionen mehrere Dokumentenseiten auf jede Ausgabeseite drucken:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-onumber-up=2&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-onumber-up=4&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-onumber-up=6&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-onumber-up=9&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-onumber-up=16&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim Druck von Textdateien können Sie die Anzahl der Spalten und der Zeilen pro Zoll festlegen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-ocpi=N&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-olpi=N&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===lpq===&lt;br /&gt;
&lt;br /&gt;
lpq zeigt den Inhalt von Warteschlangen an. Es kann auch hier mit der Option -P eine bestimmte Warteschlange angegeben werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # lpq -Plaserjet1300&lt;br /&gt;
 laserjet1300 is ready and printing&lt;br /&gt;
 Rank    Owner    Job     File(s)                 Total Size&lt;br /&gt;
 active  root     450     printcap                1024 bytes&lt;br /&gt;
 1st     harald   451     haushaltsplan           9216 bytes&lt;br /&gt;
 2nd     harald   452     haushaltsplan           9216 bytes&lt;br /&gt;
 3rd     dominik  453     domema.html             1024 bytes&lt;br /&gt;
&lt;br /&gt;
Um die Aufträge aller angeschlossenen Drucker zu sehen, verwenden Sie einfach das Kommando lpq–a.&lt;br /&gt;
&lt;br /&gt;
===lprm===&lt;br /&gt;
&lt;br /&gt;
lprm löscht  Aufträge  aus  der  Warteschlange.  Bereits  im  Druck  befindliche  Aufträge können nicht mehr entfernt werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;# lprm -Plaserjet1300 451&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
entfernt den versehentlich doppelt abgesendeten Druckauftrag aus dem Beispiel für lpq.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===lpc – Line Printer Control===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lpc ist ein Programm, das man als gewöhnlichen Konsolen befehl oder interaktiv verwenden kann. Der  interaktive  Modus  bietet  einen  Eingabe prompt  und  ist  vor allem  dann  sinnvoll,  wenn  Sie  beabsichtigen,  dem  Druckdaemon  mehrere  Befehle&lt;br /&gt;
hintereinander zu geben.&lt;br /&gt;
&lt;br /&gt;
 lpc&amp;gt; status&lt;br /&gt;
 laserjet1300:&lt;br /&gt;
 printer is on device &#039;parallel&#039; speed -1&lt;br /&gt;
 queuing is enabled&lt;br /&gt;
 printing is enabled&lt;br /&gt;
 4 entries&lt;br /&gt;
 daemon present&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;lpc&amp;gt; up laserjet1300&#039;&#039;startet und aktiviert den Laserjet 1300, während &#039;&#039;lpc&amp;gt; up all&#039;&#039; alle Drucker gleichzeitig startet und aktiviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;start&#039;&#039;&#039;  startet  den  Druckprozess  als  solchen,  &lt;br /&gt;
so dass jetzt Aufträge aus der Warteschlange abgearbeitet und ausgedruckt werden können.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stop&#039;&#039;&#039; beendet den  Druckprozess.  Ein  laufender  Auftrag  wird  noch  bis  zum  Ende abgearbeitet. Die  Druckerwarteschlange  nimmt  aber weiterhin  Aufträge  entgegen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;enable&#039;&#039;&#039; aktiviert die Druckerwarteschlange.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;disable&#039;&#039;&#039; deaktiviert die Druckerwarteschlange. Bereits in der Warteschlange befindliche Aufträge werden noch fertig abgearbeitet. Neue Jobs werden jedoch abgelehnt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;up&#039;&#039;&#039; kombiniert die Kommandos enable und start.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;down&#039;&#039;&#039; kombiniert die Kommandos disable und stop.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;abort&#039;&#039;&#039;  beendet  den  Druckprozess  sofort.  Auch  ein  bereits  in  Arbeit  befindlicher Druckauftrag  wird  sofort  abgebrochen.  Sollte  der  Drucker  seine  Tätigkeit  nicht sofort einstellen, ist dies auf Restdaten im Druckerspeicher zurückzuführen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;topq&#039;&#039;&#039; stellt einen bereits gespoolten Druckauftrag an die erste Position in der Warteschlange.  Hier  sieht  die  Befehlssyntax  etwas  anders  aus  als  bei  den  anderen Kommandos.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;lpc&amp;gt;topqLaserjet1300 453&#039;&#039;&#039;  verschiebt  den  Druckjob  mit  der  Nummer  453  an  die erste Position der Druckerwarteschlange. Ein bereits in Arbeit befindlicher Druckauftrag wird hierdurch nicht abgebrochen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;quit&#039;&#039;&#039; beendet letztendlich den interaktiven Modus des lpc und kehrt zur normalen Shell zurück.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drucken mit CUPS===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CUPS modifiziert gleich nach seiner Installation die altbekannte/etc/printcap, in der er sich selbst als Netzwerkdrucker deklariert:&lt;br /&gt;
&lt;br /&gt;
 # This file was automatically generated by cupsd(8) from the&lt;br /&gt;
 # /etc/cups/printers.conf file.  All changes to this file&lt;br /&gt;
 # will be lost.&lt;br /&gt;
 laserjet1300|laserjet1300:rm=archangel:rp=laserjet1300:&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdateien für CUPS befinden sich alle unterhalb von /etc/cups.&lt;br /&gt;
CUPS horcht am TCP-Port 631 und kann somit über http://localhost:631 angesprochen werden.&lt;br /&gt;
Der TCP-Port für die Konfiguration lässt sich übrigens in der Datei /etc/cups/cupsd.conf ändern.&lt;br /&gt;
Die normalen Befehle zur Verwaltung von Warteschlangen, wie lpr, lprm, lpq und lpc,stehen genauso zur Verfügung wie unter BSD. Einzig der Befehl lpc ist in seiner Funktionsweise eingeschränkt. Zur konsolen basierten Konfiguration dient das Tool lpad-min. &lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6893</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6893"/>
		<updated>2019-11-21T13:27:27Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete: =&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&lt;br /&gt;
= Wichtiger Dateien, Verzeichnisse und Anwendungen:=&lt;br /&gt;
*[[Befehle liste|ln]]&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft:&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
 archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6892</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6892"/>
		<updated>2019-11-21T13:24:42Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete: =&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Wichtiger Dateien, Verzeichnisse und Anwendungen:=&lt;br /&gt;
*[[Befehle liste|ln]]&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft:&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
 archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6891</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6891"/>
		<updated>2019-11-21T13:22:36Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete: =&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Wichtiger Dateien, Verzeichnisse und Anwendungen:=&lt;br /&gt;
*[[Befehle liste|ln]]&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft:&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
 archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6888</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6888"/>
		<updated>2019-11-21T13:03:58Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Wichtigste Wissensgebiete =&lt;br /&gt;
&lt;br /&gt;
# Shared Libraries identifizieren&lt;br /&gt;
# die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
# Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Liste wichtiger Dateien, Verzeichnisse und Anwendungen: =&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Allgemeines =&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
&lt;br /&gt;
== Verwaltung von Shared Libraries ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn Sie neue Bibliotheken auf einem System installieren, benötigen Sie das Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein. Hier sind alle Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LD_LIBRARY_PATH ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
=Kontrollfragen=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 1&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort1&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 2&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort2&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 3&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort3&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 4&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort4&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Testfrage 5&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;&#039;Antwort5&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6887</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6887"/>
		<updated>2019-11-21T12:58:05Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
#Links anlegen&lt;br /&gt;
#harte und/oder symbolische Links identifizieren&lt;br /&gt;
#Dateien kopieren vs. verlinken&lt;br /&gt;
#Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfach vorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Softlinks ===&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
=== Hardlinks ===&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6886</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6886"/>
		<updated>2019-11-21T12:50:03Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
# Shared Libraries identifizieren&lt;br /&gt;
# die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
# Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn Sie neue Bibliotheken auf einem System installieren, benötigen Sie das Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein. Hier sind alle Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6885</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6885"/>
		<updated>2019-11-21T12:47:46Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn Sie neue Bibliotheken auf einem System installieren, benötigen Sie das Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein. Hier sind alle Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6722</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6722"/>
		<updated>2019-11-19T12:46:06Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
*Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, &lt;br /&gt;
*können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger, &lt;br /&gt;
* weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll.&lt;br /&gt;
* Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Softlinks ===&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
=== Hardlinks ===&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6702</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6702"/>
		<updated>2019-11-19T11:01:13Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. &lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein. Hier sind alle Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6700</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6700"/>
		<updated>2019-11-19T10:48:28Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6699</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6699"/>
		<updated>2019-11-19T10:46:31Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Softlinks ===&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
=== Hardlinks ===&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6698</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6698"/>
		<updated>2019-11-19T10:45:24Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Softlinks ===&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
=== Hardlinks ===&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Kommando ln ohne Optionen verwenden, wird ein Hardlink erstellt. Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst werden zwei Hardlinks zu einer  bestehenden  Datei erstellt. Das Kommando ls-l zeigt das Ergebnis der Aktion:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
 archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 80&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich groß und verfügen auch sonst über dieselben  Eigenschaften. Mit ls-li soll  festgestellt werden, welche  Inodes  die  Dateien jeweils belegen:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 80&lt;br /&gt;
 1896834 drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
 2 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
 1896921 -rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
&lt;br /&gt;
Alle drei Dateien verwenden ein und de nselben Inode. Wenn Sie das Kommando stat auf eine der drei Dateien anwenden, sehen Sie zwei interessante Details. Erstens werden die Hardlinks als reguläre Dateien erkannt, und zweitens erkennt das Programm drei Links. Es wird also auch die ursprüngliche Datei als Link dargestellt:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # stat hardlink1&lt;br /&gt;
 File: `hardlink1&#039;&lt;br /&gt;
 Size: 22271      Blocks: 48     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 3&lt;br /&gt;
 Access: (0644/-rw-r--r--)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 19:21:30.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 19:21:46.000000000 +0100&lt;br /&gt;
&lt;br /&gt;
== Prüfungstipp ==&lt;br /&gt;
Sie  müssen  in  der  Prüfung  die  Verwendungszwecke  und  Eigenschaften  von  Hardlinks  und  Softlinks  kennen.  Das  Kommando stat war  hier  zwar  nur  ein  Mittel  zum Zweck, sollte aber ebenfalls für die Prüfung bekannt sein.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6691</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6691"/>
		<updated>2019-11-19T10:16:43Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Softlinks ===&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
=== Hardlinks ===&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr&lt;br /&gt;
 von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
Wenn  Sie  das  Kommando  &lt;br /&gt;
ln&lt;br /&gt;
 ohne Optionen verwenden, &lt;br /&gt;
wird ein Hardlink erstellt.&lt;br /&gt;
Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst&lt;br /&gt;
werden  zwei  Hardlinks  zu&lt;br /&gt;
  einer  bestehenden  Datei  &lt;br /&gt;
erstellt.  Das  Kommando  &lt;br /&gt;
ls&lt;br /&gt;
-l&lt;br /&gt;
zeigt das Ergebnis der Aktion:&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
archangel:/testfiles # ls -l&lt;br /&gt;
total 80&lt;br /&gt;
drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich &lt;br /&gt;
groß und verfügen auch sonst über diesel-&lt;br /&gt;
ben  Eigenschaften.  Mit  &lt;br /&gt;
ls&lt;br /&gt;
-li&lt;br /&gt;
  soll  festgestellt  werden,  welche  Inodes  die  Dateien&lt;br /&gt;
jeweils belegen:&lt;br /&gt;
Persönliches Exemplar für &lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6688</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6688"/>
		<updated>2019-11-19T10:14:13Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Liste wichtiger Dateien, Verzeichnisse und Anwendungen: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr&lt;br /&gt;
 von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
Wenn  Sie  das  Kommando  &lt;br /&gt;
ln&lt;br /&gt;
 ohne Optionen verwenden, &lt;br /&gt;
wird ein Hardlink erstellt.&lt;br /&gt;
Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst&lt;br /&gt;
werden  zwei  Hardlinks  zu&lt;br /&gt;
  einer  bestehenden  Datei  &lt;br /&gt;
erstellt.  Das  Kommando  &lt;br /&gt;
ls&lt;br /&gt;
-l&lt;br /&gt;
zeigt das Ergebnis der Aktion:&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
archangel:/testfiles # ls -l&lt;br /&gt;
total 80&lt;br /&gt;
drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich &lt;br /&gt;
groß und verfügen auch sonst über diesel-&lt;br /&gt;
ben  Eigenschaften.  Mit  &lt;br /&gt;
ls&lt;br /&gt;
-li&lt;br /&gt;
  soll  festgestellt  werden,  welche  Inodes  die  Dateien&lt;br /&gt;
jeweils belegen:&lt;br /&gt;
Persönliches Exemplar für &lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6687</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6687"/>
		<updated>2019-11-19T10:13:50Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Liste wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr&lt;br /&gt;
 von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
Wenn  Sie  das  Kommando  &lt;br /&gt;
ln&lt;br /&gt;
 ohne Optionen verwenden, &lt;br /&gt;
wird ein Hardlink erstellt.&lt;br /&gt;
Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst&lt;br /&gt;
werden  zwei  Hardlinks  zu&lt;br /&gt;
  einer  bestehenden  Datei  &lt;br /&gt;
erstellt.  Das  Kommando  &lt;br /&gt;
ls&lt;br /&gt;
-l&lt;br /&gt;
zeigt das Ergebnis der Aktion:&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
archangel:/testfiles # ls -l&lt;br /&gt;
total 80&lt;br /&gt;
drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich &lt;br /&gt;
groß und verfügen auch sonst über diesel-&lt;br /&gt;
ben  Eigenschaften.  Mit  &lt;br /&gt;
ls&lt;br /&gt;
-li&lt;br /&gt;
  soll  festgestellt  werden,  welche  Inodes  die  Dateien&lt;br /&gt;
jeweils belegen:&lt;br /&gt;
Persönliches Exemplar für &lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6686</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6686"/>
		<updated>2019-11-19T10:13:00Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Liste wichtiger Dateien, Verzeichnisse und Anwendungen: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wichtung: 2 ==&lt;br /&gt;
Beschreibung: Kandidaten sollten in der Lage sein, harte und symbolische Links auf eine Datei anzulegen und zu verwalten.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Liste wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
* [[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr&lt;br /&gt;
 von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
Wenn  Sie  das  Kommando  &lt;br /&gt;
ln&lt;br /&gt;
 ohne Optionen verwenden, &lt;br /&gt;
wird ein Hardlink erstellt.&lt;br /&gt;
Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst&lt;br /&gt;
werden  zwei  Hardlinks  zu&lt;br /&gt;
  einer  bestehenden  Datei  &lt;br /&gt;
erstellt.  Das  Kommando  &lt;br /&gt;
ls&lt;br /&gt;
-l&lt;br /&gt;
zeigt das Ergebnis der Aktion:&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
archangel:/testfiles # ls -l&lt;br /&gt;
total 80&lt;br /&gt;
drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich &lt;br /&gt;
groß und verfügen auch sonst über diesel-&lt;br /&gt;
ben  Eigenschaften.  Mit  &lt;br /&gt;
ls&lt;br /&gt;
-li&lt;br /&gt;
  soll  festgestellt  werden,  welche  Inodes  die  Dateien&lt;br /&gt;
jeweils belegen:&lt;br /&gt;
Persönliches Exemplar für &lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6685</id>
		<title>LPIC101/104.6 - Harte und symbolische Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/104.6_-_Harte_und_symbolische_Links&amp;diff=6685"/>
		<updated>2019-11-19T10:12:35Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Liste wichtiger Dateien, Verzeichnisse und Anwendungen: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wichtung: 2 ==&lt;br /&gt;
Beschreibung: Kandidaten sollten in der Lage sein, harte und symbolische Links auf eine Datei anzulegen und zu verwalten.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wichtigste Wissensgebiete: ==&lt;br /&gt;
*Links anlegen&lt;br /&gt;
*harte und/oder symbolische Links identifizieren&lt;br /&gt;
*Dateien kopieren vs. verlinken&lt;br /&gt;
*Links verwenden, um Systemadministrationsaufgaben zu unterstütze&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Liste wichtiger Dateien, Verzeichnisse und Anwendungen:==&lt;br /&gt;
*ln&lt;br /&gt;
*[[ls]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
Wenn  es  ermöglicht  werden  soll,  auf  eine  Datei  von  verschiedenen  Verzeichnissen aus zuzugreifen, können Sie auf diese Datei einen Link legen, anstatt die Datei in dieverschiedenen  Verzeichnisse  zu  kopieren.  Das  hat  im  Wesentlichen  zwei  Vorteile: Einerseits  sparen  Links  Platz  auf  dem  Datenträger,  weil  eine  Datei  nicht  mehrfachvorhanden sein muss, wenn sie über mehr,als nur einen Pfad bereitgestellt werden soll. Andererseits wird die Administration vereinfacht, weil man nicht mehrere Ver-sionen einer Datei pflegen muss. Wenn eine Datei über einen beliebigen Link modi-fiziert wird, gelten die Änderungen für alle Instanzen dieser Datei.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Softlinks ==&lt;br /&gt;
Softlinks  werden  auch  als  symbolische  Links  bezeichnet.  Ein  Softlink  ist  im  Prinzip ein Zeiger, der auf eine Datei zeigt. Er belegt nur wenig Speicherplatz auf dem Datenträger, auf dem er angelegt wurde. Die Besonderheiten eines Softlinks sind:&lt;br /&gt;
*Er kann sowohl auf Dateien als auch auf Verzeichnisse verweisen.&lt;br /&gt;
&lt;br /&gt;
*Er kann auf Dateien und Verzeichnisse einer anderen oder der Partition angewendet werden, auf der er sich selbst befindet.&lt;br /&gt;
&lt;br /&gt;
*Er  verwendet  die  Dateiberechtigungen  der  Zieldatei  und  ist  deshalb  immer  mit Lese-, Schreib- und Ausführungsrechten versehen.&lt;br /&gt;
&lt;br /&gt;
*Ein  Softlink  bleibt  bestehen,  wenn  die  Zieldatei  gelöscht  wird.  Man  bezeichnet einen solchen verwaisten Link auch als gebrochenen Link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden kommentierten Kommandos demonstrieren das Verhalten von Softlinks. Das erste Kommando ln-s erzeugt einen Softlink mit der Bezeichnung &lt;br /&gt;
softlink,der  auf  die  existierende  Datei file1 verweist.  Mit  dem  zweiten  Kommando  wird  das Ergebnis der Aktion überprüft&lt;br /&gt;
104.6&lt;br /&gt;
Harte und symbolische Links anlegen und ändern&lt;br /&gt;
209&lt;br /&gt;
 archangel:/testfiles # ln -s file1 softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-r--r--   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die erste Spalte der letzten Zeile des Kommandos ls-l zeigt an, dass es sich um einen Link handelt. Beachten Sie bitte auch, dass in der Zugriffssteuerungsliste alle Rechte gesetzt sind. Wenn Sie nun den Modus dieses Links verändern, ändert sich stattdes-sen der Modus der Zieldatei:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # chmod a+w softlink&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 44&lt;br /&gt;
 drwxr-xr-x   2 root root  4096 Jan  2 18:00 .&lt;br /&gt;
 drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
 -rw-rw-rw-   1 root root 35184 Jan  2 17:55 file1&lt;br /&gt;
 lrwxrwxrwx   1 root root     5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das erste Kommando fügt zu softlink Schreibrechte für alle hinzu. Diese Rechte werden  aber  stattdessen  der  Datei file1 hinzugefügt,wie Sie sehen.Es  gibt  mehrere Methoden, sich die Auswirkungen von Links anzusehen. Mit dem Kommando ls-li kann  z. B.  nachgewiesen  werden,  dass  die Zieldatei und der Softlink  zwei  verschiedene Inodes verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -li&lt;br /&gt;
 total 44&lt;br /&gt;
 1896834 drwxr-xr-x  2 root root  4096 Jan 2 18:00 .&lt;br /&gt;
 2 drwxr-xr-x 24 root root  4096 Jan 2 17:55 ..&lt;br /&gt;
 1896921 -rw-rw-rw-  1 root root 35184 Jan 2 17:55 file1&lt;br /&gt;
 1896920 lrwxrwxrwx  1 root root     5 Jan 2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
Die Datei file1 verwendet den Inode 1896921, während der Softlink softlink den Inode 1896920 belegt. Mit dem Kommando stat kann Ähnliches nachgewiesen werden:&lt;br /&gt;
 archangel:/testfiles # stat softlink&lt;br /&gt;
 File: `softlink&#039; -&amp;gt; `file1&#039;&lt;br /&gt;
 Size: 5         Blocks: 0     IO Block: 4096   symbolic link&lt;br /&gt;
 Device: 302h/770d       Inode: 1896920     Links: 1&lt;br /&gt;
 Access: (0777/lrwxrwxrwx)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 18:26:45.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:00:07.000000000 +0100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In  der  zweiten  Zeile  der  Kommandoausgabe  wird  angezeigt, dass es sich um einen symbolischen Link handelt. Die Zugriffsrechte sind auch noch einmal deutlich dargestellt. Wenden Sie dasselbe Kommando auf die Zieldatei des Links an, ergibt sich folgendes Bild:&lt;br /&gt;
 archangel:/testfiles # stat file1&lt;br /&gt;
 File: `file1&#039;&lt;br /&gt;
 Size: 35184      Blocks: 72     IO Block: 4096   regular file&lt;br /&gt;
 Device: 302h/770d       Inode: 1896921     Links: 1&lt;br /&gt;
 Access: (0666/-rw-rw-rw-)  Uid: (  0/  root)  Gid: (  0/  root)&lt;br /&gt;
 Access: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Modify: 2017-01-02 17:55:38.000000000 +0100&lt;br /&gt;
 Change: 2017-01-02 18:01:03.000000000 +0100&lt;br /&gt;
Die  zweite  Zeile  besagt,  dass  es  sich  um eine  gewöhnliche  Datei  handelt.  Auch  hier sieht man deutlich, dass die Zieldatei und der Softlink zwei verschiedene Inodes verwenden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit  den  nächsten Kommandos wird  demonstriert,  was  geschieht,  wenn  Sie  die Zieldatei eines symbolischen Links löschen, den Link selbst aber nicht:&lt;br /&gt;
archangel:/testfiles # rm file1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zieldatei ist nun gelöscht:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Jan  2 18:40 .&lt;br /&gt;
 drwxr-xr-x  24 root root 4096 Jan  2 17:55 ..&lt;br /&gt;
 lrwxrwxrwx   1 root root    5 Jan  2 18:00 softlink -&amp;gt; file1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Der  Softlink  ist,  wie  Sie  sehen,  bestehen geblieben.  Wenn  Sie  nun  versuchen,  über diesen  Link  auf  die  nicht  mehr  existieren&lt;br /&gt;
de  Datei  zuzugreifen,  erhalten  Sie  jedoch eine Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
 archangel:/testfiles # cat softlink&lt;br /&gt;
 cat: softlink: No such file or directory &lt;br /&gt;
&lt;br /&gt;
Ein typisches Beispiel für die praktische Verwendung von Softlinks sind die Verlinkungen der init-Skripte, die beim Systemstart abgearbeitet werden. Die genaue Funktionsweise dieser Links wurde bereits in Abschnitt 101.3, »Runlevel wechseln und das System anhalten oder neu starten«, behandelt. Sie sehen hier einen Teil der Links, die zum Runlevel 3 eines Systems gehören:&lt;br /&gt;
&lt;br /&gt;
 archangel:/etc/rc.d/rc3.d # ls -l&lt;br /&gt;
 total 8&lt;br /&gt;
 drwxr-xr-x   2 root root 4096 Oct 19 21:53 ./&lt;br /&gt;
 drwxr-xr-x  11 root root 4096 Dec 19 11:04 ../&lt;br /&gt;
 lrwxrwxrwx   1 root root    7 Jul 20  2017 K03cron -&amp;gt; ../cron*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K03smbfs -&amp;gt; ../smbfs*&lt;br /&gt;
 lrwxrwxrwx   1 root root    6 Jul 20  2017 K05smb -&amp;gt; ../smb*&lt;br /&gt;
 lrwxrwxrwx   1 root root    8 Jul 20  2017 K05squid -&amp;gt; ../squid*&lt;br /&gt;
 ... weitere Zeilen wurden entfernt ...&lt;br /&gt;
== Hardlinks ==&lt;br /&gt;
Bei einem Hardlink handelt es sich eigentlich nur um einen weiteren Verzeichniseintrag für eine existierende Datei.Demzufolge belegt er auch keinen  eigenen Inode und fast gar keinen Speicherplatz im Dateisystem. Daraus ergeben sich völlig andere Eigenschaften im Vergleich zu einem symbolischen Link:&lt;br /&gt;
*Hardlinks können nicht auf Verzeichnisse angewendet werden, sondern nur auf Dateien.&lt;br /&gt;
&lt;br /&gt;
*Hardlinks können nicht partitionsübergreifend eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
*Es  gibt  keine  verwaisten  bzw.  gebrochenen  Hardlinks.  Eine  Datei  wird  gelöscht,wenn der letzte Hardlink zu dieser Datei gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
*Die Zieldatei und der Hardlink verwenden eine gemeinsame Zugriffssteuerungsliste (ACL).&lt;br /&gt;
&lt;br /&gt;
*Ein Hardlink ist im Nachhinein nicht mehr&lt;br /&gt;
 von seiner Zieldatei zu unterscheiden.&lt;br /&gt;
Wenn  Sie  das  Kommando  &lt;br /&gt;
ln&lt;br /&gt;
 ohne Optionen verwenden, &lt;br /&gt;
wird ein Hardlink erstellt.&lt;br /&gt;
Die folgenden Kommandos demonstrieren die Eigenarten von Hardlinks. Zunächst&lt;br /&gt;
werden  zwei  Hardlinks  zu&lt;br /&gt;
  einer  bestehenden  Datei  &lt;br /&gt;
erstellt.  Das  Kommando  &lt;br /&gt;
ls&lt;br /&gt;
-l&lt;br /&gt;
zeigt das Ergebnis der Aktion:&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink1&lt;br /&gt;
archangel:/testfiles # ln file1 hardlink2&lt;br /&gt;
archangel:/testfiles # ls -l&lt;br /&gt;
total 80&lt;br /&gt;
drwxr-xr-x   2 root root  4096 Jan  2 19:21 .&lt;br /&gt;
drwxr-xr-x  24 root root  4096 Jan  2 17:55 ..&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 file1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink1&lt;br /&gt;
-rw-r--r--   3 root root 22271 Jan  2 19:21 hardlink2&lt;br /&gt;
Die drei Dateien sind offensichtlich gleich &lt;br /&gt;
groß und verfügen auch sonst über diesel-&lt;br /&gt;
ben  Eigenschaften.  Mit  &lt;br /&gt;
ls&lt;br /&gt;
-li&lt;br /&gt;
  soll  festgestellt  werden,  welche  Inodes  die  Dateien&lt;br /&gt;
jeweils belegen:&lt;br /&gt;
Persönliches Exemplar für &lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6470</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6470"/>
		<updated>2019-11-15T10:26:12Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6468</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6468"/>
		<updated>2019-11-15T10:25:49Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6467</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6467"/>
		<updated>2019-11-15T10:25:03Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
*Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. &lt;br /&gt;
*Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
*archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
*Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
*Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist.&lt;br /&gt;
*Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
*Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. &lt;br /&gt;
*Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. &lt;br /&gt;
*Standardmäßig ist die Variable LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6445</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6445"/>
		<updated>2019-11-15T09:22:46Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Daten eingabe programm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6442</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6442"/>
		<updated>2019-11-15T09:18:45Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /*  Liste wichtiger Dateien, Verzeichnisse und Anwendungen:  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte enthält, die zum Ausführen einer in eine Datei integrierten    Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6439</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6439"/>
		<updated>2019-11-15T09:02:48Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten    Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
*Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden. *kann Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6438</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6438"/>
		<updated>2019-11-15T09:00:58Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /*  Liste wichtiger Dateien, Verzeichnisse und Anwendungen:  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten    Software erforderlich sind.&lt;br /&gt;
*Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen,&lt;br /&gt;
*die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die Aufgabe hat, Eingabedaten zu empfangen. *Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
&lt;br /&gt;
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Linux:LPIC:101]]&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6129</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6129"/>
		<updated>2019-11-11T09:56:16Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind&lt;br /&gt;
Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen, die die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die die Aufgabe hat, Eingabedaten zu empfangen. Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
&lt;br /&gt;
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6126</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6126"/>
		<updated>2019-11-06T12:19:50Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Wichtigste Wissensgebiete &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind&lt;br /&gt;
Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen, die die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die die Aufgabe hat, Eingabedaten zu empfangen. Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
&lt;br /&gt;
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039; ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
... weitere Zeilen wurden abgeschnitten ...&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; LD_LIBRARY_PATH &#039;&#039;&#039; ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6057</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6057"/>
		<updated>2019-11-01T11:18:41Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Wichtigste Wissensgebiete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wichtigste Wissensgebiete ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind&lt;br /&gt;
Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen, die die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die die Aufgabe hat, Eingabedaten zu empfangen. Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
&lt;br /&gt;
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese Verzeichnisse werden von ldconfig konsultiert, um die Datei/etc/ld.so.cache aufzubauen. Danach können die neuen Libraries vom dynamischen Linker verwendet und bei Bedarf eingebunden werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um den aktuellen Inhalt der Datei /etc/ld.so.cache anzuzeigen, verwenden Sie folgen des Kommando:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldconfig -p | less&lt;br /&gt;
 1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
         libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
         libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
         libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
         libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
         libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
         liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
         libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
... weitere Zeilen wurden abgeschnitten ...&lt;br /&gt;
&lt;br /&gt;
Manche Programme funktionieren nur dann, wenn eine Bibliothek mit einer bestimmten Versionsnummer auf Ihrem System installiert ist. Die Versionsnummer einer einzelnen Bibliothek ermitteln Sie auf folgendem Weg:&lt;br /&gt;
 archangel:/ # ldconfig -p | grep libusb&lt;br /&gt;
         libusb-0.1.so.4 (libc6) =&amp;gt; /usr/lib/libusb-0.1.so.4&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LD_LIBRARY_PATH  ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn  ein  Programmierer  eigene  Bibliotheken  programmiert,  kann  er  diese  testen,indem  er  das  Betriebssystem  veranlasst,vorübergehend  auf  andere  Verzeichnisse zuzugreifen, wenn Bibliotheken benötigt werden. Zu diesem Zweck werden der Variablen LD_LIBRARY_PATH die  entsprechenden Pfade  zuden  Bibliotheken  übergeben.Mehrere  Pfade  werden  hierbei  durch  Doppelpunkte  voneinander  getrennt. Standardmäßig ist die Variable &lt;br /&gt;
LD_LIBRARY_PATHnicht gesetzt.&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6038</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=6038"/>
		<updated>2019-11-01T10:54:55Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: /* Wichtigste Wissensgebiete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wichtigste Wissensgebiete ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Bibliothek ist ein kompilierter Satz von Code, der alle Objekte oder Objekte enthält, die zum Ausführen einer in eine Datei integrierten Software erforderlich sind&lt;br /&gt;
Wenn Sie eine Anwendung in Betracht ziehen  Die Software verfügt über eine Reihe von Funktionen, die jeweils ausgeführt werden Beispielsweise druckt man eine Eingabe und eine Ausgabe.Man hat die Aufgabe, Daten zu speichern und ... all dies wird nicht von Grund auf neu programmiert.Beispielsweise müssen Sie das Dateneingabeprogramm nicht mehr neu schreiben, sondern es einfach aus einer Bibliothek abrufen, die die Aufgabe hat, Daten von der Eingabe zu empfangen.Beziehen Sie es stattdessen aus einer Bibliothek, die die Aufgabe hat, Eingabedaten zu empfangen. Wenn Sie das Thema Bibliotheken sehr einfach verstehen möchten, können Sie Module in Betracht ziehen, dh jedes Modul erledigt einen Job und Bibliotheken haben ihre eigenen Aufgaben.&lt;br /&gt;
&lt;br /&gt;
Freigabebibliotheken oder Bibliotheken sind Bibliotheken, mit denen beim Ausführen eines beliebigen Programms eine Verknüpfung hergestellt werden kann&lt;br /&gt;
&lt;br /&gt;
Tatsächlich können sie mit einem Programm im technischen Sinne der Laufzeit verbunden werden. Tatsächlich handelt es sich um Code, der jederzeit in den Systemspeicher geladen und gestartet werden kann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese  Verzeichnisse  werden  von  &lt;br /&gt;
ldconfig&lt;br /&gt;
  konsultiert,  um  die  Datei  &lt;br /&gt;
/etc/ld.so.cache&lt;br /&gt;
aufzubauen. Danach können die neuen Libr&lt;br /&gt;
aries vom dynamische&lt;br /&gt;
n Linker verwen-&lt;br /&gt;
det und bei Bedarf eingebunden werden.&lt;br /&gt;
Um den aktuellen Inhalt der Datei &lt;br /&gt;
/etc/ld.so.cache&lt;br /&gt;
 anzuzeigen, verwenden Sie folgen-&lt;br /&gt;
des Kommando:&lt;br /&gt;
archangel:/ # ldconfig -p | less&lt;br /&gt;
1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
... weitere Zeilen wurden abgeschnitten ...&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=5891</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=5891"/>
		<updated>2019-10-31T12:09:35Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wichtigste Wissensgebiete ==&lt;br /&gt;
&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Systemressourcen effizient zu verwenden, werden Programme modular aufgebaut. Die eigentliche Aufgabe,die das Programm ausführt, wird im Code des jeweiligen Programms selbst hinterlegt.Funktionen,die andere Programme auch verwenden,  werden  dynamisch  in  das  laufende  Programm eingebunden.  Solche Funktionen sind in sogenannten Libraries enthalten.Es wäre z. B. nicht sinnvoll,wenn jedes Programm seine eigene Druckroutine enthalten würde. Stattdessen bindet ein Programm, wenn es drucken muss, dynamisch eine Bibliothek ein, die dann&lt;br /&gt;
diese  Aufgabe  ausführt.  Durch  diese  Vorgehensweise  werden  Speicherressourcen eingespart. Unter Windows finden Sie diese Bibliotheken als Dateien mit der Erweiterung.dll(Dynamic Link Library). Unter Linux heißen die Bibliotheken Shared Libra-ries und haben die Erweiterung.so(SharedObject).Programme, die mit solchen Shared Libraries arbeiten, bezeichnet man als dynami-cally linked, während Programme, die den Code der Shared Libraries in sich selbst tragen, als statically linkedbezeichnet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;br /&gt;
&lt;br /&gt;
Diese  Verzeichnisse  werden  von  &lt;br /&gt;
ldconfig&lt;br /&gt;
  konsultiert,  um  die  Datei  &lt;br /&gt;
/etc/ld.so.cache&lt;br /&gt;
aufzubauen. Danach können die neuen Libr&lt;br /&gt;
aries vom dynamische&lt;br /&gt;
n Linker verwen-&lt;br /&gt;
det und bei Bedarf eingebunden werden.&lt;br /&gt;
Um den aktuellen Inhalt der Datei &lt;br /&gt;
/etc/ld.so.cache&lt;br /&gt;
 anzuzeigen, verwenden Sie folgen-&lt;br /&gt;
des Kommando:&lt;br /&gt;
archangel:/ # ldconfig -p | less&lt;br /&gt;
1128 libs found in cache `/etc/ld.so.cache&#039;&lt;br /&gt;
libzvbi.so.0 (libc6) =&amp;gt; /usr/lib/libzvbi.so.0&lt;br /&gt;
libzio.so.0 (libc6) =&amp;gt; /usr/lib/libzio.so.0&lt;br /&gt;
libzio.so (libc6) =&amp;gt; /usr/lib/libzio.so&lt;br /&gt;
libz.so.1 (libc6) =&amp;gt; /lib/libz.so.1&lt;br /&gt;
libz.so.1 (libc6) =&amp;gt; /usr/lib/libz.so.1&lt;br /&gt;
libz.so (libc6) =&amp;gt; /usr/lib/libz.so&lt;br /&gt;
liby2.so.2 (libc6) =&amp;gt; /usr/lib/liby2.so.2&lt;br /&gt;
libyui.so.2 (libc6) =&amp;gt; /usr/lib/libyui.so.2&lt;br /&gt;
... weitere Zeilen wurden abgeschnitten ...&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
	<entry>
		<id>https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=5825</id>
		<title>LPIC101/102.3 Shared Libraries verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.foxtom.de/index.php?title=LPIC101/102.3_Shared_Libraries_verwalten&amp;diff=5825"/>
		<updated>2019-10-31T11:18:01Z</updated>

		<summary type="html">&lt;p&gt;Khalilalim: Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;&amp;#039; wichtung:1&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;  Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhä…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; wichtung:1&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beschreibung:  Kandidaten  sollten  in  der  Lage  sein,  die  Shared  Libraries  zu  bestim-men, von denen ausführbare Programme abhängen, und diese bei Bedarf zu instal-lieren.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Wichtigste Wissensgebiete:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Shared Libraries identifizieren&lt;br /&gt;
* die typischen Orte für Systembibliotheken identifizieren&lt;br /&gt;
* Shared Libraries laden&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Liste wichtiger Dateien, Verzeichnisse und Anwendungen: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* ldd&lt;br /&gt;
&lt;br /&gt;
* ldconfig&lt;br /&gt;
&lt;br /&gt;
* /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
* LD_LIBRARY_PATH&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Allgemeines &#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Systemressourcen effizient zu verwenden, werden Programme modular aufgebaut. Die eigentliche Aufgabe,die das Programm ausführt, wird im Code des jeweiligen Programms selbst hinterlegt.Funktionen,die andere Programme auch verwenden,  werden  dynamisch  in  das  laufende  Programm eingebunden.  Solche Funktionen sind in sogenannten Libraries enthalten.Es wäre z. B. nicht sinnvoll,wenn jedes Programm seine eigene Druckroutine enthalten würde. Stattdessen bindet ein Programm, wenn es drucken muss, dynamisch eine Bibliothek ein, die dann&lt;br /&gt;
diese  Aufgabe  ausführt.  Durch  diese  Vorgehensweise  werden  Speicherressourcen eingespart. Unter Windows finden Sie diese Bibliotheken als Dateien mit der Erweiterung.dll(Dynamic Link Library). Unter Linux heißen die Bibliotheken Shared Libra-ries und haben die Erweiterung.so(SharedObject).Programme, die mit solchen Shared Libraries arbeiten, bezeichnet man als dynami-cally linked, während Programme, die den Code der Shared Libraries in sich selbst tragen, als statically linkedbezeichnet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Verwaltung von Shared Libraries &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Um zu identifizieren, von welchen Libraries ein Programm abhängt, können Sie dasTool ldd verwenden. Die Ausgabe des Programms zeigt gleichzeitig die Position der benötigten Libraries im Dateisystem an:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 archangel:/ # ldd /usr/bin/grep&lt;br /&gt;
   linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;br /&gt;
   libc.so.6 =&amp;gt; /lib/tls/libc.so.6 (0x40030000)&lt;br /&gt;
   /lib/ld-linux.so.2 (0x40000000)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn  Sie  neue  Bibliotheken  auf  einem  System  installieren,  benötigen  Sie  das  Programm ldconfig,damit der dynamische Linker diese Bibliotheken auch verwendet. Zu diesem Zweck liest ldconfig die Datei /etc/ld.so.confbzw. alle conf-Dateien im Verzeichnis /etc/ld.so.conf.d ein.  Hier  sind  alle  Verzeichnisse  aufgelistet,  in  denen  sichdynamische Libraries befinden:&lt;br /&gt;
archangel:/ # less /etc/ld.so.conf&lt;br /&gt;
 /usr/X11R6/lib&lt;br /&gt;
 /usr/i486-linux/lib&lt;br /&gt;
 /usr/i486-linux-libc5/lib=libc5&lt;br /&gt;
 /usr/i486-linux-libc6/lib=libc6&lt;br /&gt;
 /usr/i486-linuxaout/lib&lt;br /&gt;
 /usr/i386-suse-linux/lib&lt;br /&gt;
 /usr/local/lib&lt;/div&gt;</summary>
		<author><name>Khalilalim</name></author>
	</entry>
</feed>