apt-get을 사용하여 Ubuntu 소프트웨어 업데이트

apt-get을 사용하여 Ubuntu 소프트웨어 업데이트

Ubuntu의 "apt-get update/dist-upgrade" 동작에 대한 기본적인 질문이 있습니다. "apt-get update/dist-upgrade"를 실행할 때 어떤 패키지가 업데이트되었는지 잘 모르겠습니다. 다른 SO 포럼과 Ubuntu 웹 사이트에서 명령이 실행될 때 /etc/apt/sources.list에 나열된 모든 패키지가 업데이트된다는 내용을 읽었습니다. 그러나 "apt-get install"을 사용하여 설치한 모든 패키지도 업데이트된다는 사실도 알게 되었습니다.

그러나 source.list를 보면 Ubuntu 리포지토리가 몇 개만 나열되어 있고 내가 설치한 타사 패키지 중 다수(예: okular, git 또는 수동으로 설치된 기타 패키지)가 파일에 포함되어 있지 않습니다.

그러면 "apt-get update"가 실제로 이러한 모든 패키지를 업데이트합니까? 그렇다면 /etc/apt/sources.list에 열거되어 있지 않다는 점을 고려하여 다른 모든 패키지를 업데이트하는 것을 어떻게 알 수 있습니까?

마지막으로, 프로그램 중 하나(예: git)에 대한 업데이트가 있는지 수동으로 확인하고 업데이트가 있으면 설치하려면 어떻게 해야 합니까?

답변1

 echo $PATH | perl -pe 's/:/\n/g' | xargs ls -1 | sort

경로에 설치된 모든 명령이 나열됩니다(저에게는 1,103이었습니다). 단일 애플리케이션에는 여러 명령이 있을 수 있으며 일부 명령은 기본적으로 경로에 없습니다.

apt list --installed

설치된(나의 경우 556개) 패키지가 나열됩니다. 단일 패키지에는 많은 애플리케이션이 있을 수도 있고, 라이브러리만 있고 애플리케이션이 없을 수도 있습니다.

apt list

기본 저장소에 설치 가능한 모든 패키지(나의 경우 52,254개)가 나열됩니다.

cat /etc/apt/sources.list && cat /etc/apt/sources.list.d/*.list

설치된 모든 저장소(나의 경우 16개)가 나열됩니다.

curl 'https://launchpad.net/ubuntu/+ppas?name_filter=&start=0' | grep -A 1 "<td><a"

모든(24,538)개의 개별 패키지 아카이브(리포지토리)가 나열(페이지 지정)되며 대부분은 c2 아키텍처에서 작동하지 않을 수 있습니다. 다른 곳에서 소프트웨어를 구하는 것도 가능하지만 저장소를 제공하지 않는 외부 소스에서 패키지를 설치하는 경우 apt는 패키지를 업데이트할 수 없습니다.

답변2

/etc/apt/sources.list목록패키지 소스, 즉 패키지를 다운로드하는 사이트입니다. 개별 패키지는 나열되지 않습니다.

Ubuntu 자체는 많은 소프트웨어를 배포합니다. 오픈 소스이고, 심각한 버그가 없으며, 적극적으로 유지관리된다면 괜찮습니다.자격 있는우분투의 경우(적어도"우주" 저장소, 가장 많은 재분배더반가방). (이것은 요구 사항은 아니지만 가장 일반적인 경우입니다.) 실제로 Ubuntu에 있을 수도 있고 아닐 수도 있습니다. 또 다른 기준은 패키지 작업에 자원 봉사자가 있어야 한다는 것입니다(패키지에 사소한 문제가 아닌 한). 핵심) Canonical은 이를 수행하기 위해 누군가에게 비용을 지불합니다. 유사한 패키지오쿠라그리고자식우분투(각각 유니버스와 메인)의 일부입니다. 따라서 해당 행은 sources.list가 있는 행 중 하나입니다 archive.ubuntu.com.

Ubuntu 패키지에 대한 정보를 온라인으로 얻을 수 있습니다http://packages.ubuntu.com/, 또는 귀하의 컴퓨터에서 사용쉬운소프트웨어 제품군. 설치 여부에 대한 정보를 얻으려면 실행하십시오. 설치되어 사용 가능한 패키지 버전의 요약을 보려면 실행하세요. 설명이 포함된 검색을 실행합니다.apt-cache show PACKAGEPACKAGEapt-cache policy PACKAGEapt-cache search FOOFOO

실행하면 apt-get update쿼리의 사용 가능한 패키지 목록에 대한 로컬 복사본이 업데이트됩니다 apt-cache. Ubuntu에는 이를 수행하는 루틴이 설정되어 있으므로 컴퓨터가 인터넷에 연결되어 있으면 컴퓨터가 거의 최신 버전을 갖게 됩니다(그러나 패키지를 설치하거나 업데이트하기 전에 수동으로 실행하는 것이 좋습니다). apt-get update컴퓨터에 설치된 소프트웨어는 수정되지 않습니다. 실행 apt-get upgrade(또는 변형 중 하나 XXX-upgrade)은 설치된 패키지를 패키지 목록의 로컬 복사본을 기반으로 최신 적격 버전으로 업그레이드합니다.

Ubuntu에서 출시된 버전은 원래 개발자의 최신 버전이 아닐 수 있습니다. Ubuntu는 소스에서 모든 프로그램을 컴파일하고(일부 비오픈 소스 프로그램 제외) 메인에 있는지 테스트하고(유니버스에 있으면 그렇지 않음) 6개월마다 버전을 릴리스하므로 일반적으로 3- 소프트웨어 9개월. 사용해 보지 않은 최신 버전의 프로그램이 거의 필요하지 않기 때문에 일반적으로 문제가 되지 않습니다. 보안 문제와 같은 중요한 버그는 릴리스 주기 외부에서 빠르게 업데이트됩니다(백포트됩니다. 즉, 수정 사항은 최신 버전을 즉시 릴리스하는 것이 아니라 이미 릴리스된 버전에 적용됩니다). 최신 버전을 절대적으로 원한다면 찾을 수 있습니다.암페타민(Ubuntu는 추가 패키지에 대한 소스를 유지하지 않으며 품질이 다양합니다.) 최신 버전을 사용해 보세요.데비안은 불안정하다, 또는 업스트림 소스 코드를 다시 컴파일하십시오. 하지만 다시 말하지만 대부분의 사람들에게는 필요하지 않습니다.

답변3

클래식 파일 외에도 다음 /etc/apt/sources.list에 설치된 파일도 읽습니다.

/etc/apt/sources.list.d/*

동일하게 작동하지만 파일이 여러 개 있으면 관리가 더 쉽습니다(자동 프로필 편집이 필요하지 않음).

관련 정보