it-swarm-ko.tech

직접 컴파일 한 소프트웨어를 어디에 두어야합니까?

Fedora 시스템에서 일부 소프트웨어를 컴파일해야합니다. 패키지 된 소프트웨어를 방해하지 않도록 가장 좋은 곳은 어디입니까?

130
theotherreceive

최소한 데비안 풍미 시스템에서 경험의 법칙 :

  • "시스템 전체"인 항목의 경우 /usr/local/usr/local는 배포판의 기본 $PATH 인 경향이 있으며 /usr/local/bin, /usr/local/lib 등의 표준 UNIX 디렉토리 계층 구조를 따릅니다.

  • 앱 단위 접두사를 사용하여 시스템 전체에서 신뢰할 수없는 항목에 대한 /opt (예 : /opt/firefox-3.6.8, /opt/mono-2.6.7 등. 여기에있는 항목은보다 신중한 관리가 필요하지만 시스템을 손상시킬 가능성이 적습니다. 폴더를 삭제하면 사라지기 때문에 제거하기가 더 쉽습니다.

92
directhex

정말로 방해하고 싶지 않다면 $PATH의 어느 곳에도 두지 마십시오.

$PATH에 설치하려면 최소한 /usr/local에 설치하지 않아야합니다. 배포판에 의해 /usr에 설치되어 있어도 많은 소프트웨어가 보입니다.

사용자 정의 컴파일 된 소프트웨어를 설치하는 가장 좋아하는 방법은 $HOME 디렉토리에 있습니다. 그렇게하면 어떤 것도 Sudo를 사용할 필요가 없으며, 시스템의 나머지 부분과 아주 잘 분리되어 있습니다. 예를 들면 다음과 같습니다.

mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install

원하는 경우 /home/username/stage/bin$PATH를 추가 할 수 있습니다.

50
Sandy

FHS는 배포판이 그것을 건드리지 않아야하는/usr/local에 넣었다고 말합니다 바이너리의 경우 /usr/local/bin 소스의 경우 /usr/local/src, 라이브러리의 경우 /usr/local/lib 자세한 내용은 FHS 사양 을 참조하십시오.

21
xenoterracide

대부분의 경우, 나는 내 자신의 컴파일 된 것들을 /opt. 그것은 일종의 의사 표준 장소입니다. /usr/local,하지만 내 물건을 100 % 격리 된 상태로 유지하는 것을 선호합니다.

10
Scott Anderson

그것들을 /usr/local/src에 넣으십시오.

내가하는 일은이 디렉토리에서 소스를 추출하는 것입니다. 그것은 같은 경로를 만들 것입니다

/usr/local/src/postgresql-8.3.7

그런 다음 심볼릭 링크를 만듭니다.

/usr/local/src # ln -s  postgresql-8.3.7 postgresql

/usr/local/src/postgresql에서 모든 건물을 수행하십시오.

이 방법으로 작업하면 버전과 문서간에 팝업을 사용해야 할 때 도움이됩니다.

9
Stephen Jazdzewski

이것은 checkinstall을 더 자주 사용해야한다는 것을 상기시킵니다. 그런 식으로 평소처럼

 ./configure
 make

뒤에

 Sudo checkinstall

. deb 파일을 만들려면 ...

6
Kevin Cantu

FHS , /usr/local/는 소스에서 컴파일 된 응용 프로그램에 사용되는 반면 /opt/은 (는) 운영 체제 공급 업체에서 지원하지 않는 타사 응용 프로그램에 사용됩니다.

5
Aaron Toponce

가능하다면-소프트웨어를 컴파일하고 FC 패키지를 만드는 것이 좋습니다 (yum을 사용하여 소프트웨어 패키지를 설치하고 있다고 생각합니다). 그런 다음 컴파일 한 소프트웨어 패키지를 설치하고 전체 시스템을 손상시키지 않고 제거 할 수 있습니다.

5
Eimantas

직접 만든 여러 응용 프로그램을 쉽게 설치하고 제거하려면 간단한 패키지 관리자로 Stow 를 사용할 수 있습니다.

5
Daniel James

내가 추천하는 두 가지 :

시스템 전체 : stow 를 사용하고/usr/local/stow/package-version 아래에 설치하십시오. 그러면 버전 간을 쉽게 전환 할 수 있습니다.

내 집에서 또는/usr/local 쓰기 권한이없는 경우 ~/.local 아래에 프로그램을 개인적으로 설치합니다. XDG standard 입니다.

내가 한 적이 없지만 로컬에서 스토우를 사용할 수도 있습니다. :)

4
elmarco

소스 tarball에서 deb 또는 rpm을 만드는 것은 실제로 어렵지 않습니다. 이렇게하면 배포판 패키지 관리자의 기능을 사용하여 시스템을 깨끗하게 유지할 수 있습니다. 이것이 제가하는 일의 대부분입니다 : 약간의 rpm을 만드십시오.

3
wzzrd

많은 개발 작업을 수행하기 때문에 대부분의 사람들과 설정이 약간 다릅니다. 물건을 설치하는/home/jackson/bin/디렉토리가 있고 이것을 추가하여 .bashrc를 편집했습니다.

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

나는 모든 것을 위해 이것을하지는 않지만 개발 중에는 Nice입니다.

3
jacksonh

응용 프로그램을 컴파일하는 경우 PATH env 변수에 실행 파일 경로를 추가 할 수 있습니다. 다른 사용자에게는 영향을 미치지 않습니다.

2
Hemant

항상 "소유하는 곳에 넣는"옵션이 있지만 먼저 간단한 rpm을 작성하십시오.

2
Nils

시스템의 모든 사용자가 응용 프로그램을 사용할 수있게하고 필요한 권한이 필요한 경우/opt를 사용하십시오. 응용 프로그램을 자신과 루트 만 사용할 수있게하려면/home/username을 사용하십시오.

1
Silviu Bogan

RPM을 작성하는 것은 어렵지 않으며 물건을 넣을 위치에 대한 지침이 있으며 제거를 간단하게 만듭니다.

이렇게하면 /usr이 아닌 /usr/local, 패키징 시스템을 통해 오는 다른 모든 파일과 같습니다.

0
user55149

가장 쉬운 방법은 소스 패키지를 가져 오는 것입니다 (.src.rpm의 경우 RPMite)의 압축을 풀고 새 소스/구성/무엇이든 해킹 한 후 버전을 적절하게 변경하고 빌드하십시오. 이를 설치하면 패키지 관리자가 새 패키지를 인식하고 종속성 및 제거/업데이트를 고려할 수 있습니다.

이것은 처음에는 번거로운 일이지만 새로운 버전 (또는 일부 중요한 패치)이 나오면 업데이트하는 것이 더 간단합니다. 또 다른 이점은 로컬 소프트웨어를 사용하여 자신의 저장소를 만들어 공유 할 수 있다는 것입니다. 실험실의 기계에 의해.

0
vonbrand