Wiele lat temu można było uciec od działania brew
jako root po prostu przez chownowanie brew
do rootowania , ale usunęli tę funkcję. Więc w Homebrew 1.1.6 edytowałem, /usr/local/Homebrew/Library/Homebrew/brew.sh
aby usunąć kontrolę roota (tę, która powiedziała, że jest „bardzo niebezpieczna”), aby móc uruchomić brew
jako root.
Nowsza wersja Homebrew nadal z tym współpracuje, ale wciąż przywraca brew.sh
plik za każdym razem po uruchomieniu brew
, nawet jeśli chmod 500
to robię . Mógłbym napisać skrypt, aby go zmienić, a następnie uruchomić brew
automatycznie, ale nie jestem pewien, czy to zawsze zadziała i nie chcę ryzykować. Czy ktoś znalazł inną metodę uruchamiania Homebrew jako root?
sudo
uruchamia go jako root i daje mi ten sam „bardzo niebezpieczny” błąd. Chcę uruchomić jako root, ponieważ w przeciwnym razie ma problemy z instalacją niektórych pakietów, zwłaszcza jeśli cokolwiek nie zostało zainstalowane przez Homebrew (np. Przez pip
). Wiele razy zszedłem tą drogą. Ponadto nie działa poprawnie dla wielu użytkowników bez dziwnych obejść, chyba że zainstaluję wszystko jako root.
root
jest ryzykowne. Nawet budując pakiet bez menedżera pakietów, skompilowałbyś go jako użytkownik nieuprzywilejowany (sam), a następnie zainstalowałeś pakiet jak w root
przypadku sudo
. Menedżerowie pakietów, tacy jak Fink i MacPorts, budują z własnymi użytkownikami nieuprzywilejowanymi, a następnie instalują jako root
. Homebrew nie ma takiego mechanizmu.
brew.sh
plik jest przywracany po zmodyfikowaniu go, a następnie uruchomieniu brew
polecenia. Więc mogę uruchomić sudo brew whatever
i brew whatever
w tandemie dobrze. Moje brew --version
dane wyjściowe to: Homebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28)
FYI, zmodyfikowałem mój brew.sh
plik, aby skomentować wszystkie wiersze w check-run-command-as-root
funkcji i return
zamiast tego umieściłem pojedynczą instrukcję na górze funkcji.
brew
jako root? Czy teżsudo
nie wystarcza do twoich celów?