Difference between pages "Install/de/Portage" and "Package:Bind"

From Funtoo
< Install‎ | de(Difference between pages)
Jump to navigation Jump to search
 
m
 
Line 1: Line 1:
<noinclude>
{{Ebuild
{{InstallPart|an introduction to Portage}}
|Summary=BIND - Berkeley Internet Name Domain - Name Server
</noinclude>
|CatPkg=net-dns/bind
=== Einführung in Portage ===
|Homepage=http://www.isc.org/software/bind
Portage ist der Paketmanager für Funtoo Linux. Um Pakete aus ihrem Quellcode zu bauen und zu installieren, benutzt man den Befehl <code>emerge</code>. Dieser Befehl sorgt neben der Installation auch dafür, dass alle Abhängigkeiten für die Installation des Pakets aufgelöst werden.
}}


emerge wird folgerndermaßen aufgerufen:
BIND is a DNS server.


<console>
=== Installation ===
(chroot) # ##i##emerge paketname
{{console|body=###i## emerge net-dns/bind}}
</console>


=== Local Caching Only Server ===
{{console|body=###i## echo "dns_servers="127.0.0.1" >> /etc/conf.d/net}}


Wenn ein Paket auf diese Weise installiert wird, speichert Portage den Paketnamen in der Datei  <code>/var/lib/portage/world</code> ab. Da das Paket explizit, per Paketname installiert wurde, geht Portage davon aus, dass es auch in Zukunft auf dem aktuellen Stand gehalten werden soll.
{{file|name=/etc/bind/named.conf|lang=|desc=ensure local listening|body=
Das Paket wird somit Teil des Systems. <code>world</code> ist dabei ein sogenanntes Set. Dadurch, dass alle Pakete dem <code>world</code> Set hinzugefügt werden, kann man das gesamte System wie folgt aktualisieren:
listen-on-v6 { ::1; };
listen-on { 127.0.0.1; };
}}


Zuerst aktualisiert man den gesamten Portage tree, in welchem sich alle verfügbaren Pakete als sogenannte ebuilds befinden. Ebuilds sind Skripte, die dem Tool emerge beschreiben, was genau getan werden muss, um ein Paket zu installieren. Bei Funtoo Linux wird der Portage Tree in einem git Repository gespeichert. Dieses ist um einiges schneller als das in Gentoo standardmäßig verwendete rsync.
{{file|name=/etc/bind/named.conf|lang=|desc=remove /* comments */ disabling this block, optionally add your upstream DNS servers|body=
forward first;
forwarders {
// 123.123.123.123; // Your ISP NS
// 124.124.124.124; // Your ISP NS
// 4.2.2.1; // Level3 Public DNS
// 4.2.2.2; // Level3 Public DNS
8.8.8.8; // Google Open DNS
8.8.4.4; // Google Open DNS
};
}}


<console>
{{file|name=/etc/resolv.conf|lang=|desc=set the local system to listen to BIND|body=
(chroot) # ##i##emerge --sync
nameserver 127.0.0.1
<console>
}}


{{console|body=###i## rc-update add named default
###i## rc
}}


Anschließend kann man das gesamte System (das <code>world</code> Set) mit folgendem Befehl aktualisieren:
{{PageNeedsUpdates}}
 
{{EbuildFooter}}
</console>
(chroot) # ##i##emerge -auDN @world
</console>
 
 
Hier eine Aufschlüsselung der verwendeten Optionen:
* '''<code>a</code>''' -  (englisch: ask) bevor die Aktion durchgeführt wird, werden die einzelnen anstehenden Updates angezeigt, und man muss die Aktion nochmals bestätigen
* '''<code>u</code>''' -  (englisch: update) führt Updates für Pakete durch, für die es eine neue Version im Portage Tree gibt
* '''<code>D</code>''' -  (englisch: deep) beachtet den kompletten Abhängigkeitsbaum beim aktualisieren
* '''<code>N</code>''' -  (englisch: new) baut alle Pakte, die ein neues  bzw. geänderte USE flag haben
 
Von Zeit zu Zeit sollte man die Option <code>--with-bdeps=y</code> übergeben. Dieses dient dazu auch alle build Abhängigkeiten zu aktualisieren, welche nicht explizit im <code>world</code> Set aufgeführt sind.
 
Manchmal möchte man auch ein Paket installieren, es aber nicht zum <code>world</code> Set hinzufügen. Zum Beispiel wenn man das Paket nur temporär installieren möchte, oder das Paket nur eine Abhängigkeit eines anderen ist. In diesem Fall wird <code>emerge</code> folgendermaßen aufgerufen:
 
<console>
(chroot) # ##i##emerge -1 paketname
</console>
 
 
Fortgeschrittene Benutzer, und alle die es werden wollen, sollten für weitere Informationen die [[Emerge]] wiki Seite lesen.
 
==== Aktualisieren von world ====
 
Jetzt ist eine gute Zeit um das gesamte System zu aktualisieren. Am besten vor dem ersten Neustart.
 
<console>
(chroot) # ##i##emerge --sync
(chroot) # ##i##emerge -auDN @world
</console>
 
{{fancyimportant|1=
<code>emerge</code> gibt manchmal wichtige Meldungen aus. Diese sollten in jedem Fall gelesen werden! Besonders nachdem man perl oder python aktualisiert hat}}

Revision as of 13:42, February 5, 2015

Bind

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


BIND is a DNS server.

Installation

root # emerge net-dns/bind

Local Caching Only Server

root # echo "dns_servers="127.0.0.1" >> /etc/conf.d/net
   /etc/bind/named.conf - ensure local listening
listen-on-v6 { ::1; };
	listen-on { 127.0.0.1; };
   /etc/bind/named.conf - remove /* comments */ disabling this block, optionally add your upstream DNS servers
forward first;
	forwarders {
	//	123.123.123.123;	// Your ISP NS
	//	124.124.124.124;	// Your ISP NS
	//	4.2.2.1;		// Level3 Public DNS
	//	4.2.2.2;		// Level3 Public DNS
		8.8.8.8;		// Google Open DNS
		8.8.4.4;		// Google Open DNS
	};
   /etc/resolv.conf - set the local system to listen to BIND
nameserver 127.0.0.1
root # rc-update add named default
root # rc