Am nevoie pentru a compila unele software-ul pe Fedora mașină. De unde's cel mai bun loc pentru a pune-l astfel încât să nu interfereze cu pachete software?
Regula de degetul mare, cel puțin pe Debian cu aromă de sisteme:
/usr/local
pentru chestii care este "la nivel de sistem"—de exemplu /usr/local
tinde să fie într-un distro's, default $CALE
, și urmează un standard UNIX director ierarhie cu /usr/local/bin
, /usr/local/lib
, etc.
/opt lucruri nu't de încredere pentru a face la nivel de sistem, cu per-app prefixe—de exemplu
/opt/firefox 3.6.8,
/opt/mono-2.6.7`, și așa mai departe. Lucrurile aici necesită o gestionare mai atentă, dar este, de asemenea, mai puțin susceptibile de a rupe sistemul dvs.—și este mai ușor pentru a elimina, deoarece pur si simplu ștergeți folderul și it's-a dus.
Dacă într-adevăr don't vreau să intervină la toate, don't pune oriunde în ta $CALE
.
Dacă doriți să-l în $CALE
, cel puțin asigurați-vă că nu pentru a instala /usr/local
. Am'am constatat că o mulțime de software-ul arata chiar dacă l's-a instalat de distribuție în /usr
.
Modul meu preferat de a instala personalizat-compilate software-ul este în$HOME` director. Că modul în care don't trebuie să utilizați "sudo" pentru nimic, și-l's foarte frumos separat de restul sistemului dumneavoastră. De exemplu:
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
Și dacă doriți, puteți adăuga apoi /home/username/etapă/bin
pentru a ta $CALE
.
FHS spune să-l pună în /usr/local în cazul în care distribuțiile ar trebui't-l ating. /usr/local/bin
pentru binare /usr/local/src
pentru sursă și /usr/local/lib
pentru biblioteci. Vezi FHS spec pentru mai multe informații
Le-a pus la /usr/local/src
.
Ceea ce fac este extras sursa în acest director. Se va crea o cale ca
/usr/local/src/postgresql-8.3.7
Apoi am crea o legătură simbolică la ea:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
Nu toate clădire în /usr/local/src/postgresql
.
A face lucrurile în acest fel vă ajută atunci când aveți nevoie pentru a pop între versiuni și documentele ce versiunea pe care o utilizați.
Dacă nu există posibilitatea de - am'd sugerează elaborarea software-ul și apoi crearea FC pachet (cred că's, folosind yum pentru a instala software-ul de pachete). Apoi, puteți instala pachetul de propriile compilat software-ul și scoateți-l fără să încurc întregului sistem.
Două lucruri m-am'd recomanda:
La nivel de sistem: folosi depozita și instala sub /usr/local/stow/pachet-versiune. Apoi, puteți comuta cu ușurință între versiunea.
În casa mea, sau dacă nu't au /usr/local permisiuni de scriere, eu personal instala programe în ~/.locale, care este sugerat de XDG standard.
Puteți folosi, de asemenea, clandestin, la nivel local, deși n-am făcut :)
Am un mic setup diferit decât majoritatea oamenilor pentru că am făcut o mulțime de dezvoltare. Am un /home/jackson/bin/ director care am instalat chestii și am'am editat .bashrc adăugarea asta:
export PATH=/home/jackson/bin/bin::$PATH
export LD_LIBRARY_PATH=/home/jackson/bin/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/jackson/bin/lib/pkgconfig:$PKG_CONFIG_PATH
Am ar't face acest lucru pentru tot, dar frumos în timpul de dezvoltare.
Este de fapt atât de greu pentru a crea deb's sau rpm's de la o sursa. În acest fel, puteți folosi facilitățile de distro's package manager pentru a menține sistemul curat. Aceasta este ceea ce eu fac, de cele mai multe ori: de a crea doar un pic de rpm.
Dacă doriți ca aplicația să fie disponibilă pentru toți utilizatorii de sistem și nu aveți permisiunile necesare, utilizarea /opt. Dacă doriți ca aplicația să fie disponibilă numai pentru tine (și rădăcină), utilizarea /home/username
Scrie un RPM, nu este greu, are linii directoare pe unde să pună lucrurile și face dezinstalarea într-o clipă.
Dacă veți face acest lucru, instalați fișierele în /usr
și nu în /usr/local
, la fel ca toate celelalte fișiere care vin prin sistemul de ambalare.
Cel mai simplu mod de a face acest lucru este de a apuca pachetul sursă (`.src.rpm pentru RPMites), despachetați-l, hack noua sursa/configurare/orice în ea, schimba versiunea așa cum se cuvine și de a construi. Instalarea acest lucru face ca package manager conștient de noul pachet, vă permite să ia în considerare pentru dependențe și dezinstalare/modificare.
Aceasta este o corvoada prima dată în jurul valorii de, dar dacă o nouă versiune (sau unele patch-uri critice) iese, atunci este mai simplu de a actualiza. Un alt avantaj este că vă puteți crea propria dvs. depozit cu software locale, pentru a fi partajate de exemplu, de mașini într-un laborator.