이미 설치된 명령에 대한 RPM 패키지 다운로드 설치했습니다. 이제 모든 RPM 패키지가 필요합니다. RPM

이미 사용하여 openssl-devel을 설치 한 CentOS 시스템이 있습니다.

$ yum install openssl-devel

모든 종속 패키지를 다운로드하여 설치했습니다. 이제 모든 RPM 패키지가 필요합니다. RPM 패키지 만 다운로드 할 수 있습니까? 내가 이것을 할 때 :

 $ yum install  openssl-devel -y --downloadonly

그것은 말한다

Package 1:openssl-devel-1.0.1e-4.fc18.x86_64 already installed and latest version

이미 설치되어 있기 때문입니다.

누구든지 같은 시스템에서 RPM 패키지를 다운로드하는 방법을 알고 있습니까?



답변

--downloadonly스위치를 사용하여 이미 설치된 RPM 패키지를 다운로드 할 수 있습니다. 패키지가 이미 설치되어 있는지 확인하기 전에 yum이이 설정을 확인하지 못하는 이유는 확실하지 않지만 기본 도구 아키텍처로 인해 발생할 수 있습니다.

어쨌든, yum에게 패키지 를 다시 설치 하도록 지시하기 만하면됩니다 .

yum --downloadonly --downloaddir=/tmp/rpm_files/ reinstall package_name

물론 yum은이 패키지에만 설치된 종속성을 알지 못하므로 RPM을 가져 와서 다른 시스템에 설치하려고하면 일부 종속성이 누락 될 수 있습니다. 전체 종속성 그래프를 탐색하는 방법이 있으며 이것이 SE의 다른 곳에서 이미 설명되어 있다고 확신합니다.


답변

yumdownloader에서 yum-utils전달한 패키지를 다운로드하거나 패키지를 다운로드 할 수있는 URL을 선택적으로 생성합니다.


답변

yum-utils 패키지에서 repotrack 명령을 사용할 수 있습니다 . 이미 설치되어 있어도 전체 종속성 트리를 다운로드합니다 .

예:

sudo yum install yum-utils      # Install yum-utils
sudo repotrack openssl-devel    # Download all dependencies for openssl-devel

샘플 출력 :

[sbadra@rhel6 ~]$ sudo yum install openssl-devel
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Setting up Install Process
Package openssl-devel-1.0.1e-57.el6.x86_64 already installed and latest version
Nothing to do

[sbadra@rhel6 ~]$ sudo repotrack openssl-devel
Downloading audit-libs-2.4.5-6.el6.x86_64.rpm
Downloading audit-libs-2.4.5-6.el6.i686.rpm
Downloading basesystem-10.0-4.el6.noarch.rpm
Downloading bash-4.1.2-48.el6.x86_64.rpm
Downloading ca-certificates-2017.2.14-65.0.1.el6_9.noarch.rpm
Downloading chkconfig-1.3.49.5-1.el6.x86_64.rpm
Downloading coreutils-8.4-46.el6.x86_64.rpm
Downloading coreutils-libs-8.4-46.el6.x86_64.rpm
.... more packages ....
Downloading openssl-1.0.1e-57.el6.i686.rpm
Downloading openssl-1.0.1e-57.el6.x86_64.rpm
Downloading openssl-devel-1.0.1e-57.el6.i686.rpm
Downloading openssl-devel-1.0.1e-57.el6.x86_64.rpm
.... more packages ....
Downloading sed-4.2.1-10.el6.x86_64.rpm
Downloading setup-2.8.14-23.el6.noarch.rpm
Downloading tzdata-2018c-1.el6.noarch.rpm
Downloading zlib-1.2.3-29.el6.x86_64.rpm
Downloading zlib-1.2.3-29.el6.i686.rpm
Downloading zlib-devel-1.2.3-29.el6.i686.rpm
Downloading zlib-devel-1.2.3-29.el6.x86_64.rpm


답변

장기적으로는 컴퓨터를 인터넷에서 다운로드 할 컴퓨터로 지정한 다음 NFS (또는 웹 서버)를 실행하여 / var / cache / yum을 내부 호스트에 노출시킬 수 있습니다.

그런 다음 yum 구성을 업데이트하여 다음을 추가해야합니다.

[main]
keepcache = 1

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Working_with_Yum_Cache.html :

캐싱을 활성화하면 모든 yum 작업이 구성된 리포지토리에서 패키지 데이터를 다운로드 할 수 있습니다.

보다 실용적인 용어로 :

$ sudo yum install -y nginx
$ sudo find /var/cache/yum/ -type f -name '*.rpm'
<...snip....>
/var/cache/yum/x86_64/7/epel/packages/nginx-1.10.2-1.el7.x86_64.rpm

다른 답변은 실제로 즉각적인 문제를 해결하여 yum reinstall이미 가지고있는 패키지를 실행 하고 RPM을 원하는 경우에만 도움이됩니다 .


답변

내가하는 일은 다음과 같습니다.

sudo yum install –config =. / yum.conf –installroot = / tmp / f541Sdex –downloadonly –downloaddir / tmp / DL-e25xds $ (고양이 패키지 목록)


답변