Úvodní stránka » Software, Vybíráme

Mac OS X z pohledu administrátora serverů a sítě 1.

Vložil na 20.4.2011 – 6.00 Žádný komentář

V novém nepravidelném seriálu vás provedeme operačním systémem Mac OS X z pohledu administrátora serverů a sítě. První díl věnujeme práci s MacPorts a srovnání tohoto řešení s Fink.

Macports vs. Fink
Fink je více podobný balíčkům z Debianu, zatímco Macports je spíše na bázi FreeBSD, potažmo z FreeBSD vycházejícího systému portů Gentoo. Je zcela jasné, co má své výhody a nevýhody.

Fink

  • více software, respektive přes 12.200 packages ala deb balíčky
  • rychlejší instalace
  • hotové balíky, můžete překompilovat, ale někdo to zkrátka vymyslel za vás
  • Snow Leopard nemá hotový instalátor a podpora 64-bitové architektury se mi zdá trochu divočejší, i když funkční; uživatel se musí rozhodnout při instalaci

MacPorts

  • 10.6 má automaticky “by default” x86_64, jestliže CPU 64-bitovou architekturu podporuje, jinak i386
  • příjemný grafický instalátor primo pro verze Tiger/Leo/Snow Leopard
  • kultivované zápisy macportu přímo a jasně okomentované a ohraničené
  • méně software, přes 7.900 balíčků
  • veškerý SW se kompiluje (nemusí, ale kdo by chtěl předkompilované verze)
  • BSD licence samotného macportu, takže je zde možnost i komerční supportované nadstavby
  • vyžaduje nainstalované XCode + X11 (Xorg) – dodávané na install DVD Mac OS X
  • možnost ovlivňovat flagy u SW, zkompiluje se dle variant

Já si vybral MacPorts, jelikož je mi FreeBSD bližši. K jeho adresářové struktuře: Veškeré porty a samotný program se nachazí v /opt/local, a tam mají vlastní adresářovou strukturu. Je jasné, že je treba mít v systému na některé programy i obdobu spouštění progamu, třeba pro Bind, ta se nachází v adresáři /Library/LaunchDaemons/. Tam porty automaticky ukládají své “init like” skripty. K ovládání se vrátíme, ale nejdříve se podívejme na užitečné věci – rychlokuchařka pro macports:

Pozn.: Ve složených závorkách jsou uvedeny obdoby příkazů pro Debian a FreeBSD.

Sync aktuálního stomu portů
$ sudo port selfupdate {apt-get udpate}{portsnap fetch update}

Hledání software
$ sudo port search dynamips {apt-cache search}{cd /usr/ports; make search name=}

Informace o balíku
$ sudo port info dynamips {apt-cache show}{cd /usr/ports/section/sw; more pkg-descr}

Zobrazení závislostí balíku
$ sudo port deps dynamips {apt-cache show}{more Makefile}

Možnosti instalace
$ sudo port variants dynamips {none}{make config}

Instalace s možností instalačních flagů; bez jejich využití {+} je kompilováno v defaultní konfiguraci
$ sudo port install dynamips +idle_pcs {none}{make install clean po make config}

Zobrazení neupdatovaných nainstalovaných balíků
$ sudo port outdated {apt-get upgrade}{pkg_version -v | grep “<“}

Upgrade neupdatovaných balíků
$ sudo port upgrade outdated {apt-get upgrade}{portmanager -u -l}

Zobrazení starých verzí již updatovaných balíků
$ sudo port installed inactive {none}{none}

Vyčištění od starých neaktivních verzí updatovaných balíků
$ sudo port uninstall inactive {none}{none}

Může se stát, že budete chtít nového apache2/php či jinou službu. Přejděme tedy k ovládáni služeb v Mac OS X.

Launch daemon + launchctl
Mac OS X používá namísto init scriptu, cronu atd. (ačkoli je můžete použít), trochu lepšího Launch daemona, ovládaného příkazem launchctl (viz man lauchctl).

