A telepítés befejeződik, a brew azt mondja, hogy az openvpn ott van, a héj mégis command not found üzenettel válaszol. A bináris létezik, csak olyan könyvtárban ül, amelyről a héjnak soha nem szóltak. A Homebrew a démon jellegű binárisokat az előtag sbin könyvtárába linkeli, az alapértelmezett macOS PATH pedig általában a bin könyvtárat tartalmazza, az sbin könyvtárat nem. Semmi nem tört el, és egyetlen újratelepítés sem változtat ezen.

Négy ellenőrzés igazolja a mechanizmust, mielőtt bármelyik héjfájlhoz hozzányúlna.

Mit telepít valójában a formula

Az openvpn formula egy parancssori démont épít, ezért a futtatható fájlja a bin helyett az sbin alá kerül. A Homebrew ezután azt a binárist az előtag sbin könyvtárába linkeli, és ezért működik a "$(brew --prefix)/sbin/openvpn" --version, míg egy csupasz hívás nem. A verziószámozott Cellar könyvtár is tart egy másolatot, és ennek az útvonalnak a indítási fájlba írása az a mód, ahogy egy gép a frissítés után egy régi buildhez rögzítve marad.

Az előtag szimbolikus linkje a stabil útvonal. A Cellar útvonal egy megvalósítási részlet, amelyben verziószám van.

A Homebrew-t kérdezze, ne a fájlrendszert

Kezdje a csomagkezelővel, mert az tudja, melyik telepítés birtokolja a formulát: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. Ha az utolsó útvonalat ír ki, a formula jelen van, és a kérdés kizárólag a feloldásról szól. Ha semmit nem ír ki, a héj a rossz helyen keres egy soha nem telepített csomagot, és az másik probléma, másik javítással.

Két Homebrew telepítés egy gépen az a hely, ahol ez a leginkább számít: a válaszoló brew nem feltétlenül az, amelyik telepített.

Miért nem látja a héj az sbin mappát

A bejelentkezési héj a rendszer alapértelmezéseiből és a indítási fájlok által hozzáadottakból építi fel a PATH-t. A Homebrew bin általában hozzáadódik, a Homebrew sbin pedig általában nem, ezért a démonok kivételével minden parancs működik. Az, hogy a command -v openvpn semmit nem ad vissza, míg az előtagos útvonal verziót ad vissza, a teljes diagnózis két parancsban. Erősítse meg, hogy a könyvtár valóban tartalmazza a linket a ls -l "$(brew --prefix)/sbin/openvpn" használatával.

A hiányzó link más hiba, mint a hiányzó PATH-bejegyzés, és közülük csak az egyiket javítja egy héjfájl szerkesztése.

Javítsa az útvonalat egyszer, egy helyen

Gyors teszthez az aktuális héjban a eval "$(brew shellenv)" beállítja a telepítési változókat, és mindkét könyvtárat előre teszi. Állandó elrendezéshez tegye a shellenv sort abba az egyetlen indítási fájlba, amelyet a héja a használt bejelentkezési módhoz olvas, ahelyett hogy az exportokat bash és zsh fájlok között szórná szét.

Ezután nyisson új terminált, és ismételje meg a verziólekérdezést, mert a gyorsítótárazott héj továbbra is a régi PATH-t jelenti.

Tartsa külön a felderítést a szolgáltatástól

Egy bináris megtalálása nem ugyanaz, mint egy VPN szolgáltatás futtatása. Az openvpn automatikus indítása olyan profil-, hitelesítőadat-, jogosultság- és életciklus-követelményeket ad hozzá, amelyekhez a csomagfelderítés soha nem nyúlt. A Tunnelblick a saját motorját is magával hozza, ezért az imént kiírt verzióhoz semmi köze sem lehet ahhoz a verzióhoz, amelyet az alkalmazás használ.

Jegyezze fel, melyik futtatható fájl állította elő a verziókimenetet. Az az egy sor egy órát spórol, amikor legközelebb két verzió eltér.

Kapcsolódó cikkek