makepkg: invalid option '--asroot’
Pewien nieodpowiedzialny maintainer Arch Linuxa popenił commit 61ba5c961e4a3536c4bbf41edb348987a9993fdb do pacmana (menadżera pakietów) usuwający parametr asroot, który zezwalał na ryzyko użytkownika kompilować pakiety jako root. Tłumaczenie się było następujące:
The days of fakeroot being error ridden are long gone, so there is no valid reason to run makepkg as root.
Signed-off-by: Allan McRae [email protected]
Efekt?
makepkg: invalid option ‘--asroot’
Administratorzy mogli to zauważyć przy aktualizacji pakietów z AURa, że nagle nie mogą dokończyć operacji. Zwykłym użytkownikom niektóre programy przestały działać (dyskusja tutaj).
Kwestia używania Linuksa z konta superużytkownika to osobna sprawa, ale powinna pozostać jako w pełni osobista decyzja. Wprowadzanie “dobrych” praktyk na siłę to styl ubuntu, ale na pewno nie Archa - zawiodłem się 🙁 Tym bardziej, że akurat zarządzanie pakietami to typowo administracyjny task. Nadmienię jeszcze, że nie było do tej pory cienia ostrzeżenia od możliwości skasowania tej opcji, a nadto ostrzeżenia o niebezpieczeństwie były wszędzie (razem z czerwonym komunikatem na starcie).
A więc czas na poprawkę - na szczęście istnieje pakiet AUR makepkg-asroot, ale tu problem bo rzecz jasna aktualnie nie możemy kompiliwać pakietów z AURa. Coby zautomatyzować to zadanie można użyć takiego oto skryptu:
pacman --noconfirm -S fakeroot &&
sudo -u nobody yaourt --noconfirm -S makepkg-asroot
zważając na potrzebę wpisania hasła roota (yaourt użyje sudo) i możliwość zignotowania błędu yaourta na koniec (tego o problemie z /root).
Jeśli jak ja uważacie za niepoważny pomysł psucie dystrybucji ucinając możliwość kompilacji pakietów jako root to kontakt do autora tej zmiany znajdziecie na jego stronie.