Homebrew OpenVPN бинарін PATH-қа емес, sbin-ге салады
Формула OpenVPN демонын sbin астына орнатады, ал әдепкі macOS PATH оны қамтымайды. Префиксті растап, содан кейін шешімді бір файлда түзетіңіз.
Орнату аяқталады, brew openvpn бар дейді, ал shell command not found деп жауап береді. Бинар бар, ол жай ғана shell-ге ешқашан айтылмаған қалтада тұр. Homebrew демон тәрізді бинарларды префикстің sbin қалтасына байланыстырады, ал әдепкі macOS PATH әдетте bin қалтасын қамтиды, sbin қалтасын емес. Ештеңе бұзылмаған және ешбір қайта орнату мұны өзгертпейді.
Кез келген shell файлын өңдеу алдында төрт тексеру бұл механизмді растайды.
Формула шын мәнінде нені орнатады
openvpn формуласы пәрмен жолының демонын құрастырады, сондықтан оның орындалатын файлы bin емес, sbin астына түседі. Содан кейін Homebrew сол бинарды префикстің sbin қалтасына байланыстырады, сондықтан "$(brew --prefix)/sbin/openvpn" --version жұмыс істейді, ал жалаң шақыру жұмыс істемейді. Нұсқаланған Cellar қалтасы да көшірме ұстайды, ал бұл жолды іске қосу файлына жазу машинаның жаңартудан кейін ескі құрылымға байланып қалу тәсілі.
Префикстің символдық сілтемесі тұрақты жол. Cellar жолы ішінде нұсқа нөмірі бар іске асыру бөлшегі.
Файл жүйесінен емес, Homebrew-дан сұраңыз
Пакет менеджерінен бастаңыз, өйткені формула қай орнатуға тиесілі екенін сол біледі: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. Егер соңғысы жолды басып шығарса, формула бар және мәселе тек шешімде. Егер ол ештеңе басып шығармаса, shell ешқашан орнатылмаған пакетті дұрыс емес жерден іздеп жүр, ал бұл басқа шешімі бар басқа мәселе.
Бір машинада екі Homebrew орнатуы бар болса, бұл ең маңызды жер: жауап беретін brew міндетті түрде орнатқан brew емес.
Неге shell sbin-ді көре алмайды
Кіру shell-і PATH-ты жүйелік әдепкілерден және іске қосу файлдарыңыз қосатынның бәрінен құрады. Homebrew bin әдетте қосылады, ал Homebrew sbin әдетте қосылмайды, сондықтан демондардан басқа барлық пәрмен жұмыс істейді. command -v openvpn ештеңе қайтармайды, ал префиксті жол нұсқа қайтарады, бұл екі пәрмендегі бүкіл диагностика. Қалтаның шын мәнінде сілтемені ұстайтынын ls -l "$(brew --prefix)/sbin/openvpn" арқылы растаңыз.
Жоғалған сілтеме жоғалған PATH жазбасынан өзге ақау, және олардың тек біреуі ғана shell файлын өңдеумен түзеледі.
Жолды бір рет, бір жерде түзетіңіз
Ағымдағы shell-де жылдам сынақ үшін eval "$(brew shellenv)" орнату айнымалыларын орнатып, екі қалтаны да алдыға қояды. Тұрақты реттеу үшін shellenv жолын өзіңіз қолданатын кіру режимі үшін shell-іңіз оқитын жалғыз іске қосу файлына салыңыз, экспорттарды bash және zsh файлдарына шашу орнына.
Содан кейін жаңа терминал ашып, нұсқа сұрауын қайталаңыз, өйткені кэштегі shell ескі PATH туралы хабарлауды жалғастырады.
Анықтауды қызметтен бөлек ұстаңыз
Бинарды табу VPN қызметін жүргізумен бірдей емес. openvpn-ді автоматты түрде іске қосу пакетті анықтау ешқашан қозғамаған профиль, тіркелгі деректері, артықшылықтар және өмірлік цикл талаптарын қосады. Tunnelblick өз қозғалтқышын да алып жүреді, сондықтан жаңа басып шығарған нұсқаның қолданба қолданатын нұсқаға ешқандай қатысы болмауы мүмкін.
Нұсқа шығысын қай орындалатын файл өндіргенін жазып алыңыз. Сол бір жол келесіде екі нұсқа келіспей қалғанда бір сағатты үнемдейді.