User Tools

Site Tools


computing:darwin

This is an old revision of the document!


#Darwin #Jonathan Haack #Haack's Networking #netcmnd@jonathanhaack.com


#Dual Boot gnulinux with macOS

https://sourceforge.net/projects/refind/files/0.11.2/refind-bin-0.11.2.zip/download
sudo dd if=/Users/username/gnulinux-distro.iso of=/dev/disk2 bs=16m && sync

Command + R reboot

csrutil disable

Reboot with inserted install image USB Select grub or kernel of install USB on refind bootloader - follow instructions - install The dual boot will fail each macOS update, so repeat steps each time it breaks

sudo spctl --master-disable

#Path

/etc/paths (location of PATH on Mac)
/etc/man.path (man page paths)

#Force Remove Trash

#User Directory Trashes (sudo not required, but can help)

sudo rm -rf ~/.Trash/*

#All Directory Trashes (sudo not required, but can help)

sudo rm -rf /Volumes/*/.Trashes

#If this still causes trouble, then

login root

#Enter password

sudo rm -rf /Volumes/*/.Trashes

#Now, all trashes should empty, but it is slow so view #Finder Status bar at /Volumes/Macintosh HD/


#Showing hidden items in Finder (highly recommended)

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

#replace with FALSE to change back … make sure before entering killall #could also use YES / NO, or 1/0 (have not tested 1/0)


#Hiding Users - do as root

sudo dscl . create /Users/shortnameofuser IsHidden 1
sudo mv /Users/shortnameofuser /var/shortnameofuser
sudo dscl . -create /Users/shortnameofuser NSFHomeDirectory /var/shortnameofuser
sudo dscl . -delete "/SharePoints/shortnameofuser's Public Folder"

#Homebrew Basics

#Install:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

#Uninstall:

Download script from GitHub https://gist.github.com/SteveBenner/11254428

#Update

brew update

#Cleanup:

brew cleanup

#Verify Config:

brew doctor

#Update Packages

brew update packagename

#Install from Casks

brew install Caskroom/cask/nameofcasknoextension

#To find the Casks in your GUI

/Volumes/Macintosh HD/usr/local/Library/Taps/caskroom/homebrew-cask/Casks

#To see what you have installed using your GUI

/Volumes/Macintosh HD/usr/local/Cellar

#Sometimes they are installed by default in opt #(although this can be changed by an –option)

/Volumes/Macintosh HD/opt/homebrew-cask/Caskroom

#There is debate, mostly from MacPorts & Fink people #about where to put package Managers:

#Homebrew will cause problems when building software from source if it is installed in /usr/local.

#This is the default, which is a bad choice as this path is in the default search path of compilers and other tools.

#Therefore builds from other packaging software might pick up the wrong dependency, using Homebrew's version instead of their own.

#Years ago, in the very beginning of the project, even MacPorts was using /usr/local.

#But it turned out not to cooperate with other tools as is documented in their FAQ.

#Unfortunately Homebrew developers didn't want to hear about prior experiences and ignored such facts… #In general, it is usually better to stick to one tool only to avoid all problems. #MacPorts is doing their best to patch out any harcoded paths, e.g. to /sw which is used by Fink. #So usually it will work, but having anything installed in /usr/local will definitely cause problems for it.

@Raim on StackExchange https://superuser.com/questions/181337/is-it-safe-to-install-both-homebrew-and-macports-on-the-same-machine

#MacPorts addresses this too: https://trac.macports.org/wiki/FAQ#defaultprefix


#Braumeister has a search engine of Homebrew packages

http://braumeister.org/


#Common Packages (Will be adding more, this is by no means #exhaustive of what I have used in past).

  • tree
  • webkit2png
  • graphicsmagick
  • git
  • python
  • python3
  • watch
  • wget
  • automake
  • autoconf
  • htop
  • jpegoptim
  • imagemagick
  • fish (fish shell)
  • xquartz
  • Homebrew cask
  • ack (like grep)
  • git
  • bash-completion
  • bash completion script
  • colordiff
  • ffmpeg
  • htop
  • imagemagick
  • gawk
  • gnu-sed
  • cowsay
  • lftp
  • wget
  • axel
  • tree
  • unrar
  • rlwrap
  • readline wrap
  • tig
  • git (command line interface)
  • youtube-dl
  • lynx (web browser)
  • memcached (for caching on web server)
  • Alpine (new version of Pine)
  • mutt
  • vi
  • emacs
  • nano
  • python (add 3 for v.3)
  • pip
  • virtualenv
  • ruby
  • ruby-build (test versions)

#Install GNU Essentials

brew install coreutils

#Add to PATH with TextWrangler or:

sudo open /etc/paths
sudo nano /etc/paths

#Add the next line after /usr/bin

/usr/local/bin

#Add to PATH with vi text editor or nano using Terminal

sudo vi /etc/paths
sudo nano /etc/paths

#Path Looks Like This, but bear in mind Homebrew prefers the local bin first

/usr/bin
/usr/local/bin
/bin
/usr/sbin
/sbin

#Homebrew offers the following instructions about coreutils

#All commands have been installed with the prefix 'g'.

#If you really need to use these commands with their normal name can #add a “gnubin” directory to your PATH from your bashrc like

PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

#Additionally, you can access their man pages with normal names the #“gnuman” directory to your MANPATH from your bashrc as well

MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

#You can also use Text Wrangler to add the GNU commands to Man Pages (or use vi)

/etc/man.conf

#add the following in the Set up PATH to MANPATH mapping section

MANPATH_MAP /usr/local/opt/coreutils/libexec/gnubin
						/usr/local/opt/coreutils/libexec/gnuman

#More GNU commands, but duplicate ones

brew tap homebrew/dupes
brew install binutils
brew install diffutils
brew install ed --default-names
brew install findutils --with-default-names
brew install gawk
brew install gnu-indent --with-default-names
brew install gnu-sed --with-default-names
brew install gnu-tar --with-default-names
brew install gnu-which --with-default-names
brew install gnutls
brew install grep --with-default-names
brew install gzip
brew install screen
brew install watch
brew install wdiff --with-gettext
brew install wget

#newer versions of tools already on OS X and GNU

brew install bash
brew install emacs
brew install gdb   gdb requires further actions to make it work. See `brew info gdb`.
brew install gpatch
brew install m4
brew install make
brew install nano

#commands not on GNU but on OS X but might want newer

brew install file-formula
brew install git
brew install less
brew install openssh
brew install perl518    must run "brew tap homebrew/versions" first!
brew install python
brew install rsync
brew install svn
brew install unzip
brew install vim --override-system-vi
brew install macvim --override-system-vim --custom-system-icons
brew install zsh

#Adding scripts to my shell PATH so I can run form command line

ln -s /Volumes/Cave/<path-to-script> /usr/local/bin/scriptname

#To see what is currently installed and save text file in User Downloads

brew list > ~/Downloads/brews.txt

#Remember, there are third party caskrooms (braumeister has lots of info):

homebrew/science/metaphlan       
Caskroom/cask/tap-bpm            
Caskroom/cask/tuntap             
Caskroom/cask/wiretap-studio   
Caskroom/cask/rcdefaultapp       
Caskroom/cask/tapaal             
Caskroom/cask/wavtap           

#To install one of them, run (for example):

brew install homebrew/science/metaphlan
  

——————————————-

#Some error readings I got once … still need to review … copied and paster below:

Are you sure you want to uninstall Homebrew? [y/N] y =⇒ Removing Homebrew installation… =⇒ Removing empty directories… =⇒ Homebrew uninstalled! The following possible Homebrew files were not deleted:

  • /usr/local/.DS_Store
  • /usr/local/bin/
  • /usr/local/share/

You may consider to remove them by yourself.

#You may want to restore /usr/local's original permissions

sudo chmod 0755 /usr/local
sudo chgrp wheel /usr/local

——————————————-

#Permissions to manually allow everything for a user #The second command owns a directory by root with group wheel over local directory #The third restores current user as owner to local directory

sudo chmod -R +a "$USER allow delete,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,list,search,add_file,add_subdirectory,delete_child,file_inherit,directory_inherit" .
sudo chown -R root:wheel /usr/local
sudo chmod -R -N /usr/local

#To install alternative repositories for later installation, such as:

Homebrew/homebrew-apache
Homebrew/homebrew-binary
Homebrew/homebrew-boneyard
Homebrew/homebrew-completions
Homebrew/homebrew-dupes
Homebrew/homebrew-games
Homebrew/homebrew-headonly
Homebrew/homebrew-python
Homebrew/homebrew-science
Homebrew/homebrew-versions
davidchall/homebrew-hep
josegonzalez/homebrew-php
brew tap Homebrew/homebrew-binary  

#To install the brew tap third party packages, look inside the Taps folder in /usr/local to find one, and then

brew install homebrew/homebrew-games/<name of package>

#Some are not strict directory paths, but are abbreviations (most likely through the bin somehow)

brew install Caskroom/cask/[name of package from step ^] 

#To get private key from bitcoin console #Navigate to bitcoin console

walletpassphrase [enterpassword]
dumprivkey [enter public address from gui]

#Out comes the private key


#To add shell scripts to Terminal command, open bash.rc, and add this to the fields (first create a directory for your scripts):

export PATH="/path/to/dir:$PATH"

#Then, restart Terminal by:

source .bashrc

#I also added the directory of my shell scripts to the path directory

cd Volumes/Cave/etc/
nano edit paths 

#Then add a line to the scripts folder:

/Volumes/Cave/Users/axes/Scripts

#To make a script executable (not tested yet - old commands in fodler)

chmod +x yourshellscript.sh

#El Capitan Boot Volume command - presuming it is in the Applications directory and is the GM Candidate version … if not, substitute in version / title of the one you have:

sudo /Applications/Install\ OS\ X\ El\ Capitan\ GM\ Candidate.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ El\ Capitan\ GM\ Candidate.app --nointeraction

#OS X Server Settings

#To require binding

sudo slapconfig -setmacosxodpolicy -binding required

#To rebuild an Open Directory if nothing else works (Quit Server, Run Command, Restart CPU)

sudo slapconfig -destroyldapserver

#Making an alias called “fix_brew”

alias fix_brew='sudo chown -R $USER /usr/local/'

#preferred way of re-owning homebrew is to use this command below

sudo chown -R `whoami` /usr/local/

#or

sudo chown -R $USER /usr/local/

#disable System Integrity Protection

csrutil disable
csrutil enable
csrutil status

#change gatekeeper settings or disable entirely or re-enable

spctl --status
sudo spctl --master-enable
spctl --add /Path/To/Application.app

#Making a shell script executable

sudo chmod 700 file.sh

#verifying checksum

shasum /path/to/file.extension

#make tarball dokuwiki

tar zcpfv dokuwiki-backup.tar.gz /path/to/dokuwiki

#ssh key pair … later

ssh 

#disable ssh on *nix machines

su - root
cd /etc/ssh/
nano sshd_config

#change the following lines and make sure to remove comment (#) …

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

#restart ssh - which on linux is below … macOS uses launchd so not sure yet

/etc/init.d/sshd restart

#add user from command line - should prompt for password

sudo sysadminctl -addUser <exampleuser> -password - -admin

#Changing tempermental host name

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"
dscacheutil -flushcache

#sfcc server

https://archimedes.sfcc.edu/EWS/Exchange.asmx

#homebrew changed path … add sbin to default PATH …

echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

#homebrew remove shallow

  git -C "$(brew --repo homebrew/core)" fetch --unshallow

oemb1905 2017/05/15 04:26

computing/darwin.1524278014.txt.gz · Last modified: 2018/11/25 01:33 (external edit)