Fedora 시스템에서 일부 소프트웨어를 컴파일해야합니다. 패키지화 된 소프트웨어를 방해하지 않도록 가장 좋은 곳은 어디입니까?
답변
최소한 데비안 풍미 시스템에서는 경험 법칙 :
-
/usr/local
물건 “시스템 전체”- 즉 인/usr/local
배포판의 기본으로되는 경향이$PATH
하고있는 표준 UNIX 디렉토리 계층 구조 다음/usr/local/bin
,/usr/local/lib
등 -
/opt
앱별 접두사 (예 :/opt/firefox-3.6.8
,/opt/mono-2.6.7
등) 를 사용하여 시스템 전체를 신뢰할 수없는 것들을 위해 . 여기에있는 내용은보다 신중한 관리가 필요하지만 시스템을 손상시킬 가능성이 적습니다. 폴더를 삭제하면 사라지기 때문에 제거하기가 더 쉽습니다.
답변
실제로 방해하지 않으려면에 아무 곳에 나 두지 마십시오 $PATH
.
당신이 그것을 원하는 경우 $PATH
, 적어도에 설치하지 않도록해야합니다 /usr/local
. 배포판에 의해 설치되어 있어도 많은 소프트웨어가 보입니다 /usr
.
사용자 정의 컴파일 소프트웨어를 설치하는 가장 좋아하는 방법은 내 $HOME
디렉토리에 있습니다. 그렇게하면 sudo
아무것도 사용할 필요가 없으며 , 시스템의 나머지 부분과 아주 잘 분리되어 있습니다. 예를 들면 다음과 같습니다.
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
원하는 경우에 추가 /home/username/stage/bin
할 수 있습니다 $PATH
.
답변
FHS는 배포판이 손대지 않아야하는 / usr / local에 넣었다고 말합니다 . 소스 및 라이브러리 /usr/local/bin
의 바이너리 /usr/local/src
에 사용 /usr/local/lib
됩니다. 자세한 내용은 FHS 사양 을 참조하십시오
답변
대부분의 경우, 나 자신의 컴파일 된 항목을에 배치하고 싶습니다 /opt
. 그것은 일종의 의사 표준 장소입니다. 당신은 또한 고려할 수 /usr/local
있지만, 나는 내 물건을 100 % 격리 된 상태로 유지하는 것을 선호합니다.
답변
에 넣으십시오 /usr/local/src
.
내가하는 일은이 디렉토리에서 소스를 추출하는 것입니다. 그것은 같은 경로를 만들 것입니다
/usr/local/src/postgresql-8.3.7
그런 다음 심볼릭 링크를 만듭니다.
/usr/local/src # ln -s postgresql-8.3.7 postgresql
의 모든 건물을 수행하십시오 /usr/local/src/postgresql
.
이 방법으로 작업하면 버전과 문서간에 팝업을 사용해야 할 때 도움이됩니다.
답변
이것은 checkinstall을 더 자주 사용해야한다는 것을 상기시킵니다 . 그런 식으로 평소처럼
./configure
make
뒤에
sudo checkinstall
.deb 파일 을 만들려면 …
답변
가능하다면-소프트웨어를 컴파일하고 FC 패키지를 만드는 것이 좋습니다 (yum을 사용하여 소프트웨어 패키지를 설치하고 있다고 생각합니다). 그런 다음 자신의 컴파일 된 소프트웨어 패키지를 설치하고 전체 시스템을 손상시키지 않고 제거 할 수 있습니다.