System init lokace pro daemony máme máme tyto:
systemové, přicházející s Mac OS X: /System/Library/LaunchDaemons/
doplňkové, přicházející s instalacemi: /Library/LaunchDaemons/

User init (start po loginu uživatele, ale zadává admin) je řešen trochu v jiných adresářích pro uživatele:
systémové, přicházející s Mac OS X: /System/Library/LaunchAgents
doplňkové, přicházející s instalacemi: /Library/LaunchAgents
User init uživatele, které si sám přidává bez práv administrátora se nachází v ~/Library/LaunchAgents

Samotné zacházení s Launch daemonem je celkem triviální:

Zapnutí služby
# launchctl load /cesta viz výše/agent nebo daemon/samotný soubor
např.: #sudo launchctl load /System/Library/LaunchDaemons/tftp.plist
(nepůjde vám takto spustit, má příznak Disabled; k řešení se vrátím za chvíli)

Vypnutí služby
# launchctl unload /cesta viz výše/agent nebo daemon/samotný soubor
např.: #sudo launchctl unload /System/Library/LaunchDaemons/tftp.plist

Jak jsem poznamenal výše, zase až tak jednoduché to není, jelikož jde o to, co vlastně chceme – zdali službu povolit a nechat ji hlídat a spouštět launchctl daemonem vždy, anebo ji chceme spustit jen pro daný okamžik (například TFTP instalace).

Začneme jednoduše – jednorázové spuštěni a stop služby (např. jeden tftp přenos).

V souboru tftp.list najdeme nastavení:

<key>Disabled</key>
<true/>

což v překladu znamená, že služba se nemá spouštět, je zablokovaná. Tento parametr při jednorázovém spuštění můžeme ignorovat volbou Force (-F):

#sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist => pro spuštění
#sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist => pro zastavení

V případě, že chceme službu spouštět vždy po startu a vypínat s vypnutím systemu, pak nám k tomu slouží parametr -w:

#sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist => pro spuštění
#sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist => pro zastavení

Kdo by čekal, že se přepíše konfigurace v tftp.list na Disabled false, či Enabled true, tak tuto metodu Apple opustil, avšak dříve se tak dělo. Dnes si vede databázi přepsaných výchozích hodnot, kterou najdete na disku takto:

#sudo more /var/db/launchd.db/com.apple.launchd/overrides.plist

Zde bude zapsáno:

<key>org.ntp.ntpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>

což má přednost před výchozí konfigurací v /System/Library/LaunchDaemons/tftp.plist. V případě unloadu bude záznam z databáze smazán a bude brán v potaz výchozí konfigurace v tftp.plist.

V případě, že chcete vidět služby, které už jsou spuštěné (například pro kontrolu), využijte příkaz:

#sudo launchctl list

Pokud je nutno změnit parametry spouštěné služby, tak zkopírujte/zeditujte tftp.plist, xml formát je dobře čitelný.

Launch daemon má mnoho možností jak a co nastavovat, spouštět atd., je to velmi silný nástroj. Není v možnostech tohoto jednoho dílu popsat vše, co se v něm dá dělat a co ne. Každopádně se k němu časem vrátíme a podíváme se na služby v širším kontextu.

Doporučené MacPorty
unrar – rozbalení RARu, obzvláště o více částech
sipcalc – IPv4/6 kalkulačna
makepasswd – generátor hesel
wget – nástroj pro download
dia – kreslení sítě

Autor: Filip Huška, technický ředitel společnosti CoolHousing a příležitostný externí spolupracovník redakce AppZone.cz, je dlouholetým propagátorem operačních systémů Mac OS X a FreeBSD a protokolu IPv6.

zanechat komentář

Add your comment below. You can also subscribe to these comments via RSS

Buď slušný. Drž se tématu. Žádný spam.

Můžete použít tyto HTML prvky:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Na tomto webu je povolen Gravatar. Pro získání vlastní Gravatara (globally-recognized-avatar), se registrujte na Gravatar