Unix - neue und gute Antworten

  • 0
    Altes Linux/Unix
    RatgeberHelden Antwort von HerzVonHessen HerzVonHessen

    Hallo simonsta,

    um diese Frage abschliessenbd beantworten zu können ist es dringend notwendig das Du uns erzählst welche Hardware in dem alten Computer verbaut ist.

    Alt ist relativ und bedeutet für jeden etwas anderes.

    • Mein alter Rechner ist 8 Jahre alt
    • der noch ältere ist schon 10 Jahre
    • mein ältester ist etwa von 1988

    Aber auch das Alter hat nur einen bedingten Bezug auf die Hardware, denn man kann ja auch heute aktuelle Computer kaufen/zusammen stellen die kaum Gemeinsamkeiten haben oder miteinander Vergleichbar sind.

    • Intel Core i5, oder Intel Core i7 oder doch einer von AMD?
    • 1600er oder nur 1300er RAM Zugriffszeiten
    • Nvidia GeForce 520 oder GeForce GTX 670
    • sATA Festplatte oder SSD mit 600MB/s

    Also was hast Du worauf Du ein Linux-System installieren möchtest?

    lieben Gruß aus Zuhaus

  • 0
    Altes Linux/Unix
    Antwort von gangsterjaeger gangsterjaeger

    ich habe gerade auf einem 533er Celeron (Pentium II) mit 512 MB RAM mehrere Linuxe ausprobiert: (jeweils aktuelle Versionen): - openSUSE 11.4 mit KDE4 - Probleme - openSUSE 12.1 mit KDE4 - laeuft, ist aber echt langsam, koennte aber fuer Deine Zwecke dennoch geeignet sein - openSUSE 12.1 mit XFCE - laeuft, naja, akzeptabel, fuer Deine Zwecke sicher geeignet - Ubuntu 10.04 LTS - laeuft, so lala akzeptabel - Ubuntu 12,04 - laeuft auch, ich hab's chlimmer erwartet - Puppy-Linux: laeuft akzeptabel - Linux Mint, laeuft so gerade akzeptabel

    Also in der engeren Wahl stehen openSUSE 12 XFCE, Ubuntu 10.04 LTS und Puppy-Linux

  • 0
    Altes Linux/Unix
    Antwort von guenterhalt guenterhalt

    was ist denn ein "alter PC" ? 15 Jahre alt? Meiner feiert jetzt seien 10 Geburtstag, nach einer kleineren RAM Transplantation hat er jetzt 1 GByte. Mit KED3 und OpenSuSE 10.3 läuft er gut mit XFCE und OpenSuSE 12.1 geht es gerade noch. Zum Programmieren braucht man keine blinkenden, rotierenden ... Animationen auf dem Monitor. Auf solche Kindereien kann man verzichten, daher ist XFCE und eine neuere Release auch auf einem alten PC für den gcc kein Problem. Wenn du auf den ganzen Multimedia-Kram verzichten kannst, dann wähle OpenSuSE. Da kann man sich leicht einen eigenen Runlevel erstellen, der dann auch ohne Netzwerk-Programme arbeitet und somit schneller wird

  • 0
    Altes Linux/Unix
    RatgeberHelden Antwort von wolfgang1956 wolfgang1956

    Nichts gegen „Recycling“ … aber das wäre wohl doch übertrieben!!

    Wäre es nicht an der Zeit, sich auch mal einen neuen und aktuellen Rechner zu gönnen, der neben dem wahrscheinlich unvermeidlichen Windows auch ein richtiges Linux zulässt?

    Assembler auf einem Intelprozessor? Das ist ja nun wirklich Masochismus in Reinkultur … :-)

  • 0
    Altes Linux/Unix
    Antwort von dergutekoenig dergutekoenig

    Debian mit XFCE.

  • 0
    Altes Linux/Unix
    Antwort von gr33n13m0n gr33n13m0n

    Wenn du Linux-Anfänger bist --> Xubuntu / Ubuntu Wenn du erfahrener User bist oder Linux näher kennen lernen willst --> ArchBang

    Kommentar von simonsta simonsta

    Wie gesagt ubuntu läuft leider nicht. Ich werd es mit ArchBang versuchen, da ich Linux benutze seid dem ich 8 bin, das sind jetzt schon 6 Jahre ;) :) Danke

    Kommentar von Freak123456789 Freak123456789Freak123456789

    coool auch so ein junger user ich nutze ca. 1 Jahr und bin fast 14 ;)

  • 0
    Altes Linux/Unix
    Antwort von Freak123456789 Freak123456789

    Sonst vlt. Debian ;)

    Kommentar von simonsta simonsta

    Danke für deine Hilfe, aber dafür ist der Computer zu schlecht

  • 0
    Altes Linux/Unix
    Antwort von simonsta simonsta

    Also Knoppix läuft, zwar nicht so ganz gut, aber als Hostsystem für mein eigenes OS wird es reichen. Wenn ihr noch mehr ideen habt, schreibt bitte ;)

  • 0
    Altes Linux/Unix
    Antwort von Gebbi Gebbi
    Kommentar von simonsta simonsta

    Puppy ist zwar ne tolle distribution, aber zum Programmieren ist es nichts.

  • 0
    Altes Linux/Unix
    Antwort von Freak123456789 Freak123456789

    Ich würde ggf. Lubuntu nehmen. Das ist Ubuntu mit der grafischen Oberfläche xfce oder lxde da bin ich mit nicht so sicher, aber die brauchen alle nicht so viel recoursen.

    Sonst gibt es da noch dammsmal linux.

    Kommentar von simonsta simonsta

    Ich kenne Lubuntu, hab aber nochnicht dran gedacht. Ich bin nicht son fan von lxde, aber im notfall, außerdem ist ja xfce dabei.

    Ich habe dsl probiert, aber als ich im Terminal GCC eingegeben habe, hat er es nicht gefunden.

    Kommentar von Freak123456789 Freak123456789Freak123456789

    dann mach mal (ich denke es basiert auf debian falls nicht sind die Befehle ür die Paketverwaltung anders) sudo apt-get install gcc(oder halt den Paketnamen wie auch immer der lauted.

    Kommentar von simonsta simonsta

    ohne internet :D :D :D sonst hätte ich das auch schon gemacht, aber der pc ist wie gesagt leider zu alt :D

    Kommentar von Steeler SteelerSteeler

    "Sonst gibt es da noch dammsmal linux."

    Es ist schon faszinierend, dass da immer noch eine Distri durch die Foren geistert, bei der seit dreieinhalb Jahren nichts mehr passiert, also praktisch tot ist: http://distrowatch.com/table.php?distribution=damnsmall . :-)

  • 0
    Altes Linux/Unix
    Antwort von LShome LShome
    Kommentar von simonsta simonsta

    Verbrauch zuviel. Die CPU Taktung meines Rechners kenne ich nicht, aber er hat nur 128 mb ram. Das reicht für Kubuntu nicht. Aber danke :)

    Kommentar von LShome LShomeLShome
    Kommentar von Freak123456789 Freak123456789Freak123456789

    Knoppix ist toll, aber mit dem installieren der Programme hab ich da immer meine robleme und nebenbei gesagt wenn er schreibt das ihm ubuntu zu viel frisst wieso schreibst du dann kubuntu das braucht doch noch mehr.

    PS: Knoppix ist zum live booten da! (Eine schöne Erinnerung Knoppix mein erstem Linux)

    Kommentar von simonsta simonsta

    Mein erstes war Puppy Linux, aber es ist als Hostsystem zu umständlich, außerdem hab ich gehört gcc funktioniert darauf nicht so gut. Da kann ich nur hoffen das Knoppix funktioniert. Aber ich habe nicht dadran gedacht :D ich bin echt durcheinander :D Mal sehen, ob der rechner die LXDE version packt :D

    Kommentar von Freak123456789 Freak123456789Freak123456789

    Und solst halt mit damm smal spielen bis es geht!

    Kommentar von simonsta simonsta

    naja, so zum programmieren wie gesagt is das nichts

  • 0
    Unix Dateireichte
    RatgeberHelden Antwort von HerzVonHessen HerzVonHessen

    Hallo,

    -rwxr-xr-x 2 maier einkauf 4321 11 Mrz 2010 info.txt

    Der Besitzer darf die Datei:

    • lesen
    • schreiben
    • ausführen

    Er kann also alles mit der Datei tun was ihm beliebt, wenn die Datei denn auch in seinem Zugriffsbereich liegt.

    Liegt die Datei in einem Verzeichnis worauf der Besitzer keinen Zugriff hat kann er dennoch nicht rankommen, er benötigt Schreibrechte auf das darüber liegende Verzeichnis.

    Die Gruppe darf die Datei:

    • ausführen
    • lesen

    Es ist ihm also gar nicht möglich die Datei zu (be)schreiben oder gar zu löschen.

    Liegt die Datei in einem Verzeichnis worauf das Gruppenmitglied keinen Zugriff hat kann er dennoch nicht rankommen, er benötigt Schreibrechte auf das darüber liegende Verzeichnis.

    Der Rest der User darf die Datei :

    • ausführen

    Diese User können somit nichts anderes tun als die Datei auszuführen.

    Liegt die Datei in einem Verzeichnis worauf das Gruppenmitglied keinen Zugriff hat kann er dennoch nicht rankommen, er benötigt Schreibrechte auf das darüber liegende Verzeichnis.

    meine frage ist ob die gruppe und sonstige benutzer die info.txt ändern bzw. löschen können wegen den execute rechten ? oder ist dafür explizit "w" nötig ?

    ausführen 'X' ist nicht schreiben 'w'

    Wer macht denn eine info.txt ausführbar ;-)

    lieben Gruß aus Zuhaus

  • 1
    Unix Dateireichte
    Antwort von guenterhalt guenterhalt

    prinzipiell kann man Änderungen nur vornehmen wenn write-Rechte vorhanden sind. In deinem Falle darf das nur der Eigentümer und natürlich root.

    Bei samba muss man da vorsichtig sein. Die Windows Rechte passen nicht zu denen von Unix/Linux. rwx wird zwar angezeigt, das muss aber nicht stimmen. Für Samba gibt's es große Bücher aber schwer verständlich oder es kostet viel Zeit.

    Kommentar von jogi123 jogi123jogi123

    Hallo,

    vielen dank erstmal für die antwort ! möchte ich doch gleich noch ein kleines bisschen nachhaken... ;-) angenommen vor der info.txt befindet sich ein verzeichnis "tausch" müssen gruppen welche das verzeichnis betreten wollen zum lesen der info.txt auch execute rechte haben ?

    ps: beste antwort geht leider erst nach eingier zeit ;)

    Kommentar von guenterhalt guenterhaltguenterhalt

    ohne das execute-Recht für ein Verzeichnis kann man auch die Dateien, die sich darin befinden, nicht lesen, auch wenn dafür alle Rechte gesetzt sind.

    Das ist wie bei einem Haus, Haustür verschlossen reicht, auch wenn alle Zimmertüren und Schänke offen sind.

    Man kann gerade noch die Namen der Dateien sehen, die sich darin befinden ( mit ls ), wird aber keine Informationen zu Größe, den Zugriffsrechten und dem Modifikationsdatum bekommen.

    Um also cd tausch auszuführen muss für den user (oder die Gruppe, deren Mitglied er ist) das x-Flag gesetzt sein. Sollte für tausch kein Leserecht bestehen, dann geht zwar cd tausch aber ein nachfolgende ls versagt (man darf den Inhalt nicht lesen). Die Dateien in tausch lassen sich aber bearbeiten, falls deren Rechte es erlauben.

    Auch hier gilt: was Samba veranstaltet kann ich nicht sagen.

  • 0
    Unix Dateireichte
    Antwort von Freak123456789 Freak123456789

    Weiß ich leider nicht, aber geh mal lieben zu ubuntuusers.de ;)

  • 0
    MacBook Line-in Mikrofon?
    Antwort von Sirach1989 Sirach1989

    Probier mal ein anderes Mikro aus ein richtiges zum Beispiel und sag mir ob sich dann was ändert...

  • 0
    Welche LINUX distribution benutzen die PROFIS?
    Antwort von AberSicherFreak AberSicherFreak

    Linux Distributionen sind allgemein zum programmieren geeignet. Es gibt keine speziell gute dafür. Ich für meine Person verwende Mandriva und ZevenOS Neptune 2.0.

    Um Daten gut zu sichern oder um zu Hacken verwendest du am besten BackTrack 5. Linux ist sowieso in all diesen Disziplinen gut.

    PS: Mandriva ist nicht für alles geeignet. Ich würde eine auf Debian basierte nehmen.

  • 0
    UNIX-Programmierung in C und POSIX - fork() und Shared Memory -> Bad System Call
    Hilfreichste Antwort von Kurushiyama Kurushiyama

    Bei mir kompiliert der Code nicht mal, deswegen hier mal theoretisch.

    Also: das Kind kennt seine eigene pid, die es über getpid() auch ganz einfach abfragen kann. Sinnvoller wäre also, die pid des Vaters im shared memory zu speichern und dann die eigene pid damit vergleichen. Braucht es aber auch nicht, da der Rückgabewert von fork im Kind immer 0 ist und im Vater immer größer Null, wenn das ganze erfolgreich war und kleiner 0, wenn nicht. Soviel also zu Shared Memory.

    Hier meine Lösung:

    http://nopaste.info/2e709acd7c.html

    P.S. der Aufruf von getpid muss natürlich nach fork erfolgen, wenn ihr sie ausgeben wollt oder so.

    Kommentar von Hunter181 Hunter181

    Hi, nene, du hast die Frage glaub falsch verstanden. Wir wissen schon wie man einen fork() erzeugt und das die PID auch immer auf 0 gesetzt wird sobald man sich im Kind befindet. Was wir aber machen sollen ist, wir sollen über das Shared Memory die die PID des Kindes (vom Vater aus gesehen) speichern und im Kind-Prozess diese ID aus dem Memory lesen und mit der eigenen vergleichen also:

    Vater speichert Kind-Prozess-ID in Shared Memory Kind liest diese aus und vergleicht mit der eigenen. Bei einem erfolgreichen Vergleich wirft Kind "OK" zurück und andernfalls "Nein"

    Also wir SOLLEN über das SharedMemory-Tool gehen, um das Ganze zu machen. Hoffe es ist jetzt klarer geworden. Wir verstehen dabei nicht ganz, wie wir die PID in Memory speichern. Wir wissen, dass im Vater-Prozess die childpid auch wirklich die PID des Kindes ist. Aber wie speichert man diese Nummer denn, geschweige denn wie liest man sie denn wieder aus.

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Vater speichert Kind-Prozess-ID in Shared Memory Kind liest diese aus und vergleicht mit der eigenen. Bei einem erfolgreichen Vergleich wirft Kind "OK" zurück und andernfalls "Nein"

    Das ist völlig unsinnig. Der Rückgabewert von fork IST im Vater die pid des Childs. Die Vernwendung von Shared Memory ist in dem Fall völlig Banane, da reicht ein einfacher int. Wenn überhaupt macht es Sinn, das der Vater seine pid im SHM ablegt und das Child die pids vergleicht.

    Liefert die von mir vorgeschlagene Lösung zusätzlich ab, als bessere und sinnvollere Lösung des zu Grunde liegenden Problems (KISS-Prinzip).

    Ich lese mich dann mal (nach Jahren) in SHM ein, versuche da eine Lösung zu basteln. Lösung kommt dann später.

    Kommentar von Hunter181 Hunter181

    Also damit wir nichts falsch interpretiertes übermitteln, schreiben wir hier mal die genaue Aufgabenstellung: Schreiben Sie unter C und POSIX folgendes Programm und testen Sie dieses. Ein Prozess (Vater) erzeugt ein Kind-Prozess (Kind) und teilt diesem via Shared Memory die Prozessnummer (pid1 ) des Kindes mit. Das Kind vergleicht die übergebene Zahl pid1 mit seiner tatsächlichen Prozessnummer (erlangt durch einen Systemaufruf), und teilt dem Vater (auch via Shared Memory) mit, ob die übergebene Zahl gestimmt hat (z.B. als String OK oder FALSE). Können hier Probleme der Synchronisation auftreten, und falls ja, wie lösen Sie diese? Hinweis: benutzen Sie u.A. die Funktionen der POSIX-Familie shm*.

    Hoffe jetzt ist es etwas klarer was wir machen sollen.

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Klassisches Beispiel einer völlig realitätsfernen Aufgabenstellung (siehe meine Lösung), aber ich bin dran.

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Es ist zwar völlig daneben, aber hier meine Lösung.

    Es können Synchronisationsprobleme auftreten, und zwar dann, wenn der Prozess schon geforkt ist, aber das Shared Memory Segment noch dem Vater-Prozess gehört. Gelöst wurde das hier mit Semaphoren, da sie ressourceneffizienter und eindeutiger sind als while-Shleifen mit Überprüfungen.

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Noch eine etwas bessere Lösung, in der der Vater explizit darauf wartet, daß das Kind die weitere Ausführung erlaubt.

    http://nopaste.info/6530cd7cbd.html

    Kommentar von Hunter181 Hunter181

    ok also vielen dank erstmal für deine mühen! Ich werde mir das heute abend mit meinem kumpel nochmal anschauen.

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Könnt Euch ja nochmal melden, wenn ihr Fragen habt.

    Kommentar von Hunter181 Hunter181

    Hatten eine ähnliche Lösung wie die deine am Schluss, nur eben ohne Semaphore. Wir haben die Codes mit einander verglichen und einpaar Dinge bei uns ausgebessert. Funktioniert nun. Du hast uns echt geholfen! Heute morgen wussten wir noch überhaupt nicht wie wir das anstellen sollten :) Danke nochmal an dieser Stelle, echt nett, top!

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Kein Thema. Aber cool, daß ihr Euch die Mühe gemacht habt, den Code nicht einfach zu übernehmen. Das ist top!

    Wäre cool, wenn ihr den aktuellen Code posten könntet.

    Kommentar von Hunter181 Hunter181
    Kommentar von MaxK1990 MaxK1990MaxK1990

    Der Code verwendet zwar keine Semaphoren, aber das war theoretisch auch die Aufgabe. Man sollte es denken wir mit einer while()-Schleife machen und dann eben auf die Synchronisationshinweise deuten und mögliche Lösungsansätze geben. Danke nochmal für deine Mühen, du hast uns wirklich den Hintern gerettet.

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Kleiner Tipp von mir: Wenn UNIX, dann richtig. Installiert ne VirtualBox mit nem Linux oder BSD Eurer Wahl. Ich bin bei cygwin immer etwas misstrauisch.

  • 0
    UNIX-Programmierung in C und POSIX - fork() und Shared Memory -> Bad System Call
    Antwort von zirias zirias

    Ähm .. das shared memory wird gar nirgends benutzt. Habe ich selbst auch noch nicht verwendet, daher kann ich dazu leider nichts sagen. Aber die Pipe sollte eigentlich so funktionieren, mal versucht shmget() einfach komplett wegzulassen?

    Es wird allerdings Müll ankommen, denn (char*)childpid interpretiert einfach nur ein integer als Zeichenkette, da wird nichts konvertiert. Versucht es mit sprintf() oder so :)

  • 0
    Wie teste ich ein Programm mit emacs?
    Antwort von guenterhalt guenterhalt

    was soll den da noch getestet werden? Fehler musst du schon selbst beseitigen, da hilft emacs nicht. Werte die Fehlermeldungen von gcc ( besser ist aber c++ ) aus und korrigiere den (die ) Fehler.

    Bedenke dabei, dass viele, auf die erste Fehlermeldung folgenden Fehlermeldungen nur dadurch entstehen, weil der erste Fehler aufgetreten ist.

    Beseitige den ersten Fehler und compiliere erneut. Das sind aber nur die Syntaxfehler (häufig einfachste Schreibfehler) .

    Auch in dieser Frage kann ich nur sagen, dass emacs für Anfänger zu viel kann.

    Zu fehlen von stdio.h kann ich nur sagen: Suche diese Datei

    Wenn du Ubuntu oder ein ähnlich System hast:

    sudo find / -name stdio.h
    

    Bei einem richtigen Linux (z.B. von SuSE)

    melde dich als root an:

    find / -name stdio.h
    

    Wenn die wirklich nicht vorhanden ist, dann fehlen sicher die C/C++ Libraries Jede Distribution hat zum Installieren Tools.

  • 0
    Wie teste ich ein Programm mit emacs?
    Antwort von LeBonyt LeBonyt

    heisst das teil nicht stdio.h?

    Kommentar von sasosise sasosise

    ja und ich hab im programm auch stdio.h geschrieben

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.