Hi Leute!
Als welcher Benutzer sollte ich Software installieren, die ich aus dem Internet geladen habe? Bin ich gezwungen, diese als root zu installieren oder wäre es sinnvoller (ungefährlicher?) die Software gleich als der User zu installieren, der sie dann auch nutzen soll?
Danke für alle Antworten!
Linux 15.070 Themen, 107.540 Beiträge
Fast immer als Root! Teilweise mußt du dem oder den User(n) noch Rechte einräumen (gib mal in der Konsole man chmod ein), um Programme auszuführen.
Am Besten suchst dir mal die passende Lektüre, bzw. schaust mal in die beiliegende rein oder aber machst dich über man(pages), howto's und info kundig.
Begleitende und zu empfehlende Lektüre siehe Poting weiter unten http://www.nickles.de/static_cache/537474140.html=KLICKMICH
cu
NANÜ
Hi!
Also Pakete (z.B. rpm's, deb's) muss man schon als root installieren. Wenn du Programme von den Sourcen installierst (was ja eine sehr gängige Methode unter Linux ist), dann musst du in jedem Fall das abschliessende
make install
als root ausführen, weil in diesem Schritt die entsprechenden Programme nämlich unter anderem in die Verzeichnisse /usr/bin bzw. /usr/local/bin kopiert werden, wo nur der root Schreibrechte hat. Dafür können dann alle User diese Programme nutzen. Seltener (z.B. Mozilla oder Java) können Programme auch gänzlich als normaler User installiert werden (was dann allerdings keine systemweite Installation ist). Die vorangehenden "./configure" und "make" können aber als User ausgeführt werden.
Weiterhin ist es mir auch noch nicht passiert, dass ich auf diesem Wege installierten Programmen noch irgendwelche Rechte für die User geben musste. In manchem Fällen, betrifft z.B ganz allgemein Programme, die auf irgendwelche Hardware zugreifen, lassen sich Programme allerdings nicht als User starten, bzw. benutzen. Das liegt an der Philosophie von Linux, dass ein User überhaupt keinen Hardware-Zugriff haben soll. Bei manchen Distributionen geht standardmäßig nicht mal die Soundkarte zu benutzen. Sämtliche Hardwaregeräte ("Devices") befinden sich übrigens im Verzeichnis /dev/. Und auch von diesen Geräten (meist Verzeichnisse) kann man die Rechte ändern (mit chmod), so dass sie jeder benutzen kann. Davon würde ich allerdings dringend abraten, nur wenns wirklich nich anders geht, also z.B. für die Soundkarte (Device ist u.a. /dev/dsp), weil dass dann ein echtes Sicherheitsrisiko darstellt.
Und die Sicherheitsfrage...naja, prinzipiell ist es schon ein "Risiko" Programme als root zu installiern. Wenn du ein böses Programm hast, könnte dieses während der Installation, beim "make install", jeden Blödsinn machen (allerdings nicht mehr, wenn man sie danach als User ausführt, was die Regel sein sollte). Hab zwar noch keine schlechten Erfahrungen diesbezüglich gemacht, aber das ist das, worauf man evtl. ein wenig achten sollte (aber wirklich nur ein ganz klein wenig ;-))
Gruß, FrogPR
Erstmal danke für eure Antworten! Das mit der Sicherheit habe ich etwas anders gemeint: Ich habe mir gestern Abend schon wieder mein Linux zerballert. Ich habe probiert ein Programm namens Cinerella zu installieren (RPM). Ein paar Pakete haben gefehlt. Diese habe ich nachinstalliert und gemerkt, dass das System auf einmal teilweise hängt. Ich starte also neu und alles war hin. Er bleibt jetzt beim hochfahren hängen.
Bei der Installation der RPMs hatte ich nur einen Konflikt, den ich ignoriert habe. Ein Paket namens "glibc-common-2.3.2-68" stand mit "glibc" im Konflikt. Das Problem: "glibc" war gar nicht installiert. Ich habe "glibc-common" gebraucht, um "glibc" zu installieren. Was soll man da noch machen, außer das Problem zu ignorieren???
Also zurück zur Sicherheit: Damit meinte ich die Sicherheit, mein System nicht zu schrotten.
Also soweit ich weiss, is es nicht möglich, rpm's als User zu installiern. Ich kenne dieses Cinerella nicht, und ich benutze keine rpm's (in meinem debian gibts deb's). Ich kann dir nur ganz allgemein raten, wenn du irgendwas als root machst, a) jeden Schritt genau zu überdenken und b) nie unter Alkoholeinfluss ;-)
Es ist halt nicht wie Windows, das dich 25 mal fragt, ob du WIRKLICH irgendwelchen vermeintlichen Unsinn machen möchtest.
Und wenn dir dein Paket-Management sagt, dass da irgendwas nicht hinhaut, solltest du, statt die Fehlermeldung zu ignorieren, ersma nachforschen (wobei ich trotzdem nicht verstehe, dass gleich dein System nicht mehr funzt). Vor allem bei so wichtigen Paketen wie glibc oder libstdc++ usw. ist erhöhte Aufmerksamkeit angesagt.
Ganz nebenbei bemerkt, soll das rpm-System ja nicht gerade das ausgereifteste Paket-System sein.
Gruß, FrogPR
Das mit dem Alkohol ist interessant... ;-)
Mal was anderes: Ist es möglich, eine ganze Distribution auf einer anderen Partition zu sichern? Wenn das ginge, könnte man sich ja immer wieder ein funktionierendes System zurückkopieren. Meine Frage geht jetzt vor allem in Richtung Benutzerrechte.
Ich habe mal allen Benutzern alle Rechte für alle Dateien gegeben. - Heraus kam auch ein kaputtes System...
Klar, kein Problem..............du kannst den Inhalt (Dateien, aus dem Net geladenen Programme, Home-Verzeichnisse) deiner SuSE 8.1 sogar auf Wxx verschieben und sichern (ausgenommen Grafik-Einstellungen) - natürlich unter Wxx nicht lesen!
Hast du z.B 2 Festplatten, eine mit Wxx und Linux, die andere nur Linux, kannst du den Inhalt beliebig hin und her kopieren, verschieben. Selbst wenn du eine Partition löschst, lassen sich die früheren Dateien bzw. Downloads etc.(soweit abgesichert) wieder in eine neue Partition mit SuSE 8.1 einfügen.
Ist nur ne Frage der Festplattengröße, sollte aber heutzutage bei den Riesen-HDD kein Problem sein. Einfach als Root einloggen "alles markieren" und dann auf C oder wohin auch immer kopieren bzw. verschieben.
cu
NANÜ
@ Michael, was hast du für eine Distri?? Poste das bitte mal mit. Ansonsten ist dem Posting von FrogPr nichts hinzuzufügen, außer das RPM (=RedhatPacketManager) absolut zuverlässig packt und entpackt, hatte noch nie Schwierigkeiten damit, was soll daran unausgereift sein??!!
Achte - gehe jetzt mal davon aus, daß du mit SuSE arbeitest - immer auf die Abhängigkeiten, die YaST auch anzeigt. Hast du nicht SuSE, sondern Mandrake oder RedHat öffne die rpms am Besten mit KPackage (auch da werden die Abhängigkeiten angezeigt) KPackage ist bei jedem KDE dabei.
Wenn du selber kompilieren willst, hilft dir kconfigure möglicherweise weiter. (Ist das configure&&make&&makeinstall mit einem Frontend)
@FrogPr wenn Alkohol, bloß nicht bei dieser Hitze oder aber höchtens ein eiskaltes Bier, dann PC auschalten und ab ins Schwimmbad..........;-)
cu
NANÜ
SuSE 8.1 (die etwas eingeschränkte Version vom FTP-Server)
Ok, unausgereift ist vielleicht das falsche Wort, sorry. Aber es is halt das Problem dass die großen Distris ihre wigenen rpm's anbieten (jeder kocht ein bissel sein eigens Süppchen) und mitunter auf anderen Distris nicht funktionieren, also rpm != rpm. Ausserdem hatte ich mal im Mandrake versucht, das rpm-Paketsystem mit apt zu verbinden. Ging auch prinzipiell, nur das ständig irgendetwas nicht funtioniert hatte (Pakete warn nicht da, "broken" usw.). Aber ansonsten funzt es, jedenfalls distributionsintern gut.
Gruß, FrogPR
Ein recht allgemeiner Tip, der aber dringend zu beherzigen ist (zumindest
von Linux-Einsteigern, die evtl nicht alles wieder geradebiegen können):
Nimm _nur_und_ausschließlich_ Programmpakete, die explizit für Deine
Distribution, und Versions-Nummer gedacht sind! Am besten ausschließlich
vom Distributionsanbieter.
Falls das nicht möglich sein sollte, dann auf _statisch_ gelinkte Versionen
ausweichen, oder selber kompilieren.
Hinweis: das Programm checkinstall baut auf einfache Weise RPM aus tar.gz
und sollte für jede Distribution verfügbar sein.
./configure
make
checkinstall
-statt install ;)
So kann später auch selbst gebautes bei Bedarf einfach entfernt werden.
Gruß FreddyK.
Erstmal danke für deine Tips. Eine Frage habe ich aber noch: Was sind statisch gelinkte Versionen? Worin besteht der Unterschied zu den Anderen.
Die bringen alle ihre Abhängigkeiten selber mit im Paket, daher sind
die auch größer, können aber eben (relativ) unabhängig von schon
installierten Libraries (sowas wie dll bei Win) genutzt werden.
Hi Michael,
Der Versuch einer relativ einfach gehaltenen Erklärung, da sich in der Definition von statischen und dynamischen Links mehrere Bereiche (Hardware, Web, programmieren usw.) überschneiden.
http://openfacts.berlios.de/index.phtml?title=Open-Source-Lizenzen
Zitat:
Ein Programm besteht aus mehreren Quellcode-Dateien, die verschiedene Programmfunktionen beinhalten. Um eine Weiterverwendung von Standardfunktionen (z.B. für die Darstellung von Fenstern und Knöpfen, aber auch für komplexe mathematische Operationen, Internet-Funktionen usw.) zu ermöglichen, werden diese üblicherweise in sog. Programmbibliotheken ausgelagert. Solche Bibliotheken, im Englischen "Libraries", müssen von einem Programm, welches sie verwendet, eingebunden ("verlinkt") werden: Das Programm muss wissen, wo die Funktionen zu finden sind. Dabei unterscheidet man zwischen statischer und dynamischer Bindung.
Bei statischer Bindung wird die Bibliothek direkt in das Binärprogramm eingebunden, also sozusagen mitgeliefert. Bei dynamischer Bindung wird die Bibliothek dagegen zur Laufzeit geladen; ist sie auf dem System nicht vorhanden, muss sie nachinstalliert werden. (Unter Windows handelt es sich hierbei um DLL-Dateien, unter Linux um so-Dateien.) Zitatende
cu
NANÜ
P.S. ein Beispiel für einen statischen Link
ausserhalb des Net!! in
deiner Distri wäre:
"ln -s /usr/bin /home/user/bin" link das Verzeichnis "/usr/bin" nach "/home/user/bin
michael-2712, du kannst auch drive image benutzen, das komprimiert die files beim sichern gleich noch. glaubt mir pqdi ist eine der besten Back-Up/recovery lösungen die es gibt!!!
