yum
Scientific Linux에 설치하려는 단일 패키지의 종속성을 어떻게 무시할 수 있습니까 ? CentOS/RHEL에 대한 대답은 아마도 동일할 것입니다.
lsb_release
자세히 말하자면, 내가 알고 있는 유틸리티를 에 넣고 싶습니다 /usr/bin/lsb_release
. 이 명령은 해당 유틸리티가 (해당 아키텍처에 대한) 패키지의 일부 yum whatprovides /usr/bin/lsb_release
라고 알려 주지만 redhat-lsb
X11 관련 종속성을 포함하여 많은 종속성이 있습니다.
나는 단지 lsb_release
프로그램을 따르고 있기 때문에 종속성과 함께 제공되는 "엉터리"를 피하고 싶습니다. 어떻게 해야 하나요?
답변1
Goldilocks의 답변에서 힌트를 얻어 이 작은 스크립트를 생각해 냈습니다.정확히내가 원하는 것은 그 이상은 아니다. Scientific Linux 6.3에서 작성 및 테스트되었지만 다른 RHEL 파생 버전에서도 작동할 수 있습니다. 나는 스크립트에 이름을 붙였습니다 redhat-lsb.sh
(얼마나 비창조적인지).
#!/usr/bin/env bash
WKPKG=redhat-lsb
WKDIR=$HOME/$WKPKG
[[ -d "$WKDIR" ]] && [[ "x$1" != "x-f" ]] && { echo "ERROR: not removing $WKDIR. Use -f to force it."; exit 1; }
(
[[ -d "$WKDIR" ]] && rm -rf "$WKDIR"
mkdir "$WKDIR" && \
cd "$WKDIR" && \
yumdownloader $WKPKG && \
cd / && \
rpm2cpio "$WKDIR"/redhat-lsb-*.$(uname -m).rpm | cpio -idmv
) && rm -rf "$WKDIR"
sudo ./redhat-lsb.sh
또는 로 호출합니다 sudo ./redhat-lsb.sh -f
(후자는 작업 디렉토리가 이미 존재하는 경우 삭제합니다).
그 기능은 다음과 같습니다:
- 폴더
$HOME/redhat-lsb
작업 - 패키지를 다운로드하는 데 사용됩니다
yumdownloader
. - 쉘 와일드카드를 사용하여 올바른 것을 선택하십시오
.rpm
:redhat-lsb-*.$(uname -m).rpm
/
설치하려는 위치이므로 으로 변경하세요.rpm2cpio
표준 출력으로 압축을 풀기 위해cpio
이를 캡처하여 현재 디렉터리에 추출합니다(필수 단계입니다sudo
).- 마지막으로 작업 폴더를 삭제하십시오.
그 후, 큰 성공을 거두었습니다. 모든 종속성 없이 작동합니다.
$ lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: Scientific
Description: Scientific Linux release 6.3 (Carbon)
Release: 6.3
Codename: Carbon
결과 패키지 자체에는 정적으로 링크된 실행 파일만 포함됩니다. 이제 남은 것은 쉘 스크립트와 데이터뿐입니다.
답변2
당신은 할 수 없습니다. 적은 양의 저장 공간과 모든 MB가 포함되어 있지 않거나 전체 DE가 포함되어 있지 않은 경우(아마도 그렇지 않을 수도 있음) X 항목을 설치하는 것은 아마도 의미가 없을 것입니다. 여기에는 사용자가 원하지 않는 일부 시스템 구성이 포함될 수 있기 때문입니다. 원하지 않는다.
그래도 이 경로를 사용하고 싶지 않다면 적합한 .rpm을 찾을 수 있어야 합니다. (yum을 사용하여 설치하지 않고 저장소에서 rpm을 가져올 수 있습니다.이봐;아직 시도하지 않았으며 종속성이 문제를 일으킬지 여부는 알 수 없습니다. 가장 쉬운 방법은 아마도 사용하는 것입니다.rpm 검색). 그런 다음 rpm2cpio
lsb_release 바이너리를 사용하여 rpm의 압축을 풀고 직접 설치할 수 있습니다 . 먼저 ldd lsb_release
필요한 라이브러리가 사용 가능한지 확인하세요. 필요한 rpm의 다른 작은 부분이 있을 수 있습니다.
이미 인터넷에 rpm2cpio에 대한 설명이 있으니 다시 반복하지는 않겠습니다. 파일 브라우저를 사용하는 경우 mc
rpm2cpio 대신 이것을 사용할 수 있습니다. 이를 통해 tarball 또는 zip 파일처럼 rpm 내부를 탐색할 수 있습니다.