Linux의 패키지, 리포지토리 및 설치 프로세스

Linux의 패키지, 리포지토리 및 설치 프로세스

Linux(예: Ubuntu)에 프로그램을 설치하는 방법에 대한 많은 기사를 인터넷에서 읽었지만 여전히 혼란스럽습니다!

내가 지금까지 이해한 것은 다음과 같습니다.

  1. 먼저 원하는 패키지가 포함된 저장소를 추가해야 합니다. 우분투에서는 /etc/apt/sources.list파일에서 관련 줄의 주석 처리를 제거하여 이를 수행합니다.

  2. 그런 다음 를 실행하여 저장소의 패키지 목록을 업데이트해야 합니다 apt-get update.

  3. 마지막으로 apt install.

…하지만 아직도 이해가 안 돼요!

  1. 저장소의 주석 처리를 해제하면 sources.list운영 체제에 "이 저장소를 내 컴퓨터에 다운로드하세요"라고 알리는 것인가요? 저장소를 다운로드해야 합니까? 그렇지 않은 경우 source.list에서 한 줄의 주석 처리를 제거하면 어떻게 되나요?

  2. 정확히 무엇을 하는가 apt-get update? 내가 읽은 대로:

     apt-get update downloads the package lists from the repositories and
    "updates" them to get information on the newest versions of packages
     and their dependencies.
    

이것이 정확히 무엇을 의미하나요? 일부 패키지가 포함된 저장소가 있습니다. 이는 일부 저장소가 오래되었을 수 있음을 의미합니까? 그렇다면 왜 그들은 항상 최신 상태이고 누구도 그렇게 할 필요가 없는 서버의 저장소를 업데이트하지 않는 걸까요 apt-get update?

답변1

저장소의 주석 처리를 해제하면 sources.list운영 체제에 "이 저장소를 내 컴퓨터에 다운로드하세요"라고 알리는 것인가요?

아니요.

저장소를 다운로드해야 합니까?

일반적으로 그렇지 않습니다. 잠재적으로 수백 기가바이트의 데이터를 다운로드하려는 경우가 아니라면.

그렇지 않은 경우 source.list에서 한 줄의 주석 처리를 제거하면 어떻게 되나요?

아무것도 아님,하지만.

일부 패키지가 포함된 저장소가 있습니다. 이는 일부 저장소가 오래되었을 수 있음을 의미합니까?

예, 저장소는 시대에 뒤떨어질 수 있지만 여기서는 이에 대해 논의하지 않습니다.

그렇다면 항상 최신 상태이고 누구도 apt-get 업데이트를 수행할 필요가 없는 서버의 저장소를 업데이트하지 않는 이유는 무엇입니까?

그러나 그것은 진실이 아니다. 무슨 일이 일어나는가?

  1. 저장소에 패키지가 포함되어 있는 것은 사실이지만 패키지 이름, 버전, 패키지 종속성, 패키지에 포함된 파일 목록, 패키지 해시 등 해당 패키지에 대한 정보(메타데이터)도 포함되어 있습니다.
  2. apt-get update이 메타데이터를 다운로드하세요.
  3. apt-get install그런 다음 upgrade패키지를 설치하라고 지시하면 이 메타데이터를 사용합니다. 사용 가능한 버전을 확인하고, 다른 패키지를 종속성으로 설치해야 하는지 등을 확인합니다.
  4. 저장소가 업데이트되면 메타데이터가 다음과 같이 업데이트됩니다.그러나 이전에 다운로드한 로컬 복사본은. 이는 자연스러운 일입니다. 메타데이터 복사본이 오래된 것인지 확인하기 위해 PC가 서버를 지속적으로 확인하는 것을 원하지 않을 것입니다.
  5. 이제 다음에 패키지를 설치해야 할 때 시스템의 메타데이터가 오래되어 올바른 작업을 파악할 수 없기 때문에 문제가 발생할 수 있습니다.
  6. apt-get update그런 다음 이 메타데이터를 업데이트하려면 실행해야 합니다 .
  7. 내가 말했듯이, 소스 라인의 주석 처리를 제거하면 아무 일도 일어나지 않습니다. 다음에 실행될 때 apt-get update이 소스에서 메타데이터도 다운로드됩니다. 다음에 패키지를 설치, 업그레이드 또는 제거할 때 apt는 문제를 해결할 때 추가 메타데이터를 고려합니다.

이것이 apt가 작동하는 방식입니다. 반면 Yum은 업데이트된 메타데이터를 확인하고 패키지를 추가, 제거 또는 업그레이드할 때 이를 다운로드합니다. 두 방법 모두 장점과 단점이 있습니다.

답변2

긴 이야기 짧게

Windows를 사용하는 경우 Windows에서는 어디에서나 소프트웨어를 다운로드하고 설치할 수 있기 때문에 약간 혼란스러울 수 있습니다. 이것은 Linux에서도 가능하지만 최후의 수단으로만 가능합니다! (자세한 내용은 긴 버전을 읽어보세요)

귀하의 질문에 대한 짧은 답변은 다음과 같습니다.

  1. 저장소를 "주석 해제"하여 사용할 수 있게 만드세요. 이미 혼란스러우시겠지만,어떤 저장소도 주석 처리를 해제하지 마세요구체적으로 지시하는 신뢰할 수 있는 출처를 찾지 않는 한 특정 소프트웨어를 설치하십시오. (다시 말하지만 긴 버전을 읽어보세요)

  2. PPA의 주석을 제거하거나 추가하여 소프트웨어 소스를 추가한 후(다시 말하지만, 긴 버전을 읽으십시오), "종속성 지옥"으로 알려진 상황에 빠지지 않도록 사용 가능한 소프트웨어의 로컬 목록을 업데이트해야 합니다.

