에 대한 종속성을 설정하는 코드가 있습니다 apt-get
. 여기에는 프로젝트 위키에 설명된 대로 많은 패키지가 있습니다. 예를 들면 다음과 같습니다.개발 환경그리고루비 의존성.
그러나 우리 프로덕션 서버는 RHEL 5.8을 실행하고 있으며 시스템 관리자는 배포를 더 쉽게 하기 위해 프로덕션 서버와 유사한 CentOS 개발 환경을 사용하도록 요청했습니다. EPEL 저장소에서 동등한 패키지 이름을 찾는 쉬운(자동) 방법이 있습니까? 그들은 비표준 저장소를 사용하는 것을 꺼려합니다.
각 항목을 독립적으로 찾아야 합니까? 시작했는데 쉽지 않은 것 같아요.
도움이 될지는 확실하지 않지만, 우리가 사용하는 저장소의 범위는 다음과 같습니다.
git gfortran openmpi-bin libhdf5-openmpi-dev
r-base-core default-jre libdbd-mysql libmysqlclient-dev mysql-server
mysql-client jags r-cran-rjags r-cran-xml r-cran-hdf5 r-cran-mass r-cran-rmysql
liblapack-dev libnetcdf-dev netcdf-bin texlive-latex-base texlive-latex-extra
texlive-fonts-recommended bc libcurl4-openssl-dev texinfo curl apache2 libapache2-mod-
php5 php5 php5-mysql libgdal1-dev libproj-dev ruby1.8 ruby1.8-dev rubygems1.8
librmagick-ruby1.8 libmysql-ruby1.8 libapache2-mod-passenger imagemagick
libmagickwand-dev libmagic-dev libxslt1-dev libmysqlclient-dev libnetcdf-dev libsqlite3-dev
답변1
예, 이 작업은 수동으로 수행해야 합니다. 또한 일부 패키지는 Debian/Ubuntu와 CentOS/RHEL/Fedora에서 서로 다른 이름을 가지므로 비교가 까다로울 수 있습니다.
rpm 및 apt 명령
이러한 사이트에는 특정 패키지 관리 작업과 CentOS/RHEL/Fedora 및 Debian/Ubuntu에서 해당 명령을 사용하여 이를 수행하는 방법을 보여주는 멋진 표가 포함되어 있습니다.
이는 서로 다른 시스템에 설치된 패키지를 비교할 때 도움이 됩니다.
비교 및 인덱싱을 위한 RPM 도구
이러한 도구는 RPM에 따라 다르지만 다양한 RHEL/CentOS/Fedora 시스템을 비교하는 데 도움이 될 수 있습니다.
- rpmsnap 및 rpmsnapcmp- 서로 다른 컴퓨터 또는 서로 다른 시간에 동일한 컴퓨터에 있는 RPM 데이터베이스의 내용을 비교하기 위한 간단한 스크립트 세트입니다.
- 속도 보상- 여러 시스템에 설치된 RPM을 비교하거나 이전에 기록된 설치된 패키지 목록과 비교
RPM/DEB 패키징 도구
이러한 도구는 실제 .rpm 또는 .deb 파일의 다양한 버전을 비교하는 데 사용됩니다. 주로 패키지 관리자를 대상으로 하지만 사용자 정의 .deb 또는 .rpm 파일이 있고 이들 사이의 델타를 추적해야 하는 경우 유용할 수 있습니다.
- 패키지 차이- 패키지 변경 분석기(pkgdiff)는 Linux 패키지(RPM, DEB, TAR.GZ 등)의 변경 사항을 분석하는 도구입니다. 이 도구는 소프트웨어 패키지의 이전 버전과 새 버전의 호환성을 보장하는 데 관심이 있는 Linux 관리자를 위한 것입니다.
변환 도구
이러한 도구는 패키지를 한 형식(.rpm)에서 다른 형식(.deb)으로 또는 그 반대로 변환하는 데 도움이 될 수 있습니다. 이러한 도구는 .deb 형식의 바이너리 패키지가 있고 소스 코드를 분실했거나 재구축하는 데 시간을 낭비하고 싶지 않은 경우 유용할 수 있습니다. 이러한 유형의 도구는 다양한 결과를 생성할 수 있지만 긴급 상황에서는 도움이 될 수 있습니다.
- 외계인- Alien은 rpm, dpkg, stampede slp 및 slackware tgz 파일 형식 간에 변환하는 프로그램입니다. 시스템에 설치된 패키지가 아닌 다른 배포판의 패키지를 사용하려면 Alien을 사용하여 원하는 패키지 형식으로 변환하고 설치할 수 있습니다.
답변2
예, 너무 많이 변경되어 자동으로 찾을 수 있는 방법이 없습니다.
어떤 패키지가 어떤 파일을 제공하는지 알아내는 가장 쉬운 방법은 a를 발행하는 것입니다. yum whatprovides
예를 들어, 명령을 얻기 위해 어떤 패키지를 설치해야 하는지 알아내기 위해 a 또는를 setcap
발행할 수 있습니다. 이는 다음 중 하나의 이름을 아는 문제를 해결하는 데 도움이 됩니다. 패키지에 제공된 파일 예. 그러나 RHEL의 이름은 아닙니다.yum whatprovides */setcap
yum whatprovides /usr/sbin/setcap
참고: yum은 찾고 있는 패키지를 찾으려면 해당 패키지에 대한 저장소를 제공해야 합니다. 기본적으로 사용할 수 있는 패키지가 많기 때문에 CentOS에서는 문제가 되지 않습니다.