Saya perlu untuk mengkompilasi beberapa perangkat lunak di Fedora mesin. Mana's tempat terbaik untuk menempatkan itu sehingga tidak mengganggu perangkat lunak yang dipaketkan?
Aturan praktis, setidaknya pada Debian-rasa sistem:
/usr/local
untuk hal-hal yang "sistem"—yaitu /usr/local
cenderung di sebuah distro's default $PATH
, dan mengikuti standar UNIX direktori hirarki dengan /usr/local/bin
, /usr/local/lib
, dll.
/opt
untuk hal-hal yang anda don't percaya untuk membuat sistem-lebar, dengan per-app prefiks—yaitu /opt/firefox-3.6.8
, /opt/mono-2.6.7
, dan sebagainya. Barang-barang di sini membutuhkan lebih berhati-hati manajemen, tetapi juga kurang kemungkinan untuk merusak sistem anda—dan lebih mudah untuk menghapus karena anda hanya menghapus folder dan's pergi.
Jika anda benar-benar don't ingin mengganggu sama sekali, don't menempatkannya di mana saja di $PATH
.
Jika anda ingin dalam $PATH
, setidaknya pastikan untuk tidak menginstal ke /usr/local
. I've menemukan bahwa banyak dari perangkat lunak terlihat di sana bahkan jika itu's dipasang oleh distro menjadi /usr
.
Cara favorit saya untuk menginstal kustom-disusun software di saya $
HOME directory. Dengan cara itu anda don't harus menggunakan sudo
untuk apa-apa, dan itu's sangat baik dipisahkan dari yang lain dari sistem anda. Misalnya:
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
Dan jika anda ingin, anda kemudian dapat menambahkan /home/username/panggung/bin
untuk anda $PATH
.
FHS kata untuk meletakkannya di /usr/local dimana distro seharusnya't akan menyentuhnya. /usr/local/bin
untuk binari /usr/local/src
untuk sumber dan /usr/local/lib
untuk perpustakaan. Lihat FHS spec untuk info lebih lanjut
Sebagian besar waktu, saya ingin menempatkan saya sendiri yang disusun hal-hal di /opt
. It's semacam pseudo-standar. Anda juga dapat mempertimbangkan /usr/local
, tapi aku lebih memilih untuk menyimpan barang-barang saya 100% terisolasi.
Menempatkan mereka untuk /usr/local/src
.
Apa yang saya lakukan adalah mengekstrak sumber di direktori ini. Itu akan membuat jalan seperti
/usr/local/src/postgresql-8.3.7
Kemudian saya membuat sebuah symbolic link untuk itu:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
Apakah semua bangunan di /usr/local/src/postgresql
.
Hal ini membantu ketika anda perlu untuk pop antara versi dan dokumen versi apa yang anda gunakan.
Ini mengingatkan saya, saya perlu untuk menggunakan checkinstall lebih sering! Dengan cara itu aku hanya melakukan hal yang biasa
./configure
make
diikuti oleh
sudo checkinstall
untuk membuat .deb file...
Jika ada kemungkinan - I'd sarankan kompilasi perangkat lunak dan kemudian menciptakan FC paket (saya percaya itu's menggunakan yum untuk menginstal paket perangkat lunak). Kemudian anda dapat menginstal paket dari anda sendiri disusun perangkat lunak dan menghapus tanpa mengacaukan seluruh sistem.
Dua hal yang saya'd merekomendasikan:
Sistem yang luas: gunakan simpan dan pasang di bawah /usr/local/menyelundup/paket-versi. Kemudian anda dapat dengan mudah beralih antara versi.
Di rumah saya, atau jika saya don't memiliki /usr/local izin menulis, saya pribadi menginstal program di dalam ~/.lokal, yang diisyaratkan oleh XDG standar.
Anda juga dapat menggunakan menyelundup lokal, meskipun saya tidak pernah melakukannya :)
Saya memiliki sedikit setup yang berbeda dari kebanyakan orang karena saya melakukan banyak pengembangan. Saya memiliki /home/jackson/bin/ direktori yang saya menginstal barang-barang ke dan I've diedit saya .bashrc menambahkan ini:
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
Saya tidak't melakukan ini semuanya, tapi yang bagus selama pengembangan.
Hal ini sebenarnya tidak sulit untuk membuat deb's atau rpm's dari source tarball. Dengan cara itu, anda dapat menggunakan fasilitas dari distro anda's package manager untuk menjaga sistem anda bersih. Ini adalah apa yang saya lakukan, sebagian besar waktu: hanya membuat sedikit rpm.
Jika anda ingin aplikasi anda akan tersedia untuk semua pengguna pada sistem dan anda memiliki izin yang diperlukan, menggunakan /memilih. Jika anda ingin aplikasi yang akan tersedia hanya untuk anda (dan akar), menggunakan /home/username
Menulis RPM, hal ini tidak sulit, tidak memiliki petunjuk di mana untuk menempatkan hal-hal dan membuat menghapus snap.
Jika anda melakukan ini, instal file di bawah /usr
dan tidak berada di bawah /usr/local
, seperti semua file lain yang datang melalui sistem kemasan.
Cara termudah untuk melakukan ini adalah untuk ambil sumber paket (.src.rpm
untuk RPMites), membongkar, hack kode sumber baru/konfigurasi/apapun ke dalamnya, mengubah versi appropiately dan membangun. Menginstal ini membuat manajer paket anda menyadari paket baru, memungkinkan untuk mempertimbangkan dependensi dan uninstall/update.
Ini adalah tugas pertama kalinya di sekitar, tapi jika versi baru (atau beberapa critical patch) keluar, maka lebih mudah untuk update. Manfaat lain adalah bahwa anda dapat membuat anda sendiri repositori lokal dengan perangkat lunak, yang akan dibagi, misalnya dengan mesin-mesin di laboratorium.