Co muszę skonfigurować na serwerze Ubuntu 9.10, aby użytkownik mógł budować aplikacje do wyboru (np ./configure, make && make install) bez potrzeby korzystania z uprawnień sudo / admin.
Po prostu czuję, że trochę ryzykowne jest zapewnienie użytkownikowi dostępu do części systemu, których mogą nie potrzebować do zbudowania aplikacji.
Spowoduje to zainstalowanie programu z tym prefiksem (zamiast domyślnego / usr / local /), a użytkownicy powinni móc uruchomić program w następujący sposób:
/home/user/opt/bin/program
Jeśli chcesz, aby mogły uruchamiać programy po prostu używając nazwy (bez pełnej ścieżki), musisz dodać /home/user/opt/bindo zmiennej środowiskowej ścieżki, edytować .profile użytkowników i dodać następujący wiersz:
export PATH=/home/user/opt/bin:$PATH
Pamiętaj, że programy zainstalowane w ten sposób będą prywatne dla konkretnego użytkownika, ale jest to sposób na zrobienie tego
Inni użytkownicy będą mogli korzystać z zainstalowanych programów w ten sposób, jeśli podadzą pełną ścieżkę, a uprawnienia zostaną odpowiednio ustawione; i wygląda na to, że domyślny umask pozwala na to na mojej instalacji na komputerze.
Alistair Buxton
Baza kodu, którą skompilowałem, nie miała Makefilekonfiguracji, po prostu weszłam do niej i zmieniłam prefix = /some/pathwiersz na własny katalog domowy (bez końcowego ukośnika), a następnie uruchomiłam make installbez sudo - wszystko działa teraz, więc dziękuję.
Big Rich
8
Użytkownicy mogą budować aplikacje bez uprawnień sudo. Jedyne, kiedy potrzebujesz uprawnień sudo, to kiedy chcesz zainstalować coś w katalogach systemowych.
./configurei makepracuj zawsze bez uprawnień sudo. make installzwykle potrzebuje praw sudo, ponieważ zainstaluje aplikację na ( /usr/locallub /usrczasami /opt).
Jeśli jednak zmienisz prefiks ścieżki instalacyjnej (tj. ./configure --prefix=~/usr/local) W taki sposób, że instalacja zostanie przeprowadzona w drzewie katalogu domowego użytkownika, nie będą potrzebne żadne prawa sudo make install.
Nadal uważam, że twoja odpowiedź nie jest całkowicie poparta. Dlaczego ./configurei makepraca zawsze bez sudo? Jak powinienem to uzasadnić komuś, kto sudo make installna przykład wykonuje egzekucję ?
Nikos Alexandris
0
Dodając do tego, co powiedział txwikinger , możesz również chcieć sprawdzić fakeroot, co daje możliwość budowania pakietów .deb dpkgbez konieczności zwiększania uprawnień. Oczywiście ich instalacja będzie wymagać dostępu sudo.
Makefile
konfiguracji, po prostu weszłam do niej i zmieniłamprefix = /some/path
wiersz na własny katalog domowy (bez końcowego ukośnika), a następnie uruchomiłammake install
bez sudo - wszystko działa teraz, więc dziękuję.Użytkownicy mogą budować aplikacje bez uprawnień sudo. Jedyne, kiedy potrzebujesz uprawnień sudo, to kiedy chcesz zainstalować coś w katalogach systemowych.
./configure
imake
pracuj zawsze bez uprawnień sudo.make install
zwykle potrzebuje praw sudo, ponieważ zainstaluje aplikację na (/usr/local
lub/usr
czasami/opt
).Jeśli jednak zmienisz prefiks ścieżki instalacyjnej (tj.
./configure --prefix=~/usr/local
) W taki sposób, że instalacja zostanie przeprowadzona w drzewie katalogu domowego użytkownika, nie będą potrzebne żadne prawa sudomake install
.źródło
./configure
imake
praca zawsze bezsudo
? Jak powinienem to uzasadnić komuś, ktosudo make install
na przykład wykonuje egzekucję ?Dodając do tego, co powiedział txwikinger , możesz również chcieć sprawdzić
fakeroot
, co daje możliwość budowania pakietów .debdpkg
bez konieczności zwiększania uprawnień. Oczywiście ich instalacja będzie wymagać dostępu sudo.źródło