Download Mac OS X Yosemite - The OS X Yosemite 10.10.5 update improves the stability, compatibility, and security of your Mac, and is recommended for all users.
ITunes 9.2 comes with several new features and improvements, including:. Sync with iPhone 4 to enjoy your favorite music, movies, TV shows, books and more on-the-go. Sync and read books with iPhone or iPod touch with iOS 4 and iBooks 1.1. The maximum version of Mac OS X, OS X, or macOS supported by each G3 and later Mac follows. For complete specs on a particular system, click the name of the Mac. For all Macs that are compatible with a specifc maximum supported version of Mac OS X - courtesy of EveryMac.com's Ultimate Mac Sort - click the OS of interest. Note: The headings on this list indicate the Macintosh System bundle names; the bullet points indicate the version of the System File included in that bundle. This is to make it clearer for people searching for specific bundle versions as opposed to System File versions. Finder File versions are not indicated. 1 Classic Mac OS 1.1 Macintosh System Software (0 - 0.3) 1.1.1 System File 1 1.1.2.
This document provides a step-by-step guide to installing a Salt clusterconsisting of one master, and one minion running on a local VM hosted on macOS.
Note
This guide is aimed at developers who wish to run Salt in a virtual machine.The official (Linux) walkthrough can be foundhere.
Mac Os Mojave
The 5 Cent Salt Intro¶
Since you're here you've probably already heard about Salt, so you alreadyknow Salt lets you configure and run commands on hordes of servers easily.Here's a brief overview of a Salt cluster:
Salt works by having a 'master' server sending commands to one or multiple'minion' servers. The master server is the 'command center'. It isgoing to be the place where you store your configuration files, aka: 'whichserver is the db, which is the web server, and what libraries and softwarethey should have installed'. The minions receive orders from the master.Minions are the servers actually performing work for your business.
Salt has two types of configuration files:
1. the 'salt communication channels' or 'meta' or 'config' configurationfiles (not official names): one for the master (usually is /etc/salt/master, on the master server), and one for minions (default is/etc/salt/minion or /etc/salt/minion.conf, on the minion servers). Thosefiles are used to determine things like the Salt Master IP, port, Saltfolder locations, etc. If these are configured incorrectly, your minionswill probably be unable to receive orders from the master, or the masterwill not know which software a given minion should install.
2. the 'business' or 'service' configuration files (once again, not anofficial name): these are configuration files, ending with '.sls' extension,that describe which software should run on which server, along withparticular configuration properties for the software that is beinginstalled. These files should be created in the /srv/salt folder by default,but their location can be changed using .. /etc/salt/master configuration file!
Note
This tutorial contains a third important configuration file, not tobe confused with the previous two: the virtual machine provisioningconfiguration file. This in itself is not specifically tied to Salt, butit also contains some Salt configuration. More on that in step 3. Alsonote that all configuration files are YAML files. So indentation matters.
Note
Salt also works with 'masterless' configuration where a minion isautonomous (in which case salt can be seen as a local configuration tool),or in 'multiple master' configuration. See the documentation for more onthat.
Before Digging In, The Architecture Of The Salt Cluster¶
Salt Master¶
The 'Salt master' server is going to be the Mac OS machine, directly. Commandswill be run from a terminal app, so Salt will need to be installed on the Mac.This is going to be more convenient for toying around with configuration files.
Salt Minion¶
We'll only have one 'Salt minion' server. It is going to be running on aVirtual Machine running on the Mac, using VirtualBox. It will run an Ubuntudistribution.
Step 1 - Configuring The Salt Master On Your Mac¶
Because Salt has a lot of dependencies that are not built in macOS, we will useHomebrew to install Salt. Homebrew is a package manager for Mac, it's great, useit (for this tutorial at least!). Some people spend a lot of time installinglibs by hand to better understand dependencies, and then realize how useful apackage manager is once they're configuring a brand new machine and have to doit all over again. It also lets you uninstall things easily.
Note
Brew is a Ruby program (Ruby is installed by default with your Mac). Brewdownloads, compiles, and links software. The linking phase is when compiledsoftware is deployed on your machine. It may conflict with manuallyinstalled software, especially in the /usr/local directory. It's ok,remove the manually installed version then refresh the link by typingbrewlink'packageName'
. Brew has a brewdoctor
command that canhelp you troubleshoot. It's a great command, use it often. Brew requiresxcode command line tools. When you run brew the first time it asks you toinstall them if they're not already on your system. Brew installssoftware in /usr/local/bin (system bins are in /usr/bin). In order to usethose bins you need your $PATH to search there first. Brew tells you ifyour $PATH needs to be fixed.
Tip
Use the keyboard shortcut cmd+shift+period
in the 'open' macOSdialog box to display hidden files and folders, such as .profile.
Install Homebrew¶
Install Homebrew here https://brew.sh/
Or just type
Now type the following commands in your terminal (you may want to type brewdoctor
after each to make sure everything's fine):
Note
zmq is ZeroMQ. It's a fantastic library used for server to server networkcommunication and is at the core of Salt efficiency.
Install Salt¶
You should now have everything ready to launch this command:
Note
There should be no need for sudopipinstallsalt
. Brew installedPython for your user, so you should have all the access. In case youwould like to check, type whichpython
to ensure that it's/usr/local/bin/python, and whichpip
which should be/usr/local/bin/pip.
Now type python
in a terminal then, importsalt
. There should be noerrors. Now exit the Python terminal using exit()
.
Create The Master Configuration¶
If the default /etc/salt/master configuration file was not created,copy-paste it from here:http://docs.saltstack.com/ref/configuration/examples.html#configuration-examples-master
Salt Master configuration changes. The Salt master needs a few customizationto be able to run on macOS:
In the /etc/salt/master file, change max_open_files to 8192 (or just add theline: max_open_files:8192
(no quote) if it doesn't already exists).
You should now be able to launch the Salt master:
There should be no errors when running the above command.
Note
This command is supposed to be a daemon, but for toying around, we'll keepit running on a terminal to monitor the activity.
Now that the master is set, let's configure a minion on a VM.
Step 2 - Configuring The Minion VM¶
The Salt minion is going to run on a Virtual Machine. There are a lot ofsoftware options that let you run virtual machines on a mac, But for thistutorial we're going to use VirtualBox. In addition to virtualBox, we will useVagrant, which allows you to create the base VM configuration.
Vagrant lets you build ready to use VM images, starting from an OS image andcustomizing it using 'provisioners'. In our case, we'll use it to:
Download the base Ubuntu image
Install salt on that Ubuntu image (Salt is going to be the 'provisioner'for the VM).
Launch the VM
SSH into the VM to debug
Stop the VM once you're done.
Install VirtualBox¶
Go get it here: https://www.virtualbox.org/wiki/Downloads (click on VirtualBoxfor macOS hosts => x86/amd64)
Install Vagrant¶
Go get it here: https://www.vagrantup.com/downloads.html and choose the latest version(1.3.5 at time of writing), then the .dmg file. Double-click to install it.Make sure the vagrant
command is found when run in the terminal. Typevagrant
. It should display a list of commands.
Create The Minion VM Folder¶
Create a folder in which you will store your minion's VM. In this tutorial,it's going to be a minion folder in the $home directory.
Initialize Vagrant¶
From the minion folder, type
This command creates a default Vagrantfile configuration file. Thisconfiguration file will be used to pass configuration parameters to the Saltprovisioner in Step 3.
Import Precise64 Ubuntu Box¶
Note
This box is added at the global Vagrant level. You only need to do itonce as each VM will use this same file.
Modify the Vagrantfile¶
Modify ./minion/Vagrantfile to use th precise64 box. Cosmic escape mac os. Change the config.vm.box
line to:
Uncomment the line creating a host-only IP. This is the ip of your minion(you can change it to something else if that IP is already in use):
At this point you should have a VM that can run, although there won't be muchin it. Let's check that.
Checking The VM¶
From the $home/minion folder type:
A log showing the VM booting should be present. Once it's done you'll be backto the terminal:
The VM should respond to your ping request.
Now log into the VM in ssh using Vagrant again:
You should see the shell prompt change to something similar tovagrant@precise64:~$
meaning you're inside the VM. From there, enter thefollowing:
Note
That ip is the ip of your VM host (the macOS host). The number is aVirtualBox default and is displayed in the log after the Vagrant sshcommand. We'll use that IP to tell the minion where the Salt master is.Once you're done, end the ssh session by typing exit
.
It's now time to connect the VM to the salt master
Step 3 - Connecting Master and Minion¶
Creating The Minion Configuration File¶
Create the /etc/salt/minion
file. In that file, put thefollowing lines, giving the ID for this minion, and the IP of the master:
Minions authenticate with the master using keys. Keys are generatedautomatically if you don't provide one and can accept them later on. However,this requires accepting the minion key every time the minion is destroyed orcreated (which could be quite often). A better way is to create those keys inadvance, feed them to the minion, and authorize them once.
Preseed minion keys¶
From the minion folder on your Mac run:
This should create two files: minion1.pem, and minion1.pub.Since those files have been created using sudo, but will be used by vagrant,you need to change ownership:
Then copy the .pub file into the list of accepted minions:
Modify Vagrantfile to Use Salt Provisioner¶
Let's now modify the Vagrantfile used to provision the Salt VM. Add thefollowing section in the Vagrantfile (note: it should be at the sameindentation level as the other properties):
Now destroy the vm and recreate it from the /minion folder:
If everything is fine you should see the following message:
Checking Master-Minion Communication¶
To make sure the master and minion are talking to each other, enter thefollowing:
You should see your minion answering with its salt version. It's now time to do someconfiguration.
Step 4 - Configure Services to Install On the Minion¶
In this step we'll use the Salt master to instruct our minion to installNginx.
Checking the system's original state¶
First, make sure that an HTTP server is not installed on our minion.When opening a browser directed at http://192.168.33.10/
You should get anerror saying the site cannot be reached.
Initialize the top.sls file¶
System configuration is done in /srv/salt/top.sls
(and subfiles/folders),and then applied by running the state.apply
function to have the Salt master order its minionsto update their instructions and run the associated commands.
First Create an empty file on your Salt master (macOS machine):
When the file is empty, or if no configuration is found for our minionan error is reported:
This should return an error stating: No Top file or external nodes datamatches found.
![Silt Silt](https://i1.rgstatic.net/publication/265287010_Silt_Fences_An_Economical_Technique_for_Measuring_Hillslope_Soil_Erosion/links/54b007780cf28ebe92de3fb5/largepreview.png)
Create The Nginx Configuration¶
Now is finally the time to enter the real meat of our server's configuration.For this tutorial our minion will be treated as a web server that needs tohave Nginx installed.
Insert the following lines into /srv/salt/top.sls
(which should current beempty).
Now create /srv/salt/bin/nginx.sls
containing the following:
Check Minion State¶
Finally, run the state.apply
functionagain:
You should see a log showing that the Nginx package has been installedand the service configured. To prove it, open your browser and navigate tohttp://192.168.33.10/, you should see the standard Nginx welcome page.
Congratulations!
Where To Go From Here¶
A full description of configuration management within Salt (sls files amongother things) is available here:http://docs.saltstack.com/en/latest/index.html#configuration-management
The road behind
Mac OS X 10.0 was released five years ago today, on March 24th, 2001. To me, it felt like the end of a long road rather than a beginning. At that point, I'd already written over 100,000 words about Apple's new OS for Ars Technica, starting with the second developer release and culminating in the public beta several months before 10.0. But the road that led to Mac OS X extends much farther into past—years, in fact.
Mac OS X 10.0 was the end of many things. First and foremost, it was the end of one of the most drawn-out, heart-wrenching death spirals in the history of the technology sector. Historians (and Wall Street) may say that it was the iMac, with its fresh, daring industrial design, that marked the turning point for Apple. But that iMac was merely a stay of execution at best, and a last, desperate gasp at worst. By the turn of the century, Apple needed a new OS, and it needed one badly. No amount of translucent plastic was going to change that.
Apple was so desperate for a solution to its OS problem in the mid- to late 1990s that both Solaris and Windows NT were considered as possible foundations for the next-generation Mac OS. And even these grim options represented the end of a longer succession of abortive attempts at technological rejuvenation: OpenDoc, QuickDraw 3D, QuickDraw GX, Taligent, Pink, Copland, Gershwin, Dylan—truly, a trail of tears. (If you can read that list without flinching, turn in your Apple Extended Keyboard II and your old-school Mac cred.)
In retrospect, it seems almost ridiculously implausible that Apple's prodigal son, thrown out of the company in 1985, would spend the next twelve years toiling away in relative obscurity on technology that would literally save the company upon his return. (Oh, and he also converted an orphaned visual effects technology lab into the most powerful animation studio in the US—in his spare time, one presumes.)
So yes, Mac OS X marked the end of a dark time in Apple's history, but it was also the end of a decade of unprecedented progress and innovation. In my lifetime, I doubt I will ever experience a technological event that is both as transformative and as abrupt as the introduction of the Macintosh. Literally overnight, a generation of computer users went from a black screen with fuzzy green text and an insistently blinking cursor to crisp, black text on a white background, windows, icons, buttons, scrollbars, menus, and this crazy thing called a 'mouse.'
I see a lot more Mac users today than I ever saw in the pre-Mac OS X era, but few of them remember what it was like in the beginning. They've never argued with someone who's insisted that 'only toy computers have a mouse.' They didn't spend years trying to figure out why the world stuck with MS-DOS while they were literally living in the future. They never played the maze. (Dagnabbit!)
AdvertisementToday's Mac users appreciate the refinement, the elegance, the nuances of Mac OS X. Today, the Mac grows on people. It seeps into their consciousness until they either break down and buy one or retreat to familiarity, perhaps to be tempted again later.
The original Mac users had a very different experience. Back then, the Mac wasn't a seductive whisper; it was a bolt of lightning, a wake-up call, a goddamn slap in the face. 'Holy crap! This is it!' Like I said, transformative. For the rest of the computing world, that revelatory moment was paced out over an entire decade. The experience was diluted, and the people were transformed slowly, imperceptibly.
That era ended on March 24th, 2001. Mac OS X 10.0 was the capstone on the Mac-That-Was. It was the end of the ride for the original Mac users. In many ways, it was the end of the Mac. In the subsequent five years (and over 200,000 more words here at Ars), the old world of the Mac has faded into the distance. With it, so have many of the original Mac users. Some have even passedon. Mac OS X 10.0 had a message: the Mac is dead.
Long live the Mac
Mac OS X arose, phoenix-like, from the ashes of the Mac-That-Was. Okay, maybe more like an injured phoenix. Also, Apple didn't light the bird on fire until a few years later. But still, technically, phoenix-like.
A side-by-side test-drive of Mac OS X 10.0 and 10.4 is shocking. The eternal debate is whether this gap exists because 10.4 is so good, or because 10.0 was so, so bad. That said, Apple's ability to plan and execute its OS strategy is not open for debate. In five short years, Apple has essentially created an entirely new platform. Oh, I know, it's really just the foundation of NeXT combined with the wreckage of classic Mac OS, but I think that makes it even more impressive. Two failing, marginalized platforms have combined to become the platform for the alpha geeks in the new century.
Mac Os Download
Today's Mac users span a much wider range than those of the past. Mac OS X's Unix-like core reached out to the beard-and-suspenders crowd (and the newer source-code-and-a-dream crowd) while the luscious Aqua user interface pulled all the touchy-feely aesthetes from the other direction. In the middle were the refugees from the Mac-That-Was, but they aren't the story here. Mac OS X is about new blood and new ideas—some good, some bad, but all vibrant. The Mac is alive again!
After spending half my life watching smart, talented people ignore the Mac for reasons of circumstance or prejudice, it's incredibly gratifying to live in a post-Mac OS X world. When I encounter a tech-world luminary or up-and-coming geek today, I just assume that he or she uses a Mac. Most of the time, I'm right. Even those with a conflicting affiliation (e.g., Linux enthusiasts) often use Apple laptops, if not the OS.
AdvertisementIn the media, the Mac and Apple have gone from depressing headlines on the business page to gushing feature stories everywhere. Even traditional strongholds of other platforms have fallen under the translucent fist of Mac OS X. Just look at Slashdot, long a haven for Linux topics, now nearly living up to the frequent accusation that it's become 'an Apple news site.' Here at Ars Technica, the story is similar. The 'PC Enthusiast's Resource' from 1999 is now absolutely swimming in Apple-related content.
Silt 2 Mac Os Download
As much as I like to think that I brought on this transformation here at Ars with my avalanche of words, the truth is that Mac OS X is responsible. Yes, Apple's shiny hardware helped, but it was the software that finally won over those stubborn PC geeks. It helped that the software was shiny too, but it would have all been for nothing if not for one word: respect.
Mac OS X made the alpha geeks respect the Mac. My part, if any, in the transformation of a green-on-black den of PC users into a clean, well-lighted home for Apple news and reviews was merely to explain what Mac OS X is, where it's coming from, and where it appears to be going. The rest followed naturally. It's Unix. It's a Mac. It's pretty, stable, novel, innovative, and different. Mac OS X was powerful geeknip; it still is.
During the first few years of Mac OS X's life, I began my reviews with a section titled, 'What is Mac OS X?' That seems quaint in retrospect, but it really was necessary back then. (The pronunciation tips contained in those sections might still be useful. Even Steve Jobs still says 'ecks' instead of 'ten' sometimes. He also said 'PowerBook' during the last press event. I'm just saying..'MacBook'? Come on.)
Silt 2 Mac Os X
Today, Mac OS X has achieved escape velocity. After five years and five competently executed major releases, Apple has earned the right to take a little more time with Mac OS X 10.5 Leopard. Users need a break from the upgrade cycle too. (Well, the software upgrade cycle, anyway.) For all my complaints about the Finder, file system metadata, user interface responsiveness, you name it, I've always been rooting for Mac OS X. I've always wanted to believe. After five years, that faith is finally paying off.
Complacency's not my style, though. I still think Mac OS X can be better, and I continue to hold Apple to a very high standard. I've even got a head start on worrying about Apple's next OS crisis. (See parts one, two, three, and four.) Maybe I've been scarred by Apple's late-1990s dance with death..or maybe I've just learned an important lesson. Maybe Apple has too. I sure hope so, because I don't know if I can go through all that again.
Mac OS X is five years old today. It's got a decade to go before it matches the age of its predecessor, and perhaps longer before it can entirely escape the shadow of the original Mac. But I'm glad I'm along for the ride.