`apt-get install -t`를 사용하여 지정할 수 있도록 저장소 이름을 어떻게 찾나요?

`apt-get install -t`를 사용하여 지정할 수 있도록 저장소 이름을 어떻게 찾나요?

다음 명령을 사용하여 저장소를 선택할 수 있다는 것을 알고 있습니다.

apt-get install -t backports|testing|unstable|etc software

나는 최근에 mysql-repository를 사용해야 했습니다 /etc/apt/sources.list.d/mysql.list:

deb http://repo.mysql.com/apt/debian/ stretch mysql-apt-config
deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7
deb http://repo.mysql.com/apt/debian/ stretch mysql-tools
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7

옵션을 사용하여 지정하기 위해 이 저장소의 이름을 어떻게 찾을 수 있습니까 -t?

apt-get install -t mysql-community mysql-server
E: The value 'mysql-community' is invalid for APT::Default-Release as such a release is not available in the sources
apt-get install -t mysql-5.7 mysql-server
E: The value 'mysql-5.7' is invalid for APT::Default-Release as such a release is not available in the sources
apt-get install -t mysql mysql-server
E: The value 'mysql' is invalid for APT::Default-Release as such a release is not available in the sources

저도 관련 정보를 찾지 못했습니다 apt-cache showpkg mysql-server. 또한 내 시스템의 모든 저장소를 나열할 수 있는 명령이 있습니까?

답변1

-t옵션은 저장소가 아니라 버전을 지정합니다(설정의 약어입니다 APT::Default-Release. 참조 man apt_preferences).

Release파일을 보면 특정 저장소가 어떤 버전을 대상으로 하는지 알 수 있습니다 .당신의 경우에는. stretch(find )를 지정하고 있어서 Codename:사용할 수 없게 됩니다...

답변2

저장소에 대한 정보를 얻으려면 다음을 수행하십시오.

sudo apt-cache policy

하지만 그것은 목표 달성에 도움이 되지 않습니다. 특정 저장소에서 패키지를 설치하려는 경우 저장소를 선택하는 것이 아니라 특정 패키지 버전을 선택하는 것입니다. 이 패키지의 모든 버전 목록을 얻으려면 다음을 수행하십시오 mysql-server.

apt-show-versions | grep mysql-server

내 Ubuntu 18.04에서 출력은 다음과 같습니다.

mysql-server:all/bionic-security 5.7.22-0ubuntu18.04.1 uptodate
mysql-server-5.7:amd64/bionic-security 5.7.22-0ubuntu18.04.1 uptodate
mysql-server-5.7:i386 not installed
mysql-server-core-5.7:amd64/bionic-security 5.7.22-0ubuntu18.04.1 uptodate
mysql-server-core-5.7:i386 not installed

저장소를 지정하려면 저장소에서 grep을 수행하십시오. apt search예를 들어 bionic-updates저장소의 경우 다음을 수행하십시오.

apt search linux-image | grep -i bionic-updates

그런 다음 필요한 버전을 선택하고 설치합니다. 예:

sudo apt-get install mysql-server-5.7:amd64

따라서 규칙은 다음과 같습니다.저장소 대신 패키지 버전을 선택하십시오.

업그레이드를 피하기 위해 이전 버전의 패키지가 필요한 경우 다음을 사용하세요 apt-mark.

sudo apt-mark hold mysql-server-5.7

마지막 명령은 패키지가 업그레이드되지 않도록 합니다. 이 동작을 복원하려면 unhold를 사용하십시오.

sudo apt-mark unhold mysql-server-5.7

또한 Askubuntu에 대한 비슷한 질문에 대한 내 답변도 참조하세요.우분투 16.04 및 커널 4.15

또 다른 옵션은 다음과 같습니다.결정된, 이 항목을 주의 깊게 읽어 보십시오.특정 저장소의 업데이트만 설치하는 방법은 무엇입니까?

관련 정보