따라서 Ubuntu에 소프트웨어를 설치할 때 다음 지침을 따르십시오.

긴 버전:

16.04 이상: 다음 Ubuntu Software Center으로 이름이 변경됨Ubuntu Software

(다른 것들은 모두 동일하게 유지됩니다)

기억해야 할 가장 중요한 점은 언젠가는 설치한 이 소프트웨어를 제거해야 한다는 것입니다.항상 설치 방법과 동일한 제거 방법을 사용하십시오.

따라서 Ubuntu에 소프트웨어를 설치할 때 다음 우선순위를 사용하십시오.

  1. 여기저기에 있는 웹사이트에서 다운로드하고 설치하는 것을 잊어버리고 Ubuntu에서 소프트웨어를 설치하는 방법에 대한 다음 우선 순위 목록을 사용하세요. 이제 안정적인 시스템을 보유하고 있고 유지하고 싶기 때문입니다.
  2. 초보자의 경우: Ubuntu 사용 후 처음 3개월, 최대 1년
    표준 Ubuntu 저장소에서 설치/제거하려면 다음 명령을 사용하십시오.GUI우분투 소프트웨어(가운데).

    아래 스크린샷에 따라 왼쪽 상단 모서리에 있는 대시를 클릭하고 를 입력한 후 (가운데)를 software클릭합니다 .Ubuntu Software

    우분투 소프트웨어 센터 열기

    Ubuntu 소프트웨어(중앙)가 열립니다:

    우분투 소프트웨어 센터 시작

    왼쪽에는 선택할 수 있는 수많은 앱 카테고리가 있습니다. 또는 오른쪽 상단에 있는 검색창에 소프트웨어 이름을 입력하세요(우리가 사용할 소프트웨어 이름입니다).

    쓰레기

    나도 너만큼 놀랐지만우분투에는 정크웨어가 있습니다. :-)원하는 정크 파일을 클릭하고 "설치"를 누른 후 잠시 기다리면 작업이 완료됩니다!

    소프트웨어를 제거하려면 이 방법을 사용하십시오., 두 번째 스크린샷에서 "설치됨" 버튼을 클릭하고 제거하려는 정크를 클릭한 다음 "제거" 버튼을 클릭하세요! 매우 간단합니다.

    소프트웨어가 존재하지 않는 경우 다른 곳에서 다운로드하지 말고 아래의 고급 기능 중 일부를 사용하여 설치하십시오!당신은 초보자입니다!

  3. (중급 사용자, 경력 6개월~1년)
    사용TUI~의aptitude
    Ctrl+ Alt+를 눌러 T터미널로 이동하여 다음을 입력하세요.

    sudo aptitude
    

    그리고 누르세요Enter

    그것을 얻으면 aptitude: command not found다음을 입력하십시오 :

    sudo apt install aptitude
    

    적성을 설치하고 아무 일도 일어나지 않을 때까지 기다리십시오.그 다음에유형:

    sudo aptitude
    

    시작하세요.

    화면 캡처 기능

    이것은 여전히 ​​다소 익숙합니다.마우스 사용 가능, 하지만 월드와이드웹이 발명되기 전인 1988년으로 돌아간 것과 같습니다. 이제 첫 번째 장애물이 옵니다.실시간 FM다음을 입력하여 자격을 얻으세요:

    man aptitude 
    

    이건 매우 중요합니다! aptitude더 발전된 작업을 수행할 수 있으며,하지만 그는 당신의 등을 찌르는 하인입니다!

  4. 이제 좀 더 고급 내용을 살펴보겠습니다.(이 사이트에서 평판이 5000 이상 + 골드 배지가 하나 이상인 지식이 풍부한 사람의 지도 하에서만 사용됩니다)

    Ctrl+ Alt+를 누르고 T다음을 입력합니다.

    • apt install szPackageName설치하다
    • apt purge szPackageName도착하다완전히제거하다
    • apt remove szPackageName이 애플리케이션을 삭제하려면,유지하다해당 구성 파일. (의미: 당신나중에 다시 설치해야 할 수도 있습니다.그리고 당신은 그 망할 일을 구성하는 데 몇 시간을 보냈고 구성을 잃고 싶지 않습니다! )
  5. 정말 고급스러운 것들:(신의 인도 하에서만 사용됩니다. 즉: >10000 평판 + 이 사이트의 금배지 일부를 보유한 지식이 풍부한 사람)

    ㅏ. .deb 파일 다운로드 및 설치: dpkg --install szPackageName및를 사용 dpkg --purge szPackageName하여 dpkg --remove szPackageName구성 파일 없이 설치, 완전히 제거 및 제거합니다.

    b. PPA를 설치합니다. 지침을 명확하게 따르십시오. 문제가 발생하면 오류를 복사하여 붙여넣으세요.이 사이트에 질문을 해보세요, 팔로우 중인 질문과 답변에 대한 링크를 삽입하고 Immortals에 다시 보고하세요! ;-)

  6. "소스에서 다운로드하고 빌드하세요!!!"

    개발자가 이런 말을 했을 수도 있지만 그는 문제 없이 안정적인 시스템을 설치하고 유지하는 방법에 대해 아무것도 모릅니다., 하지만 있습니다지구상에서 가장 멋진 것!
    관점에 따라 사랑으로 받아들이거나 전염병처럼 피하세요.

    그래서소스에서 다운로드하여 빌드하는 경우, 사용CheckInstallmake install나중에 소프트웨어를 쉽게 제거할 수 있도록 하는 것 보다이 예처럼 개발자가 뭐라고 말하든 상관 없습니다!

원천

관련 정보