Her er et enkelt oppsett dersom du ønsker å kjøre autopkg som en launchd jobb.
Eksempel på isc-dhcp kode som netbooter mac
For å kunne installere mac maskiner på en bra måte trenger vi å kunne tilby image fra dhcp.
Dette er fryktelig dårlig dokumentert på nettet, men under kan du se en konfigurasjon som er godt dokumentert. Denne danner grunnlaget for oppsettet vårt på alfaalfa, og skal etterhvert være identisk med de delene av dhcp konfigurasjonen som er relevant for Apple Mac. Innholdet er hentet fra: http://brandon.penglase.net/index.php?title=Getting_*nix_to_Netboot_Macs , og tilpasset UIB
Referanser til lesestoff:
DHCP referanse – http://www.isc.org/software/dhcp ISC DHCP
BOOTP referanse – http://opensource.apple.com/source/bootp/bootp-198.1/Documentation/BSDP.doc
Vi tilbyr pr.idag to images DSR-PROD og DSR-TEST:
– Når du holder nede ALT-tasten på macen får du opp de to imagene vi har spesifisert.
– Når du holder nede CMD-tasten på macen booter du direkte til default image (DSR-PROD)
Imagene våre har følgende ID’er og navn:
- ID: 137, navn: DSR-PROD (Default image) , lengde: 08, hex: 44:53:52:2d:50:52:4f:44
- ID: 138, navn: DSR-TEST , lengde: 08, hex: 44:53:52:2d:54:45:53:54
class "Apple-Intel-Netboot" { # Limit this class to only Intel Apple machines match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386"; option dhcp-parameter-request-list 1,3,17,43,60; # Send these options to the client if (option dhcp-message-type = 8) {# on DHCPInform Messages, Us/Our (Server), Them (Client) option vendor-class-identifier "AAPLBSDPC"; # Let Them know we're responding with Apple BSDP Information if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) { log(info, "BSDP_LIST");# BSDP List # Let Them know this is the let, what server, the server's priority, what Our default image is, and provide the image list option vendor-encapsulated-options 01:01:01: # Start BSDP Inform/List Option 1 (01:), Length 1 (01:), Message Type List(1) (01:) 03:04: # BSDP option code 3 (length 04) -- Server Identifier 00:00:00:00: # Server IP (xxx.xxx.x.xx), Dec->Hex, was 0A:00:03:02 (10.0.3.2) 04:02: # BSDP option code 4 (length 02) -- Server Priority 80:00: # Priority (32768) Dec->Hex 07:04: # BSDP option code 7 (length 04) -- Default Image ID 81:00:00:89: # Image ID - (137) Dec->Hex # This is what is picked as Default when you only hold down N on the client # # 81 breaks into: 0 or 8 for Non-Install (NetBoot) set or Install (NetInstal) set, # Most, including DeployStudio default to NetInstall set. # Then 0 for Mac OS 9, 1 for Mac OS X (Client) # 2 for OS X Server, and 3 for Hardware Diagnostics # 4- through 127 (x4:00-xf:ff) reversed for future use # And the last two are for the Image ID (Dec->Hex) # IDs 1-4095 (00:01-0F:FF) are for Server-Specific Images (You will probably want an ID in this range) # IDs 4096-65535 (10:00-FF:FF) Are "Globally-Unique", Multiple servers can present this same ID # and the client will only see one image, and pick a random(?) server to talk to. # 09: # BSDP option code 9 -- Boot image list 1A: # Length = 5*<numofimages>+<sumofallimagenames>, eg =5*2+(8+8), =10+16 = 26, Dec->Hex =1A # This only appears once in the pacakge, no matter how many images you have below 81:00:00:89: # Image ID --137, uib prod image -- dec->hex, see above (Default Image ID) for how to forumlate the full ID 08:44:53:52:2d:50:52:4f:44: # Name of the image "DSR-PROD" # Length(08 dec):Name 'DS-PROD' ascii->hex 81:00:00:8A: # Image ID -- 138 , uib test image 08:44:53:52:2d:54:45:53:54; # Length(08 dec):Name of the image "DSR-TEST" } elsif (substring(option vendor-encapsulated-options, 0, 3) = 01:01:02) { log(info, "BSDP_SELECT"); # BSDP Select, This is the client selecting which image they want to boot from # Here we basically do if statements to catch what image is referenced # Since we MIGHT be clustered, Check to see if we're the server being asked, this is BSDP Option 3 (Length 04) if (substring(option vendor-encapsulated-options, 9, 4) = 00:00:00:00) { # Match to IP: xx.xx.x.xx same as above. log(info, "BSDP_SELECT-Responding, Client is talking to us"); # Log we're being talked to if (substring(option vendor-encapsulated-options, 15, 4) = 81:00:00:89) { # Catch Image ID 81:00:00:89 log(info, "BSDP_SELECT-Image: id 137:DSR-PROD"); # Insert stuff needed to boot here filename "i386/booter"; next-server yyy.yy.yy.yy; option root-path = "nfs:yyy.yy.yy.yy:/netboot:ds-prod.sparseimage"; } elsif (substring(option vendor-encapsulated-options, 15, 4) = 81:00:00:8A) { # Catch Image ID 81:00:00:8A log(info, "BSDP_SELECT-Image: id 138:DSR-TEST"); # Insert stuff here needed for boot filename "i386/booter"; next-server yyy.yyy.yy.yy; option root-path = "nfs:yyy.yy.yy.yy:/netboot:ds-test.sparseimage"; } else { log(info,"BSDP_SELECT-ERROR: Client responded with an image we don't have a match for! -- (Image added to list, but not in select catch?)"); } # End Image Selection Response } else { log(info,"BSDP_SELECT-Ignoring, Client is talking to another server--We're not worthy!"); # Log that we are not worthy of the client's time } # End Server Check } # End BSDP Options Check } # End DHCPInform Messages } # End Class
Eksempel på include manifest i Munki
Dersom en ønsker å la en (gruppe) maskin(er) få alle standard programmer + noe ekstra kan man lage et eget manifest for maskinen / gruppen, og så inkludere et annet manifest.
Munki manifest for java 1.7 u17
Vi bruker følgende munki manifest for å oppdatere Java 1.7 til u17.
Konfigurere rsyslog på Centos 6
I forbindelse med oppsett, konfigurasjon og testing av logstash trenger vi en måte å få shippet loggene våre rundt på en måte.
Konfigurere logstash på Centos 6
I denne artikkelen ser jeg litt på videre konfigurasjon av logstash, redis, elastichsearch og kibana oppsett på Centos 6.
Installere logstash på Centos 6
Denne artikkelen er en trinn for trinn bruksanvisning på hvordan en kan komme igang med logstash på Centos 6. Guiden er fritt oversatt fra: http://www.logstash.net/docs/1.1.9/tutorials/getting-started-centralized.
Macosx plist fil for å kjøyre puppet en gang i timen.
For å kjøre puppet regelmessig på macosx kan det vere greit å legge det som en launchd jobb.
Mappen “/Library/LaunchDaemons” inneheld alle demoner / demonlignende ting som skal kjøyrast uavhengig av brukar.
Unix klientdrift blogg
Unix klientdrift blogg.
Her vil vi prøve å legge ut kodesnutter, tips og triks +++ som kan være av interesse for andre.
Det kan være anonymiserte versjoner av konfigurasjoner / oppsett vi bruker, eller kopier av dokumentasjon som ellers er begrenset (men ikke burde være det) til spesifikke nett.
Alt som legges ut på bloggen skal være tilgjengelig for alle og enhver!
Kode og annet som trives best i versjonskontroll publiserer vi selvfølgelig på GitHub: https://github.com/uib