Wählen Sie zwischen verschiedenen * .conf-Dateien, basierend auf dem aktuellen Subnetz

355
HazyBlueDot

Ich habe Gentoo auf einem Laptop, den ich in zwei verschiedenen Netzwerken benutze. Wenn ich im Büro bin, gibt es ein paar Verbesserungen, die ich in make.conf und resol.conf.head benötige / möchte: Ich habe Zugriff auf einen lokalen Sync-Server und verteiltes Kompilieren, und aufgrund der Art und Weise, in der unser Dhcp-Setup eingerichtet ist Sie müssen eine Zeile zu resol.conf.head hinzufügen, um die Intranet-Namen ordnungsgemäß aufzulösen. Wenn ich nicht im Büronetzwerk bin, muss ich die resol.conf.head und den verteilten Kompilierungs- und lokalen Sync-Server in make.conf deaktivieren. Gibt es eine Möglichkeit, diese Änderungen basierend auf meinem aktuellen Subnetz automatisch vorzunehmen? Vielleicht indem Sie einen Symlink auf die entsprechende * .conf-Datei zeigen?

Anregungen sind willkommen!

1

1 Antwort auf die Frage

1
David Z

Ich würde vorschlagen, um die zusätzliche Linien setzen Sie für Ihr Büro in separaten Dateien enthalten sein sollen, zum Beispiel /etc/resolv.conf.officeund /etc/make.conf.office. Dann /etc/make.confkönnen Sie folgendes schreiben:

on_office_network && source /etc/make.conf.office 

Wo on_office_networkwird ein Befehl ausgeführt, der nur dann erfolgreich ausgeführt wird, wenn Sie sich in Ihrem Büronetzwerk befinden. Wenn Sie anhand der IP-Adresse feststellen können, könnte dies der Befehl sein

ifconfig eth0 | grep -q 'inet addr:192.168.1.1' 

(Wo 192.168.1.1sollte die IP-Adresse Ihres Büronetzwerks verwendet werden).

Da /etc/resolv.confes sich nicht um ein Bash-Skript handelt, müssen Sie dort eine andere Technik anwenden. Das erste, was ich fragen würde, ist, warum die zusätzliche Leitung, die Sie benötigen, nicht automatisch von DHCP eingefügt wird und ob es eine Möglichkeit gibt, die Sie ändern können /etc/conf.d/net, damit sie angezeigt wird. Wenn nicht, dann ist es wahrscheinlich ein guter Weg, /etc/resolv.conf.headeinen Symlink zu erstellen und ihn so zu ändern, dass er /etc/resolv.conf.officeimmer angezeigt wird, wenn Sie eine Verbindung zum Büronetzwerk herstellen. Leider weiß ich nicht, wie ein Prozess ausgelöst wird, wenn Sie eine Verbindung zu einem Netzwerk herstellen (oder trennen).

Wenn Sie keine guten Antworten erhalten, sollten Sie in den Gentoo-Foren nachfragen .