Miksi Linuxissa on niin paljon paikkoja, joihin binääriä voidaan laittaa? Ainakin nämä viisi ovat:
-
/bin/
-
/sbin/
-
/usr/bin/
-
/usr/local/bin/
-
/usr/local/sbin/
Ja toimistolaatikossa minulla ei ole kirjoitusoikeuksia joihinkin näistä.
Minkä tyyppinen binaari mihin näistä bin
s?
Kommentit
Vastaa
-
/bin
(ja/sbin
) oli tarkoitettu ohjelmille, joiden oli oltava pienessä/
-osiossa ennen suurempaa/usr
jne. osiot asennettiin. Nykyään se toimii enimmäkseen vakiopaikkana avainohjelmille, kuten/bin/sh
, vaikka alkuperäinen tarkoitus voi silti olla merkityksellinen esim. asennukset pieniin sulautettuihin laitteisiin. -
/sbin
erotettuna/bin
on järjestelmänhallintaohjelmille (joita tavalliset käyttäjät eivät normaalisti käytä), joita tarvitaan ennen/usr
-asennusta. -
/usr/bin
on tarkoitettu jakelun hallinnoimille tavallisille käyttäjäohjelmille. -
/usr/sbin
on sama suhde/usr/bin
kuten/sbin
on/bin
. -
/usr/local/bin
on tarkoitettu tavallisille käyttäjäohjelmille, joita ei hallinnoi jakelupakettien hallinta, esim. paikallisesti kootut paketit. Älä asenna niitä osioon/usr/bin
, koska tulevat jakelupäivitykset saattavat muokata tai poistaa niitä ilman varoitusta. -
/usr/local/sbin
, kuten voit todennäköisesti arvata tässä vaiheessa, on/usr/local/bin
muodossa/usr/sbin
–/usr/bin
.
Lisäksi on olemassa /opt
, joka on tarkoitettu monoliittisille ei-jakelupaketeille, vaikka ennen kuin ne oli integroitu oikein, erilaiset jakelut asettivat Gnomen ja KDE: n. Yleensä sinun tulisi varata se suurille, huonosti käyttäytyville kolmansien osapuolten paketeille, kuten Oraclelle.
Kommentit
- Mielestäni tämä vastaus on hyvä tehtävä selventää yhteinen käytännesarja, mutta tämä Rob Landleyn viesti on todella hieno lukema, jos haluat käsityksen hölynpölystä … lists.busybox.net/pipermail/busybox/2010 -December / 074114.html
- refspecs.linuxfoundation.org/fhs.shtml kanonista nykyistä viittausta varten. @Kojiron linkki on vanhentunut, eikä sillä ole ’ uutta spesifikaatiota.
- Mihin laitan Internetistä lataamasi roskakorin? Kuvauksestasi tuntuu siltä, että sen pitäisi mennä hakemistoon / usr / local / bin tai / usr / bin. Onko / usr / bin jotain, jota en koskaan saa koskettaa manuaalisesti, ja anna vain paketinhallinnan pelata?
- @DidierA. laita se
~/bin
-kansioon ja lisää kyseinen hakemisto polkuusi käyttäjänä … Kiitos huomautuksesta, poistin vakavasti vanhentuneen kommenttini. - Löysin vastaus kysymykseni ensimmäiseen osaan täällä: superuser.com/a/238993/425838 . Etusija perustuu järjestelmän
PATH
-muuttujan järjestykseen, jaecho $PATH
näyttää minulle/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
, mikä tarkoittaa, että/usr/local/bin
-sovelluksessa olevat suoritettavat tiedostot ovat etusijalla/usr/bin
-tietokoneisiin nähden. >
.
vastaus
Suosittelen katsomaan tiedostojärjestelmähierarkian man-sivua:
man hier
joka on saatavana myös verkossa, esimerkiksi: http://linux.die.net/man/7/hier . Asiaankuuluvat osat on kopioitu alla. Järjestelmästäsi riippuen se voi sanoa jotain erilaista.
Nimi
hier – tiedostojärjestelmähierarkian kuvaus
Kuvaus
Tyypillisessä Linux-järjestelmässä on muun muassa seuraavat hakemistot:
/bin
Tämä hakemisto sisältää suoritettavia ohjelmia, joita tarvitaan yhden käyttäjän kanssa tilassa ja tuoda järjestelmä ylös tai korjata se.
/sbin
Kuten
/bin
, tämä hakemisto omistaa järjestelmän käynnistämiseen tarvittavat komennot, mutta tavalliset käyttäjät eivät yleensä suorita niitä.
/usr/bin
Tämä on suoritettavien ohjelmien ensisijainen hakemisto. Suurin osa normaalien käyttäjien suorittamista ohjelmista, joita ei tarvita käynnistämiseen tai järjestelmän korjaamiseen ja joita ei ole asennettu paikallisesti, tulisi sijoittaa tähän hakemistoon.
/usr/local/bin
Sivuston paikallisten ohjelmien binaarit.
/usr/local/sbin
Paikallisesti asennetut ohjelmat järjestelmän hallintaa varten.
/usr/sbin
Tämä hakemisto sisältää järjestelmän hallintaa varten tarvittavat ohjelma-binäärit, jotka eivät ole välttämättömiä käynnistysprosessille,
/usr
-asennukseen tai järjestelmän korjaamiseen .
Kommentit
- Tämä ei ole ’ t vastaa käyttäjän ’ kysymykseen.
- Man-sivu sisältää merkinnän kustakin roskakorihakemistosta ja selittää mitä menee niihin, mikä oli yksi kysymyksistä.
Vastaus
Tiedostojärjestelmä Hierar chy Standard -merkintä Wikipediassa auttoi minua vastaamaan samaan kysymykseen, kun minulla oli se, ja siinä on hyvin selittävä taulukko.
Ote tältä sivulta 1 :
/bin Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp. /usr/bin Non-essential command binaries (not needed in single user mode); for all users. /usr/local Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories, e.g., bin, lib, share /usr/sbin Non-essential system binaries, e.g., daemons for various network-services. /sbin Essential system binaries, e.g., fsck, init, route.
1 Haettu 19. kesäkuuta 2019; pysyvä linkki .
Vastaa
sbin
-hakemistot sisältävät ohjelmia, jotka ovat yleensä vain järjestelmänhallintaa. Tavallisten käyttäjien ohjelmat eivät saa koskaan mennä niihin.
Käynnistyksen aikana tarvitaan joitain ohjelmia, jotka päätyvät /bin/
tai /sbin/
. Niiden on oltava käytettävissä ennen tiedostojärjestelmien asentamista. Tiedostojärjestelmien tarkistamiseen ja liittämiseen tarvittavien asioiden, kuten mount
ja fsck
, on oltava siellä.
Pakatuimmat ohjelmat päätyvät /usr/bin/
ja /usr/sbin/
. Nämä voivat olla muussa tiedostojärjestelmässä kuin juuritiedostojärjestelmässä. Joissakin tapauksissa ne voivat olla verkkoon asennetulla asemalla.
Paikalliset ohjelmat ja komentosarjat kuuluvat ryhmiin /usr/local/bin/
ja /usr/local/sbin/
. Tämä tunnistaa ne selvästi epätyypillisiksi ja mahdollisesti saatavana vain paikan päällä.
Saat lisätietoja selittämällä komennon man hier
, joka antaa kuvauksen jakelusi suositellusta tiedostojärjestelmähierarkiasta. Saatat myös haluta lukea -tiedostojärjestelmän hierarkiasta Wikipediassa
kommentit
- +1 Todella tiivis selitys, jos yläosa on hieman liikaa.
- ” Paikalliset ohjelmat ja komentosarjat kuuluvat kansioihin / usr / local / bin / ja / usr / local / sbin / ” – Tarkoitat paikallisia ohjelmia kuten ” -ohjelmassa, eivätkä ollenkaan käyttöjärjestelmän osissa, mutta päätin asentaa ja haluat käyttää niitä ”?
Vastaa
1970-luvulla UNIXilla oli kaikki viralliset suoritettavat tiedostot /bin
-kohdassa ja /usr/bin
oli paikka käyttäjien kotihakemistojen alla (esim. /usr/dmr
), joka oli kaikkien käyttäjien käytettävissä tallentamaan omia binäärejä, jotka ovat saattaneet kiinnostaa myös muita.
Tämän avoimen /usr/bin
oli romuttamaton telakka dokumentoimattomia ohjelmistoja, joten Stephen Bourne wro te cron-skripti, joka tarkisti uusia binaareja joka ilta ja poisti kaikki binäärit, joilla ei ollut dokumentaatiota tai jotka on päivitetty päivittämättä myös niiden dokumentaatiota.
1970-luvun lopulla /usr/bin
integroitiin käyttöjärjestelmän peruskokoonpanoon ja ihmiset alkoivat käyttää /usr/local/bin
-ohjelmaa edellisen avoimen /usr/bin
.
Jonkin ajan kuluttua sysadmins käytti /usr/local/bin
-palvelua verkkoon tuotujen ei-paikallisten ohjelmistojen (esim. USENET) ja koska UNIX-yhtiöt eivät halunneet toistaa samaa virhettä kuin uudelleen /usr/bin
-tapahtumassa, noin 1987 järjestettiin tiedostojärjestelmähierarkiakonferenssi, jossa kaikki UNIX-yritykset suostuivat luopumaan /usr/local/bin
ja käyttää sen sijaan /opt/<vendor>/bin
.
Valitettavasti Linux-distrot eivät noudattaneet tätä päätöstä ….
Kommentit
- Vaikka tämäkin on erittäin mielenkiintoista, mikään tästä yrittää edes vastata kysymykseen, joka ei koske
/opt
eikä UNIXista vaan Linuxista. Tämä on kuin vastaaminen ” Miksi autoilla on 4 pyörää? ” ” polkupyörillä on 2! Valitettavasti autot eivät ’ t. ”, jotka eivät ’ auta OP: ta ymmärtämään miksi autoissa on 4. - Jos et pysty käyttämään annettua selitystä selitykseksi Linuxin taustalle ja siitä, että Linux haluaa jäljitellä UNIXia, saatat puuttua tarvittavan taustan.
- Mielenkiintoista, mutta hämmentynyt asia, joka on ehkä myös vain historiallista. Nykyään roskakorin lataaminen verkossa ja yrityksen roskakori eivät ole ’ kovin erilaisia. Jos Joe Blow tekee ohjelman ja lataan sen, miksi ei laittaa sitä kansioon / opt / JowBlow / bin / usr / local / bin. Onko kyse luotetusta palveluntarjoajasta vai epäluotettavasta? Minulla ei näytä olevan järkevää ’.
- Toivon, että olisin tiennyt tämän ’ tarkan ’ historiaa muutama vuosi sitten. a) Mietin, miksi AIX välttää / usr / local, käyttää / opt / IBM: tä ja / opt / ibm ja bullfreeware käyttää / opt / freeware – ja miksi PITÄISIN käyttää eri polkua (ei vain / opt / * sbin). Puoli-merkityksellisyys Linuxilla – paremmat GNU-työkalut – oletusarvoinen etuliite automaattisissa työkaluissa on / usr / local. Harmi huonot automaattiset työkalut (automake, autoconf jne. Eivät seuraa … Mutta me kaikki selviämme ja opimme, mihin distrub. || myyjät sijoittavat ohjelmansa.
- Voisimmeko järjestää toisen näistä konferensseista? Juuri tällä kertaa KAIKKI KUUNTELE!
/usr/sbin/
.~/bin/
henkilökohtaisille tavaroille./bin
yhdistettiin osastoon/usr/bin
ja/sbin
yhdistettiin ryhmään/usr/sbin
– katso / usr -yhdistämisen tapaus ./usr/local/bin
?