If you've spent any time configuring user authentication on... Full Story
By Manny Fernandez
October 2, 2018
macOS Mojave and Home Brew
Since I switched Apple as my main computer, I was running Mac Ports https://www.macports.org/ However with the release of macOS Mojave, there was no support and the mac ports stopped working. I had to scramble because there is a lot of apps I use from the Linux days that are not natively available on macOS (e.g. sipcalc (best subnet calculator.. ever), telnet (to test ports), and wget (pulling down websites)). Was i surprised when Mac Ports did not have a build yet for Mojave. I had always known of Home Brew but since I had already installed Mac Ports, I never really messed with it. As of this writting, Mac Ports does not have support for Mojave but Home Brew doesโฆ.. so I switched.
Home Brew has a super easy deployment method. You need to type the command below, and it does the rest.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install"
Once you hit enter, you will see the following screen
==> This script will install: /usr/local/bin/brew /usr/local/share/doc/homebrew /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew /usr/local/Homebrew ==> The following existing directories will be made group writable: /usr/local/bin /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/lib/pkgconfig /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man8 ==> The following existing directories will have their owner set to mannyfernandez: /usr/local/bin /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/lib/pkgconfig /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man8 ==> The following existing directories will have their group set to admin: /usr/local/bin /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/lib/pkgconfig /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man8 ==> The following new directories will be created: /usr/local/etc /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks ==> The Xcode Command Line Tools will be installed. Press RETURN to continue or any other key to abort
You can go ahead and hit Enter. After entering your password and enter, it will start the install process.
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/lib/pkgconfig /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man8 ==> /usr/bin/sudo /usr/sbin/chown mannyfernandez /usr/local/bin /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/lib/pkgconfig /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man8 ==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/bin /usr/local/include /usr/local/lib /usr/local/sbin /usr/local/share /usr/local/lib/pkgconfig /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man8 ==> /usr/bin/sudo /bin/mkdir -p /usr/local/etc /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks ==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/etc /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks ==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions ==> /usr/bin/sudo /usr/sbin/chown mannyfernandez /usr/local/etc /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks ==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/etc /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks ==> /usr/bin/sudo /bin/mkdir -p /Users/mannyfernandez/Library/Caches/Homebrew ==> /usr/bin/sudo /bin/chmod g+rwx /Users/mannyfernandez/Library/Caches/Homebrew ==> /usr/bin/sudo /usr/sbin/chown mannyfernandez /Users/mannyfernandez/Library/Caches/Homebrew ==> /usr/bin/sudo /bin/mkdir -p /Library/Caches/Homebrew ==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew ==> /usr/bin/sudo /usr/sbin/chown mannyfernandez /Library/Caches/Homebrew ==> Searching online for the Command Line Tools ==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress ==> Installing Command Line Tools (macOS High Sierra version 10.13) for Xcode-9.4 ==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ (macOS\ High\ Sierra\ version\ 10.13)\ for\ Xcode-9.4 Software Update Tool Downloading Command Line Tools (macOS High Sierra version 10.13) for Xcode Downloaded Command Line Tools (macOS High Sierra version 10.13) for Xcode Installing Command Line Tools (macOS High Sierra version 10.13) for Xcode Done with Command Line Tools (macOS High Sierra version 10.13) for Xcode Done. ==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress ==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools ==> Downloading and installing Homebrew...
Home stretch
remote: Enumerating objects: 18, done. remote: Counting objects: 100% (18/18), done. remote: Compressing objects: 100% (12/12), done. remote: Total 110926 (delta 6), reused 10 (delta 6), pack-reused 110908 Receiving objects: 100% (110926/110926), 25.24 MiB | 2.65 MiB/s, done. Resolving deltas: 100% (81196/81196), done. From https://github.com/Homebrew/brew * [code language="plain"][/code] 1.7.6 -> 1.7.6 HEAD is now at ac801d4d6 Merge pull request #4990 from amyspark/check-xattr ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Tapping homebrew/core Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'... remote: Enumerating objects: 4858, done. remote: Counting objects: 100% (4858/4858), done. remote: Compressing objects: 100% (4653/4653), done. remote: Total 4858 (delta 55), reused 346 (delta 15), pack-reused 0 Receiving objects: 100% (4858/4858), 4.08 MiB | 5.02 MiB/s, done. Resolving deltas: 100% (55/55), done. Tapped 2 commands and 4644 formulae (4,900 files, 12.7MB). ==> Migrating /Library/Caches/Homebrew to /Users/mannyfernandez/Library/Caches/H ==> Deleting /Library/Caches/Homebrew... Already up-to-date. ==> Installation successful! ==> Homebrew has enabled anonymous aggregate formulae and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics.html ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Next steps: - Run `brew help` to get started - Further documentation: https://docs.brew.sh
All done. Now to install applications you need to issue the following command
brew install %application-name%
(e.g. brew install wget or brew install sipcalc)
mannyfernandez:~$brew install wget ==> Installing dependencies for wget: gettext, libunistring, libidn2, openssl ==> Installing wget dependency: gettext ==> Downloading https://homebrew.bintray.com/bottles/gettext-0.19.8.1.mojave.bot ######################################################################## 100.0% ==> Pouring gettext-0.19.8.1.mojave.bottle.tar.gz ==> Caveats gettext is keg-only, which means it was not symlinked into /usr/local, because macOS provides the BSD gettext library & some software gets confused if both are in the library path. If you need to have gettext first in your PATH run: echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile For compilers to find gettext you may need to set: export LDFLAGS="-L/usr/local/opt/gettext/lib" export CPPFLAGS="-I/usr/local/opt/gettext/include" ==> Summary ๐บ /usr/local/Cellar/gettext/0.19.8.1: 1,935 files, 16.9MB ==> Installing wget dependency: libunistring ==> Downloading https://homebrew.bintray.com/bottles/libunistring-0.9.10.mojave. ######################################################################## 100.0% ==> Pouring libunistring-0.9.10.mojave.bottle.tar.gz ๐บ /usr/local/Cellar/libunistring/0.9.10: 54 files, 4.4MB ==> Installing wget dependency: libidn2 ==> Downloading https://homebrew.bintray.com/bottles/libidn2-2.0.5.mojave.bottle ######################################################################## 100.0% ==> Pouring libidn2-2.0.5.mojave.bottle.tar.gz ๐บ /usr/local/Cellar/libidn2/2.0.5: 68 files, 669KB ==> Installing wget dependency: openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2p.mojave.bottl ######################################################################## 100.0% ==> Pouring openssl-1.0.2p.mojave.bottle.tar.gz ==> Caveats A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash openssl is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. If you need to have openssl first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile For compilers to find openssl you may need to set: export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" ==> Summary ๐บ /usr/local/Cellar/openssl/1.0.2p: 1,793 files, 12MB ==> Installing wget ==> Downloading https://homebrew.bintray.com/bottles/wget-1.19.5.mojave.bottle.t ######################################################################## 100.0% ==> Pouring wget-1.19.5.mojave.bottle.tar.gz ๐บ /usr/local/Cellar/wget/1.19.5: 50 files, 3.7MB ==> Caveats ==> gettext gettext is keg-only, which means it was not symlinked into /usr/local, because macOS provides the BSD gettext library & some software gets confused if both are in the library path. If you need to have gettext first in your PATH run: echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile For compilers to find gettext you may need to set: export LDFLAGS="-L/usr/local/opt/gettext/lib" export CPPFLAGS="-I/usr/local/opt/gettext/include" ==> openssl A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash openssl is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. If you need to have openssl first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile For compilers to find openssl you may need to set: export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Recent posts
-
-
DNS is one of those technologies that quietly underpins... Full Story
-
BGP issues on FortiGate firewalls usually trace back to... Full Story
-
Every time your laptop talks to your router, a... Full Story
-
If you've spent any time configuring NAT on a... Full Story
-
If you have spent any time configuring firewall policies... Full Story
-
High availability on FortiGate is one of those features... Full Story
-
If you've configured SD-WAN on a FortiGate, you've almost... Full Story
-
FortiLink is the management protocol that turns a FortiSwitch... Full Story
-
FortiSwitches are pretty rock solid from Mean Time Between... Full Story
-
This is a quicky tip.ย Have you ever gone... Full Story
-
DNS is one of those quiet pieces of internet... Full Story
-
This article is an updated version of the previous... Full Story
-
You will add ns2 as a secondary (slave) BIND9... Full Story
-
In the process of deploying my lab, I needed... Full Story
-
RFC 8805, used to be known as Self-Correcting IP... Full Story
-
Years back, I wrote an article about certificate pinning.ย ... Full Story
-
FortiGates have the ability to send alerts to Microsoft... Full Story
-
In this post, I am going to walk through... Full Story
-
Troubleshooting VoIP on a FortiGate can feel like trying... Full Story
-
Prior to FortiOS 7.0, there were three commands to... Full Story
-
In this post, I am going to go over... Full Story
-
What we are going to do:ย We are going... Full Story
-
Choosing between FGCP (FortiGate Clustering Protocol) and FGSP (FortiGate... Full Story
-
Creating a VLAN on macOS (The "Pro" Move) A... Full Story
-
This blog post explores the logic behind how macOS... Full Story
-
Pretty Fly for a Wi-Fi Tell My Wi-Fi Love... Full Story
-
Part of my daily gig is creating BoMs (Bill-of-Materials)... Full Story
-
ICMP introduces several security risks, but careful filtering, rate... Full Story
-
The command diag debug application dhcps -1 enables full... Full Story
-
In the world of FortiOS, execute tac report is... Full Story
-
LLDP; What is it The Link Layer Discovery Protocol... Full Story
-
What it actually does When you run diagnose fdsm... Full Story
-
Monkey Bites are bite-sized, high-impact security insights designed for... Full Story
-
I have run macOS in macOS with Parallels but... Full Story
-
Don't be confused with my other FortiNAC posts where... Full Story
-
This is the third session in a multi-part article... Full Story
-
Today I was configuring key-based authentication on a FortiGate... Full Story
-
Netcat, often called the "Swiss Army knife" of networking,... Full Story
-
At its core, IEEE 802.1X is a network layer... Full Story
-
In case you did not see the previous FortiNAC... Full Story
-
This is our 5th session where we are going... Full Story
-
Now that we have Wireshark installed and somewhat configured,... Full Story
-
The Philosophy of Packet Analysis Troubleshooting isn't about looking... Full Story
-
Overview FortiOS 8.0 introduces custom tags as a first-class... Full Story
-
These are two distinct mechanisms on FortiOS, and conflating... Full Story
-
Replacement messages are the pages and text blocks that... Full Story