Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

directory-structuur

Anoniem
Marcel de Reus
9 antwoorden
  • Hallo,

    Ik gebruik nu al een tijd linux, maar een ding is mij nog steeds niet helemaal duidelijk.
    De standaard van de dir-structuur.
    Je ziet bij de meeste versies de mappen als "/etc","/boot","/usr","/mnt" enz.
    Welke funties hebben de mappen, en hoe moet ik ze gebruiken ?
    Waar moet ik bijvoorbeeld app's compileren die voor alle gebruikers toegankelijk moeten zijn ?
    Is er misschien ook een howto over dit onderwerp beschikbaar ?

    Alvast bedankt,
  • [quote:a68f41248c="bvvelde"]Je ziet bij de meeste versies de mappen als "/etc","/boot","/usr","/mnt" enz.
    Welke funties hebben de mappen, en hoe moet ik ze gebruiken ? [/quote:a68f41248c]Info over de Linux mappen[quote:a68f41248c="bvvelde"]Waar moet ik bijvoorbeeld app's compileren die voor alle gebruikers toegankelijk moeten zijn ? [/quote:a68f41248c] Dat maakt niet zoveel uit. Het kan vanuit een (sub) map in je /home/<gebruikers naam> zijn. Maar ook in een (sub) map van /usr/src/.
  • [quote:117528f8c0="jolo"] Dat maakt niet zoveel uit. Het kan vanuit een (sub) map in je /home/<gebruikers naam> zijn. Maar ook in een (sub) map van /usr/src/.[/quote:117528f8c0]
    Ik zou het niet in /usr/src doen, tenzij de source files afkomstig zijn van de distributie die je gebruikt. Hoewel er zeker redenen zijn om zelf te compileren, kun je in dit geval waarschijnlijk gewoon het binaire package dat de distributie levert gebruiken.

    Als je zelf de source schijft /download, kun je het beste /usr/local gebruiken. Alles onder /usr/local wordt (als het goed is) niet aangeraakt door het package management systeem.

    Je kunt het beste in $HOME werken, daar een binaire versie/package klaarzetten en dan met root installeren. Opnieuw geldt hier dat het in /usr/local komt als het binaire package niet mbv het package management systeem is gemaakt/geconfigureerd. Anders kun je het gewoon installeren in /usr. Hiermee geef je de verantwoordelijkheid aan het package management systeem mbt dependencies en versiebeheer.

    Dit laatste vanwege het principe: zo weinig mogelijk root gebruiken.
  • Als je een applicatie compileert, dan zorgt het commando [b:079fed9bf7]make install[/b:079fed9bf7] er in de meeste gevallen voor dat de applicatie wordt geinstalleerd in /usr/local.

    Bij een enkel programma is dat niet het geval (die hebben bijv. geen make instal), maar dan zou je die handmatig kunnen verplaatsen naar die mappenstructuur…


    Max
  • Oke, er is dus wel een zekere standaard, maar bijna niemand houdt zich er helemaal aan…

    In ieder geval bedankt voor de reply's, ik weet nu weer wat meer en mijn twijfels over compileren zij nu weggenomen.

    Thnx !
  • [quote:e8acfb5097="robian"][quote:e8acfb5097="jolo"] Dat maakt niet zoveel uit. Het kan vanuit een (sub) map in je /home/<gebruikers naam> zijn. Maar ook in een (sub) map van /usr/src/.[/quote:e8acfb5097]
    Ik zou het niet in /usr/src doen, tenzij de source files afkomstig zijn van de distributie die je gebruikt.[/quote:e8acfb5097] Kun je beargumenteren waarom je niet zou compileren vanuit een (sub)map in /usr/src? Om een concreet voorbeeld te geven. Ik heb zojuist kernel 2.6.0-test9 gecompileerd. Omdat te doen heb ik die linux-2.6.0-test9.tar.bz2 gekopieerd naar /usr/src en daar uitgepakt met [code:1:e8acfb5097] tar -xjvf linux-2.6.0-test9.tar.bz2 [/code:1:e8acfb5097]
  • Ten eerst houdt vrijwel iedereen zich aan de standaard (dwz distrosoftware wordt in /usr geinstalleerd, additionele software komt in /usr/local)

    make install zorgt er voor dat de software op de juiste plek terecht komt, waardoor het niet echt uitmaakt in welke map de eigenlijke compilatie plaats vindt.
    /usr/src is volgens mij de officiele plek, maar deze wordt alleen gebruikt voor software waarvan je de broncode wilt behouden omdat je die later nodig hebt om iets opnieuw te compileren (bijv. de kernel) of de installatie ongedaan wilt maken (bijv. via commando make uninstall).
    Meeste mensen die compileren gooien naderhand de broncode weg, zodat er geen behoefte is om het in /usr/src te doen.

    Max
  • [quote:ce4225f711="bvvelde"]Hallo,

    Ik gebruik nu al een tijd linux, maar een ding is mij nog steeds niet helemaal duidelijk.
    De standaard van de dir-structuur.
    Je ziet bij de meeste versies de mappen als "/etc","/boot","/usr","/mnt" enz.
    Welke funties hebben de mappen, en hoe moet ik ze gebruiken ?
    [/quote:ce4225f711]
    /boot bevat bestanden die nodig zijn om te booten. De kernel, en stuff van LILO (Linux Loader) of GRUB (Grand Unified Bootloader).
    /bin bevat de allerbelangrijkste programma's zoals sh, ls, login, init om een systeem te kunnen starten en basaal te gebruiken
    /sbin bevat de belangrijkste utilities om een systeem te kunnen bewerken, netwerk tools enz. Hierdoor kun je op een systeem inloggen en althans iets doen, ook als /usr niet beschikbaar is (omdat dat bijvoorbeeld een netwerk schijf kan zijn).
    /usr bevat alle programma's en bijbehorende bestanden. /usr zou read-only kunnen zijn als je je systeem verder niet wilt veranderen.
    /usr/bin de feitelijke uitvoerbare programma's ([b:ce4225f711]bin[/b:ce4225f711]aries)
    /usr/lib de gedeelde bibliotheken die door meerdere programma's kunnen worden gebruikt
    /usr/share bevat data en andere dingen die bij programma's horen maar die niet afhankelijk zijn van het type processor van een machine, zoals scriptbestanden, pictogrammen, documentatie, etc.
    /usr/local/ is een speciale plek waar je zelf stuff kan installeren die je niet door de stuff van je distributie heen wilt hebben, maar wel systeembreed beschikbaar wilt maken (voor alle gebruikers). Onder /usr/local/ heb je weer bin, lib, share enz.
    /home bevat de homedirectories van gebruikers. Handig om deze op een andere schijf te zetten dan /usr.
    /etc bevat de configuratiebestanden van vrijwel alle programma's (alleen KDE bewaart de config in <kdedir>/share/config)
    /var bevat data en andere zaken die sterk varieren in grootte (vandaar var). Database programma's zoals MySQL bewaren de databestanden in /var, maar ook mailservers bewaren mail tijdelijk in /var totdat ze doorgestuurd wordt. /var wordt constant beschreven en gelezen, en kan dus nooit read-only zijn, terwijl je /usr in theorie vanaf een CD zou kunnen mounten.
    [quote:ce4225f711]Waar moet ik bijvoorbeeld app's compileren die voor alle gebruikers toegankelijk moeten zijn ?
    [/quote:ce4225f711]
    Waar je ze compileert maakt feitelijk niet veel uit.
    Ik heb gewoon een subdir src/ in mijn homedir (/home/wilbert/src dus) en daar compileer ik vanalles. Meestal doe ik dan ./configure –prefix=/usr/local/ && make. Daarna als root make install. (Dus: su -c "make install", en dan je root-password geven). Dan worden programma's onder /usr/local geïnstalleerd. Dan overschrijf je niet perongeluk spul van je distributie.
    [quote:ce4225f711]Is er misschien ook een howto over dit onderwerp beschikbaar ?[/quote:ce4225f711]Zeker, wat jij zoekt is eigenlijk een artikel of boek over Linux systeembeheer.

    Google maar eens wat:
    http://doc.nl.linux.org/GUIDE/linux-admin-made-easy-nl/book.html
    http://users.skynet.be/bluedigit/cursus/
  • Overigens, vandaag ontdekte ik man hier:
    [b:e227736bc9]man hier[/b:e227736bc9] toont je de betekenis van de directory-hierachie!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.