HtibiEz most egy picit az a kivétel, ami erősíti a szabályt, a sudo nélküli ./uninstall.sh-t én írtam neki fentebb, de nálam így is van.
A telepítés és az eltávolítás is lefutott a virtuális gépemen rendszergazdai jogosultság nélkül, de ennek a hátterében az lehet, hogy a felhasználóm könyvtárában volt az .install.sh, és a telepítés folyamán a felhasználóm könyvtárát adtam meg a telepítés valamennyi összetevőjének helyéül is (/home/teszt), így nálam az .uninstall.sh-t is a /home/teszt/netbeans-8.2-ben volt és nem kellett a sikeres futtatásához emelt jog, az eltávolítás során az ideiglenes fájlokat így is létre tudta hozni.
https://i.imgur.com/TGV9Sad.png
Még mindig nem tudom, a kérdező milyen leírás alapján csinálta a telepítést, de nála a netbeans az /usr/local/netbeans-8.2-be került, az meg ugye a rooté…
Az abevjava is alapból az /usr-be akarja tenni még az elkészült bevallások mentési könyvtárait is, így aztán, ha hagyják neki, akkor egyszerű felhasználóként indítva nem is lehet vele boldogulni.
A kérdezőnek:
Ahogy Htibi is írja, a rendszer használatának legnagyobb részében a felhasználó csupán felhasználói jogosultsággal bír, kizárólag a saját könyvtárában lévő állományokhoz (/home/felhasználónév) fér hozzá, azokon tud változtatni.
A rendszer módosításához, telepítéshez, eltávolításhoz, vagy a /home/felhasználónév könyvtáron kívül eső bármely fájl vagy könyvtár írásához rendszergazdai jogot kell szerezni.
A rendszergazdai jog megszerzéséhez elkéri a jelszavad a rendszer a Frissítéskezelő futtatásakor, a GParted indításakor.
Parancssoros felületen lefutó alkalmazások, parancsok esetén a sudo-val tudsz rendszergazdai jogosultságot szerezni.
Ennek a NetBeansnek a „telepítése” az install.sh futtatásával egy kicsit különleges dolog.
A Javat kell hozzá normálisan, rendszerszinten telepíteni, azt hívja meg, de a telepítő amúgy elvan a /home/felhasználóneved könyvtárban.
Egyszerű felhasználóként futtatva az .install.sh-t valójában mindössze három könyvtárat (és azon belül állományokat) valamint az asztali indítóikont hozza létre, de ezt mind a /home/felhasználóneved, azaz a saját könyvtárad alatt.
Igazából rendszerszintű telepítés nem történik, a Netbeans nem is lesz elérhető csak a saját felhasználód számára.
Rögtön látnád, ha volna több felhasználó is a gépeden.
Legyen mondjuk két felhasználód: Edit és Dezső.
Feltelepíted a Javat.
Aztán Edit fiókjában letöltöd és futtatod az .install.sh-t, úgy hogy minden összetevő a /home/edit/ könyvtárba kerüljön.
Meg is jelenik Edit Asztalán a NetBeans indítóikonja, vidáman működik az alkalmazás.
Akkor kész is a telepítés.
Átjelentkezel Dezső fiókjába és hoppá, a NetBeansnek híre-hamva sincs.
A képernyőképed tanúsága szerint nálad a netbeans-8.2 telepítője a /home/felhasználóneved/netbeans könyvtárban volt, de a telepítés során az összetevők telepítési helyéül az /usr/local helyet jelölted meg.
Az
/usr/local
kívül esik a
/home/felhasználóneved
tartományon.
Ott csak rendszergazdai jogosultsággal tudsz állományt létrehozni. Márpedig az .uninstall.sh futtatásakor ideiglenes állományokat kell létrehozzon, de ha nem rendszergazdaként indítod, akkor itt nincs meg hozzá a joga.
Ezért kellett az .uninstall.sh-t sudo-val indítanod.
De ez így most nagyon össze fog kavarni!
Megpróbálom röviden és érthetően összefoglalni:
A NetBeans egy Javan belül futó alkalmazás, ha már az alkalmazás honlapjáról letölthető legfrissebbet szeretnéd telepíteni, akkor ügyelj rá, hogy a telepítő az összes könyvtárat a /home/felhasználóneved alatt hozza létre.
Ott biztosan fog működni és emelt jogok nélkül is el fogod tudni távolítani.
Amúgy egyszerűbb lett volna a tárolókból elérhető netbeans csomagot telepítened.
sudo apt install netbeans
És akkor szépen települ, ha kell, telepíti magának a Javat is, az ikonja ott van a Dash-ben és ha van több felhasználód, akkor azok számára is mind elérhető, igaz, hogy egy picivel talán régebbi verzió, mint ami az alkalmazás honlapjáról letölthető, de cserébe automatikusan frissül is.