/usr을 사용하기 전에 실행되는 로컬 소프트웨어는 어디에 설치해야 합니까?

/usr을 사용하기 전에 실행되는 로컬 소프트웨어는 어디에 설치해야 합니까?

저는 udev 규칙에 의해 호출되는 로컬 프로그램을 작성 중입니다 IMPORT{program}. 일반적으로 에 로컬 소프트웨어를 설치 /usr/local하지만 이러한 udev 규칙은 블록 장치가 있을 때 실행됩니다. 따라서 장시간 실행하기 전에 /usr설치해야 합니다 .

나는 또한 initramfs에 복사하도록 구성해야 한다고 생각합니다(이것은 를 사용하여 쉽게 수행할 수 있습니다 /etc/initramfs-tools/hooks/). 일반적으로 initramfs의 경로는 루트 파일 시스템의 경로와 동일한 것으로 나타납니다. (편집: 실제로 initramfs에 추가할 필요가 없는 것 같습니다. rootfs를 마운트한 후 이벤트가 다시 트리거됩니다.)

/etc버전이 관리되므로 바이너리는 피하는 것이 가장 좋습니다.

내 생각에 최선의 선택은 배포판의 향후 파일과의 충돌을 피하기 /lib/udev위해 파일 이름이 로 시작하는 에 설치하는 것입니다. local-이는 또한 udev 규칙 파일을 더 보기 좋게 만듭니다(전체 경로를 지정할 필요가 없기 때문에).

이 컴퓨터는 Debian Squeeze를 실행하고 있습니다. 이 파일의 표준 위치가 있습니까? 난 믿지 않아FHS또는데비안 정책하나를 지정하세요.

답변1

/lib/udevdeb 패키지에서 제공하는 경우에는 넣겠습니다 /etc. 그렇지 않으면 넣겠습니다.

여러 컴퓨터에 프로그램을 배포하는 경우 deb 패키지를 만드는 것이 좋습니다. 그러면 배포 및 버전 추적이 더 쉬워집니다. 이것데비안 위키정보가 있거나 읽을 수 있습니다.데비안 새 유지관리자 가이드(기술적이지 않은 부분은 무시하세요.) dh이것을 쉽게 만듭니다(심지어dh_installudev).

이것이 하나의 컴퓨터에만 적용된다면 바이너리도 버전 제어에 넣을 것입니다. 그렇지 않으면 소스와 메이크파일을 확인하고 바이너리를 무시합니다. 에 심볼릭 링크를 배치할 수도 있습니다 /lib/udev. 압축을 푼 파일을 넣는 것을 권장하지 않습니다. /lib/udev왜냐하면 거기에 있다는 사실을 잊어버릴 것이기 때문입니다.

답변2

/lib/udev합리적인 것 같습니다. 관련없는 어떤 것도 방해하지 않으므로 udev패키지 관리에 큰 어려움을 겪지 않습니다. 이 외에도 아래에 새 하위 디렉터리가 남게 됩니다 /opt/(전체 경로 필요).

관련 정보