I min søgen efter at “automatisere alle tingene” har jeg været på en rejse for at administrere min Mac-bærbare computer som den kode, den iboende er. I stedet for at pege og klikke for manuelt at administrere mine applikationer og hjælpeprogrammer foretrækker jeg at bruge pakkehåndteringssoftware til at installere, opdatere og fjerne unødvendig software.
Det er en udfordring for Mac-brugere. Et sted hvor Mac’en er operativsystem, macOS, har altid været bag Linux er i pakkehåndtering. Der er ingen standardpakkehåndtering til Mac-brugere, mens Linux-brugere har mange muligheder – fra de velkendte yum
og apt
til det moderne valg af Flatpak. Men hvad med os?
Det er her, Homebrew kommer ind. Homebrew udfylder tomrummet som de facto pakkehåndtering til macOS (og som en anden mulighed for Linux). Det giver en utrolig glat og ligetil oplevelse for alle, der er fortrolige med kommandolinjen, og det er en god måde at lære kommandolinjen, hvis du ikke er ny på den.
Hvis du er på en Mac og ikke allerede har Homebrew, kan du installere den med:
Denne kommando udfører i nstaller-script leveret af Homebrew-teamet. Hvis du foretrækker at være mere forsigtig, kan du curl
filen og derefter køre den manuelt efter gennemgang af den:
Administrer dine kommandolinjeværktøjer med bryg
Homebrew kan prale af, at det “installerer de ting, du har brug for, som Apple (eller dit Linux-system) ikke” t “installerede som standard. Installation sker med kommandoen brew
, som giver os adgang til tusindvis af kommandolinjeværktøjer, men ikke mere komplekse applikationer.
For os nørder inkluderer de hjælpeprogrammer, der passer ind i kategorien “de ting du har brug for”, den praktiske tree
kommando, der viser katalogstrukturer og pyenv
, som jeg bruger til at styre flere versioner af Python.
Du kan se alle de “formler”, som er tilgængelige fra Homebrew ved hjælp af search
kommandoen, og jeg bruger kommandoen wc
viser, hvor mange formler der er:
# -l counts the number of lines
$ brew search | wc -l
5013
Der er over 5.000 formler, hvilket er en utrolig mængden af software. Så det er bedst at have en idé om, hvad du vil have, før du søger på den enorme liste. Heldigvis er det let nok at gennemse. Formler kodificeres og centraliseres i kernelagerne, der er opdelt efter operativsystem (Mac i Homebrew Core og Linux i Linux Core). De er også tilgængelige via Homebrew API og er angivet på hjemmesiden.
Word of mouth er en anden god metode til at finde utilitites. Med det i tankerne er her nogle af mine favoritter, hvis du “leder efter inspiration:
-
pyenv
,rbenv
ognodenv
til at styre henholdsvis Python-, Ruby- og Node.js-versioner -
imagemagick
til redigerbare billedredigeringer -
pandoc
til scriptkonvertering af dokumenter (jeg skifter ofte fra .docx til .md eller .html) -
hub
for en bedre Git-oplevelse for GitHub-brugere -
tldr
for eksempler på, hvordan man bruger en command-li ne utility
Som et eksempel kan du kigge på tldr-sider, et brugervenligt alternativ til at rulle gennem programmets man-sider. Du kan bekræfte, at den er tilgængelig ved at køre search
igen:
$ brew search tldr
==> Formulae
tldr ✔
Succes! Afkrydsningsfeltet fortæller dig er tilgængelig. Nu kan du installere det:
Homebrew, heldigvis, genopbygger binærfiler, så du behøver ikke at bygge fra kildekoden på din lokale maskine. Det sparer meget tid og CPU-ventilatorstøj. En anden ting, jeg sætter pris på ved Homebrew, er at du kan sætte pris på denne funktion uden at forstå nøjagtigt, hvad den betyder.
Men hvis du går ind i den, kan det være sjovt at se på kompleksiteten. Kør info
på tldr
, og du kan se al afhængighedsstyring, kildekoden og endda offentlig analyse:
Endelig som i enhver god pakkehåndtering er Homebrew “s brew uninstall
tilgængelig for hurtigt at rense og fjerne ubrugte hjælpeprogrammer.
Administrer dine applikationer med brygfade
Kommandolinjeværktøjer er blast, men hvad med fuldblæste applikationer? Homebrew holder sine standardkommandoer enkle og installerer kun applikationer med en fil gennem sin standard brew
kommandolinjegrænseflade. Applikationer passer ikke til den struktur. De har et mere komplekst kataloghierarki, der er meget mere end en enkelt binær.
Heldigvis inkluderer Homebrew på Mac en underkommando kaldet “fade” til mere komplekse strukturer med flere kataloger .Hvad der er særligt rart er, at cask
bruger en lignende kommandostruktur til standard brew
-kommandoerne, så du kan bruge lignende search
, install
og info
trin:
brew search --cask | wc -l
4772
Wow, der er næsten 5.000 flere applikationer at søge på, som er lettere at gennemgå på Homebrews websted.
Jeg leder dig gennem cask
med en af mine nye foretrukne applikationer: Meld (som jeg læste om på Opensource.com). Det er en funktionsrig editor, der hjælper med at håndtere fletningskonflikter. Der er en download på dens hjemmeside, og jeg kunne løbe igennem installationsprogrammet og trække og slippe den i min applikationsmappe, men det gør jeg ikke længere. Jeg bruger Homebrew.
Først bekræft, at den er tilgængelig via en lidt anden syntaks:
$ brew search --casks meld
==> Casks
meld
Så bruger jeg cask
underkommando til installer det:
Homebrew installerer ikke kun applikationen, men gør det også tilgængeligt i min nuværende sti under /usr/local/bin/
. Nu kan jeg køre meld
fra kommandolinjen eller starte applikationen fra mappen Applications.
Opdater alt med brygopgradering
Hoved grunden til, at jeg konsekvent bruger en pakkehåndtering, er, så jeg konstant kan opgradere min software for at undgå kendte sikkerhedsfejl og sikre, at jeg altid har de nyeste funktioner. Hvis jeg installerer alt i hånden, skal jeg holde øje med hvert værktøj og hver applikation for at vide, om det har en automatisk opdatering, og hvis ikke, skal jeg selv trække de nyeste udgaver ned.
Opgraderinger er så gode pakkehåndtering skinner. Da jeg ikke har nogen specielle versionskrav, kører jeg kun en kommando for at opdatere alt problemfrit:
Hvis du har mere komplekse behov eller ønsker at holde øje med opgraderinger, før du installerer dem, er der masser af tilgængelige funktionsflag. F.eks. tilbyder -n
et “tørløb”, der viser tilgængelige opgraderinger uden at installere dem. Du kan også “fastgøre” en applikationsversion for at forhindre opgraderinger.
Sikkerhedskopier din installation
Kommandolinjeprogrammet og applikationsadministration springer til et helt nyt niveau, når værktøjer giver dig mulighed for at sikkerhedskopiere din installation som enhver anden dotfil i versionskontrol. Homebrew har den slags funktionalitet, der er tilgængelig til brug under dump
underkommando. Den genererer en Brewfile
, som er en genanvendelig liste over alle de aktuelt installerede værktøjer. At generere en fra din installation, gå ind i din foretrukne mappe, og kør:
$ cd ~/Development/dotfiles # This is my dotfile folder
$ brew bundle dump
Når jeg skifter maskiner og wan t for at installere de samme applikationer med Homebrew, går jeg til mappen med Brewfile og kører:
Det installerer alle de anførte formler og fade på min ny maskine.
Gå til Homebrew for pakkehåndtering
Homebrew er min go-to manager til kommandolinjeværktøjer og applikationer. Det holder mig organiseret og opdateret, og dets design er en smuk balance mellem brugervenlighed og dybde af funktionalitet. Homebrew minimerer pakkehåndteringsoplysninger til kun det, du har brug for at vide, og de fleste brugere vil drage fordel af det.
Hvis du allerede er fortrolig med Linux-pakkeadministratorer, kan du måske synes, Homebrew er for enkel, men ikke galt Homebrew ” Brugervenlighed på grund af manglende funktioner. Ser lidt dybere ud, afslører mange avancerede muligheder, der går langt ud over det, jeg viste dig her. Tilføjelse af -h
til enhver brew
underkommando viser de rige funktioner, der er tilgængelige til opgradering, fjernelse, fejlfinding og endda bidrage med nye formler ved hjælp af skabeloner.