Linux에서 어떤 패키지 관리자를 찾는 방법. Linux의 패키지 관리자. Debian 기반 패키지 관리자

친애하는 친구, 지인 및 기타 인물 여러분, 안녕하세요.

아마 당신도 알고 있고 기억하고 계시겠지만, 저는 (당신의 요청에 따라) 천천히 Linux 사이클을 다루면서 당신에게 다양한 기본 사항을 소개하고 이론에서 실습으로 매우 점진적으로 진행하겠다고 약속했습니다.

오늘 우리는 이론과 기본을 알아가는 주제를 계속할 것이므로 리포지토리 및 이와 관련된 모든 것에 대해 이야기하겠습니다. Linux 소프트웨어가 내부에서 어떻게 보이는지, 모든 것이 어떻게 저장되는지 등을 알아봅시다.

패키지 관리자가 관리하는 서로 의존성이 높은 이 거대한 패키지 더미가 바로 Linux 배포판을 구성하는 것입니다. 하지만 이것은 단순한 쓰레기 더미가 아니라 타담이라는 질서 정연한 시스템입니다! - 소프트웨어 패키지 저장소. 원이 닫혔습니다. 첫 번째 개념으로 돌아왔습니다. 저장소란 무엇입니까? :)

뉘앙스에 대한 몇 마디

마지막으로, Linux가 아무리 안정적이고 안정적이며 파괴 불가능하더라도 사용자는 여전히 어느 정도 주의를 기울여야 한다고 말하고 싶습니다. 예를 들어:

  1. 간단한 컴파일만으로 패키지 관리자를 우회하여 Linux에 프로그램을 설치하고 운명을 유혹할 필요가 없습니다. 패키지 관리자그들에 대해 아무것도 알지 못하기 때문에 시스템이나 프로그램을 업데이트할 때 생각보다 머리에 더 많은 문제가 발생할 위험이 있습니다. 프로그램을 패키지로만 설치하십시오.
  2. 매우 모호한 아이디어가 있는 저장소를 연결할 필요가 없습니다. 예를 들어, 테스트, 디버그 및 유사한 용어로 리포지토리를 연결할 필요가 없습니다. 이러한 리포지토리는 주로 배포판 개발자 자신을 위한 것이며 항상 안정적인 것은 아니기 때문입니다.
  3. 사용 가능한 모든 저장소를 연속적으로 연결하지 마십시오. 이는 잔인한 농담이 될 수도 있습니다. 꼭 필요한 것만 연결하세요. 욕심낼 필요 없어요 :)

예를 들어 설치할 때 운영 체제 Fedora에는 기본적으로 한 번에 두 개의 리포지토리가 연결되어 있습니다.

  • Fedora(CD 또는 DVD의 모든 조합에 맞는 패키지)
  • 업데이트(Fedora 저장소보다 최신으로 업데이트된 패키지)

정상적인 작동을 위해서는 추가 rpmfusion 저장소(정말로 그것 없이는 할 수 없음)를 연결해야 하며, 이를 통해 라이센스 제한으로 인해 배포에 포함될 수 없는 프로그램(예: mp3, dvd 등) 등 – 여기에는 ATI 및 NVIDIA용 독점 드라이버가 포함되며 게임: Bub's Brothers, Secret Maryo Chronicles, UFO: Alien Invasion, Wörms of Prey, xrick, GLtron그리고 아주 많은 다른 것; 에뮬레이터: Commodore 64 에뮬레이터, Commodore 8비트, Amiga 에뮬레이터, Nestopia, ZSNES 등). 이 저장소를 연결하려면 명령줄(터미널)에 슈퍼유저()로 다음 명령을 입력하세요.
$ sudo rpm -ivh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
$ sudo rpm -ivh https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

rpmfusion 저장소는 무료와 비자유의 두 부분으로 나누어져 있습니다. 첫 번째에는 GPL 및 호환 라이센스에 따라 배포되는 FSF 의미의 순수 무료 프로그램이 포함되어 있습니다. 이름과 달리 두 번째 콘텐츠도 대부분 무료 프로그램이지만 일부 주의 악명 높은 특허 제한(예: 오디오 및 비디오 코덱)이 적용됩니다.

Fedora의 패키지 관리자도 마찬가지입니다. 정상 및 편안한 일 Fedora의 패키지 관리자(yum)를 사용하려면 추가 플러그인인 fastmirror를 연결하는 것이 좋습니다. 이 플러그인은 매우 중요합니다. 다른 패키지 관리 시스템의 유사한 유틸리티처럼 가장 가까운 미러를 결정하는 것뿐만 아니라 가장 빠른 미러를 설치합니다. 이 순간– 응답 시간별.
$ sudo yum install yum-plugin-fastestmirror
한마디로 이렇습니다 :)

후문

나는 연습 없이는 이 모든 것을 즉석에서 인식하는 것이 매우 어렵다는 것을 이해하지만 할 일이 없습니다. 이것은 가장 기본적이고 기본적인 이론적 정보이며 모든 사용자가 아이디어를 갖기 위해 적어도 어느 정도 익숙해야 합니다. ​무엇이, 왜, 그리고 무작정 버튼을 누르거나 낯선 용어를 읽지 마세요.

다음 기사에서는 Linux에서 패키지를 설치하는 것이 정확히 무엇인지, 이 운영 체제가 어떻게 구성되어 있는지, 사용자(그리고 루트라고도 알려진 슈퍼유저가 누구인지)가 무엇을 의미하는지 살펴보고 프로그램에 대해서도 이야기하겠습니다. 그리고 다른 것. 우리와 함께 있어주세요.

언제나 그렇듯 질문이나 추가 사항 등이 있으시면 이 자료에 대한 댓글을 통해 알려주시면 감사하겠습니다.

추신 이 기사를 작성해 주신 Pantera 팀원에게 감사드립니다.

때로는 다음과 같은 질문이 발생할 수 있습니다. 이것은 누구의 파일입니까? 이 라이브러리는 어디서 왔습니까?? 편리한 패키지 관리자는 많은 OS 문제를 해결합니다. MP와 친구가 되면 배포 자체와도 친구가 된다고 해도 과언이 아니다. 또한 기본 명령 세트를 숙지하고 추가 정보를 어디서 찾을 수 있는지 아는 것이 중요합니다.


다음은 주요 Linux 배포판의 일상적인 루틴에 필요한 신사의 명령 세트입니다: 패키지 설치, 업데이트 및 제거, 업데이트 롤아웃, 종속성 확인, 파일이 패키지에 속하는지 확인 등.

데비안 및 관련

대중성과 친근한 이미지 리눅스 사용자배포 키트는 우분투에서 잔인한 농담을 했습니다. 일부 초보자들은 도움 없이도 원하는 것은 무엇이든 할 수 있다고 생각합니다. 명령줄. 이는 오해이므로 최대한 빨리 없애는 것이 좋습니다.


예제에 aptitude가 있다는 사실이 apt-get보다 더 정확하다는 의미는 아닙니다. 나에게 그것은 단지 습관의 문제일 뿐이다.


$ 적성 설치 패키지 #설치 패키지; $ 적성 안전 업그레이드 패키지 #업그레이드 패키지; $ 적성 업데이트 #업데이트 확인 및 설치; $ 적성 패키지 제거 #패키지 제거; $ aptitude purge package #전체 패키지, 모든 데이터 및 설정을 삭제합니다. $ apt-get dist-upgrade #upgrade OS, 킬러 기능이 작동합니다! $ 적성 검색 패키지 #패키지를 검색합니다. $ apt-cache는 패키지 #패키지 종속성에 따라 다릅니다. $ apt-cache rdependents 패키지 #역방향 패키지 종속성.

일부 기능은 선택 사항인 dpkg MP를 통해 사용할 수 있습니다.


$ dpkg -l #목록 설치된 프로그램; $ dpkg -L package #패키지 파일 목록

Linux의 다양한 패키지 관리자를 비교해 보겠습니다. 모든 Linux 배포판이 공유하는 것 중 하나는 시스템에 새로운 소프트웨어 패키지를 설치할 수 있어야 한다는 것입니다. 배포판에 따라 다양한 패키지 관리자가 제공되어 사용자가 쉽고 빠르게 패키지를 설치, 관리, 제거할 수 있습니다. 패키지 관리자는 공통 설치 위치 및 구성을 사용하여 설치를 최적화하는 데 매우 능숙합니다. 이 기사에서는 사용 가능한 다양한 패키지 관리자, 이를 사용할 수 있는 배포판, 각 패키지 관리자의 고유한 특징에 대해 설명합니다. 핵심 RedHat Enterprise Linux(RHEL) 패키지 관리자 및 기타 사용자 정의 패키지 관리자를 기반으로 하는 패키지 관리자를 다룹니다.

데비안 기반 패키지 관리자

Dpkg 패키지 관리자

우분투(Ubuntu)와 데비안(Debian)은 가장 널리 사용되는 소비자 운영 체제 중 하나로 간주됩니다. 리눅스 기반오늘 시장에서 구할 수 있습니다. 패키지 관리자는 일반적이며 가장 낮은 수준의 패키지 관리 시스템은 "Debian Package"의 약자인 "Dpkg"입니다. 패키지 설치, 제거 및 빌드를 위한 도구가 포함된 패키지 관리 소프트웨어 뼈대입니다.

Dpkg에는 고급 기능이 부족합니다. 기능성인터넷에서 패키지를 다운로드하거나 종속 항목을 자동으로 설치하는 등의 작업은 DPKG를 통해 불가능합니다. 인터넷에서 이 작업을 수행할 수 있으면 사용자가 패키지 저장소를 추가할 수 있어 시스템에 쉽게 설치할 수 있는 소프트웨어 선택이 크게 늘어나므로 매우 유용합니다. 또한 단 하나의 명령으로 패키지를 쉽게 찾고 설치할 수 있으므로 소프트웨어 설치 프로세스를 크게 단순화할 수 있습니다.

Pacman은 패키지 관리자입니다. 아치 리눅스. Pacman은 Arch에서 발견되는 유일한 패키지 관리 도구이므로 프런트엔드가 아닙니다. Arch Linux는 매일 업데이트가 추가되는 릴리스 운영 체제입니다. 패키지를 찾고, 설치하고, 제거하도록 설계된 pacman에는 몇 가지 명령만 있습니다. 이 패키지 관리자는 인터넷에 연결하여 패키지를 구매할 수 있으므로 더욱 사용자 친화적입니다. 그러나 팩맨은 Arch 저장소에서 소프트웨어를 설치하도록 설계되었으므로 타사 저장소에서 소프트웨어를 설치할 수 없습니다.

Arch Build System의 약자인 ABS는 Arch Linux용 설치 가능한 소프트웨어 패키지를 생성하도록 설계된 도구 시스템입니다. 소스 코드. 패키지를 만들기 위해 함께 작동하는 여러 도구로 구성됩니다. 이러한 도구는 모두 makepkg, pacman, asp 등과 같은 독립적인 프로그램입니다. ABS를 사용하여 패키지를 생성/설치하는 방법은 일반 Linux 배포판과 다릅니다. 미리 컴파일된 패키지를 설치하는 대신 asp 패키지를 사용하여 Svn 또는 Git 분기에서 PKGBUILD 파일을 생성해야 합니다. 여기에서 PKGBUILD 파일을 사용하여 시스템의 소스 코드를 다운로드하고 컴파일하는 makepkg 명령을 사용합니다. 이로 인해 ABS는 Arch Linux에 패키지를 설치하는 데 약간 덜 직관적인 방법이 됩니다. 기존 패키지를 사용자 정의하거나 자체 커널을 구축 및 설치하는 등 여러 가지 다른 용도로 사용됩니다.

패키지 설치 프로그램개별 패키지를 원자적으로 사용하여 작업 만들기(1단계): 많은 파일을 복사하고 여러 스크립트를 실행하는 대신 사용자는 단일 "패키지 설치/제거" 명령을 입력합니다. 그러나 사용자 관점에서 볼 때 시스템에 하나의 새 구성 요소를 추가하는 원자적 작업은 패키지에 대한 여러(또는 심지어 많은) 작업으로 구성될 수 있습니다. Methodius는 이미 만났습니다. 비슷한 경우, 자신의 경험을 통해 "의존성 체인" 개념을 배웁니다. 여기서 패키지 설치 프로그램은 사용자의 작업을 더 쉽게 만들 수 없습니다. 설치, 제거 및 업데이트 절차를 수행하려면 시스템 구성요소원자, 개발되었다 패키지 관리자. 패키지 관리자는 새 구성 요소(패키지)를 설치/제거하기 위해 수행해야 하는 개별 패키지의 전체 작업 복잡도를 계산하고 자체적으로 실행하는 프로그램입니다. 패키지 설치 프로그램필수 매개변수를 사용하여 필요한 만큼 반복합니다. 또한 패키지 관리자는 시스템에 이미 설치된 패키지에 대한 정보뿐만 아니라 미디어나 네트워크를 통해 설치할 수 있는 모든 패키지에 대한 정보도 저장합니다(자세한 내용은 패키지..배달 섹션 참조).

패키지 관리자 패키지 또는 패키지 그룹을 설치, 제거 또는 업데이트하고 필요한 모든 절차(원격 저장소에서 패키지 전달, 종속성 계산 및 필요한 패키지 설치, 대체된 패키지 제거 등)를 자동으로 수행하는 프로그램입니다.

가장 유명하고 대중적인 패키지 관리자는 APT( 고급의 패키지 으악). 원래는 Debian 배포판의 일부로 개발되었으며 dpkg 패키지 설치 프로그램에서만 작동했으며 이후 rpm에서 작동하는 다른 배포판용 버전이 개발되었습니다. Methodius 배포판도 APT를 사용합니다.

패키지를 설치하려면 먼저 해당 패키지의 존재 여부를 알아야 합니다. 각 Linux 배포판에는 수천, 심지어 수만 개의 패키지가 있으며 이를 탐색하는 것은 쉽지 않습니다. APT는 사용 가능한 패키지 중에서 필요한 것을 검색하는 기능을 제공하며 이를 위해 apt-cache 유틸리티가 사용됩니다. 각 패키지에는 간략한 요약(한 줄)과 패키지에 포함된 리소스에 대한 간단한 설명(몇 단락 이하)이 포함되어야 합니다. "apt-cache 검색" 명령으로 하위 문자열» APT는 이름, 주석 또는 설명에서 지정된 하위 문자열이 발견된 패키지 이름 및 주석 목록을 찾아 표시합니다.

# 적절한 캐시 검색 파이썬 | wc 146 1158 8994 # apt-cache 검색 파이썬 | grep "programming" python - 해석된 대화형 객체 지향 프로그래밍 언어

실시예 9. APT에서 패키지 검색

apt-get 유틸리티는 패키지를 설치 및 제거하도록 설계되었으며 설치 명령은 매우 간단합니다: “apt-get install 패키지_이름"이며 패키지의 버전과 위치에 대한 정보를 지정할 필요가 없습니다. APT 자체가 사용 가능한 최신 버전을 찾아서 설치합니다.

# apt-get install python 패키지 목록을 읽는 중... 완료됨 종속성 트리 구축 중... 완료됨 다음 추가 패키지설치됩니다: libpython libgdbm libgmp python-base python-modules python-modules-bsddb python-modules-compiler python-modules-curses python-modules-email python-modules-encodings python-modules-hotshot python-modules-logging python- 모듈 -xml python-strict 다음 새 패키지가 설치됩니다: libpython libgdbm libgmp python python-base python-modules python-modules-bsddb python-modules-compiler python-modules-curses python-modules-email python-modules-encodings python -modules- hotshot python-modules-logging python-modules-xml python-strict 0이 업데이트되고, 15개의 새로운 패키지가 설치되며, 0개의 패키지가 제거되고 0은 업데이트되지 않습니다. 0B/4466kB의 아카이브를 가져와야 합니다. 압축을 풀면 추가로 16.9MB의 디스크 공간이 필요합니다. 계속하다? y 수신: 1 cdrom://SomeLinux CD RPM/main libpython 2.3.3-some2 수신: 2 cdrom://SomeLinux CD RPM/main libgdbm 1.8.3-some3 수신: 3 cdrom://SomeLinux CD RPM/main libgmp 4.1.2-some3 . . . 수신: 14 cdrom://SomeLinux CD RPM/main python-base 2.3.3-some12 수신: 15 cdrom://SomeLinux CD RPM/main python 2.3.3-some12 0초(19.5MB/s)에서 4466kB를 수신했습니다. 변경 중... 준비 중... ###################################### 1: libpython #####################################[ 6%] 2: libgdbm ######################################## [ 13%] 3 : libgmp # ##################################### [ 20%] 4: 파이썬 -base # ####################################[26%] . . . 13: 파이썬 모듈 로깅 ######################################## # [ 86%] 완료되었습니다.

실시예 10. APT를 사용하여 패키지 설치

APT는 여러 단계로 설치 절차를 수행합니다. 먼저 사용 가능한 패키지 목록에서 요청한 패키지를 검색하여 찾은 다음 종속성을 충족하기 위해 어떤 패키지를 설치해야 하는지 계산한 다음 필요한 모든 패키지의 파일을 받습니다. (이 경우 APT는 CD-ROM ROM에서 필요한 패키지를 찾았습니다.) 패키지 설치 프로그램을 순차적으로 실행하여 필요한 모든 것을 설치합니다. 마찬가지로 패키지를 제거하려면 "apt-get Remove" 명령을 실행하세요. 패키지_이름 ».

APT 외에도 여러 다른 패키지 관리자가 있습니다. 이들 중 대부분은 Gentoo용 이머지나 SUSE용 yast와 같이 배포판별로 다릅니다. 그들의 임무와 능력은 APT와 거의 동일합니다.

무결성 관리

패키지 관리자는 패키지의 종속성 체인을 서로 구축할 수 있으므로 항상 시스템에 설치된 패키지에 대한 모든 종속성이 충족되는지 확인하는 데 사용할 수 있습니다. 종속성이 충족되지 않은 패키지가 없는 시스템을 호출합니다. 총체적인. 무결성이 손상되면 시스템에 설치된 소프트웨어의 일부가 단순히 작동할 수 없거나 올바르게 작동하지 않는다는 의미입니다.

패키지의 일부 또는 전체 시스템을 설치, 제거 또는 업데이트하는 경우와 같이 구성이 일부 변경되는 경우 시스템 무결성이 위반될 수 있습니다. 이러한 모든 작업에 패키지 관리자를 사용하는 경우 시스템 무결성이 손상되어서는 안 됩니다. 때로는 패키지 관리자라도 모든 종속성을 충족하고 충돌을 해결하기 위한 올바른 솔루션을 찾는 것이 어려울 수 있습니다.

패키지 관리자를 사용하면 종속성 메커니즘이 인간에게 도움이 되도록 전환될 수 있습니다. 따라서 종속성만 포함하고 리소스는 포함하지 않는 패키지를 만들 수 있습니다. 이러한 패키지를 호출합니다. 가상. 이는 사용자가 작업을 수행하기 위해 전체 환경을 더 쉽게 설치할 수 있도록 하려는 경우에 유용합니다. 이에 필요한 패키지는 서로 직접적으로 의존하지 않을 수 있지만 한 단계로 모두 설치하려면 사용자는 가상 패키지 하나만 설치하면 됩니다. 이러한 가상 패키지는 예제에서 Python 패키지 자체로 밝혀졌고 또 다른 패키지인 python-strict로 나타났습니다.

# rpm -ql python(파일 없음) # rpm -ql python-strict(파일 없음)

실시예 11. 가상 패키지에 파일이 포함되어 있지 않습니다.

이것이 apt가 15개의 패키지(가상 패키지 2개 포함)를 "수신"했지만 13개에 대해서만 "변경"한 이유입니다.

배달

패키지 설치 프로그램이 해결하지 못하는 중요한 작업은 후속 설치를 위해 패키지 파일을 시스템에 전달하는 것입니다. 패키지 아카이브는 일반적으로 시스템 자체에 저장되지 않습니다. 패키지 아카이브가 너무 크고(패키지 수천 개) 정기적으로 업데이트해야 합니다(소프트웨어 업데이트, 즉 패키지의 새 버전 출시). 따라서 설치하려면 일반적으로 먼저 해당 파일이 저장된 미디어에서 필요한 파일을 복사해야 합니다. 설치 디스크배포 키트 또는 인터넷 저장 공간).

APT가 패키지와 함께 작동하려면 특별한 규칙에 따라 구성된 저장소에 패키지가 포함되어 있어야 합니다. 저장소. 사용 가능 목록 APT 저장소/etc/apt/sources.list 파일에 저장되며, 각 저장소마다 액세스 방법(예: “cdrom:”, “ftp:”, “file:” 등)과 주소가 표시됩니다.

Rpm cdrom:/ RPM contrib 메인 rpm ftp://updates.somelinux.com 2.4/i586 업데이트

실시예 12. 소스.목록 파일

/etc/apt/sources.list 파일을 변경할 때마다 apt-get update 명령을 사용하여 사용 가능한 패키지에 대한 정보를 저장하는 APT 캐시를 업데이트해야 합니다. CD에서 사용 가능한 패키지에 대한 정보를 캐시에 추가하려면 source.list를 수동으로 편집하는 대신 "apt-cdrom add" 명령을 사용해야 합니다.

APT를 사용하면 패키지를 설치하지 않고도 시스템에 패키지를 전달할 수 있습니다. 예를 들어 이것은 항상 다음과 같은 경우에 발생합니다. 소스 패키지, "apt-get source" 명령을 사용하여 저장소에서 시스템의 특정 디렉터리로 간단히 복사됩니다. 패키지_이름 ».

업데이트

Linux 세계의 소프트웨어는 지속적으로 업데이트됩니다. 오류가 수정되고 기능이 확장됩니다. 각 배포판의 개발자는 새 버전의 프로그램이 출시됨에 따라 해당 패키지의 새 버전을 준비하여 해당 패키지에서 사용할 수 있도록 합니다. 저장소(소프트웨어의 최신 상태를 반영하는 저장소는 인터넷을 통해 이용 가능합니다.) 새로운 버전의 프로그램은 시스템과 새로운 기능의 안정성이 향상됨을 의미하므로 사용자가 소프트웨어 업데이트를 최신 상태로 유지하는 것이 합리적입니다.

패키지 관리자를 통해 다음을 수행할 수 있습니다. 포괄적인 업데이트전체 시스템. APT에서는 "apt-get dist-upgrade"라는 하나의 명령으로 이 절차를 수행할 수 있습니다. 이 절차에서는 먼저 사용 가능한 모든 리포지토리의 내용을 검사하고 시스템에 설치된 해당 패키지보다 최신 버전인 모든 패키지를 찾습니다. 그런 다음 업데이트 범위가 계산됩니다. 상호 종속적인 오래된 패키지의 관련 영역을 제거하고 최신 버전의 해당 영역으로 교체해야 합니다. 패키지 간 리소스 배포가 변경된 경우 복잡한 상황이 발생할 수 있습니다. 즉, 패키지가 분할되거나 병합되었습니다. 이 경우 수동 사용자 개입이 필요할 수 있습니다. 정기적으로 수행해야 하는 시스템 업데이트의 종류 반드시보안 업데이트입니다. 전체 시스템의 보안을 위협하는 프로그램에서 심각한 오류가 발견되고 수정되면 배포 개발자는 일반적으로 적절한 업데이트가 사용자에게 도달하는지 확인합니다. 일반적으로 보안 관련 업데이트를 위한 별도의 저장소가 있습니다.

편리함의 가격

패키지 관리자의 편의를 희생하는 비용은 특별하고 전체적인 소스 영역에서만 성공적으로 작업할 수 있다는 것입니다( 패키지 저장소). 대부분의 사용자에게는 이 제한이 그다지 중요하지 않지만 패키지 관리자를 사용하는 배포판에는 일반적으로 상상할 수 있는 소프트웨어를 찾을 수 있는 거대한 패키지 저장소가 있습니다. 만약에 원하는 프로그램결국, 배포 키트는 공식 저장소에 없으며 일반적으로 공식 저장소에 포함되지 않은 패키지를 포함하여 인터넷에 "비공개" 저장소가 있습니다.

그럼에도 불구하고 배포용으로 특별히 컴파일된 곳에서 필요한 패키지를 찾을 수 없는 경우 타사 패키지를 설치할 수 있지만 이는 패키지 설치 프로그램을 통해서만 수행할 수 있습니다. 이 상황에서는 패키지 관리자가 쓸모가 없습니다. 소스 코드에서 직접 컴파일하여 프로그램을 설치할 수 있지만 여기서는 다음 사항을 염두에 둘 가치가 있습니다.

작가 프로그램들모든 배포의 모든 미묘함을 고려할 의무는 전혀 없습니다. 따라서 한편으로는 (아무도 더 이상 추적할 수 없는) 시스템의 파일과 직접적인 충돌이 가능하고 다른 한편으로는 숨겨진 충돌 및 모순(예를 들어, 프로그램은 / usr/local 디렉토리의 하위 디렉토리에 설치되어 있으며 모든 것을 기대합니다) 나머지프로그램도 이 디렉토리에 있습니다). 이는 프로그램을 컴파일하는 방법과 매개변수, 시스템에 설치하는 방법, 충돌을 피하는 방법을 스스로 파악해야 함을 의미합니다. 그렇다면 아직 배포 키트에는 없지만 귀하와 다른 사람에게 필요한 프로그램을 시스템에 올바르게 조립하고 설치할 수 있다면 가장 정확한 것은 그것을 만드는 것입니다 비닐 봉투, 에 의해 적어도 소스 패키지, 문제가 해결되면 바이너리. 이렇게 하면 이 프로그램을 다시 컴파일하고 설치할 때(다른 컴퓨터에 또는 프로그램 자체의 버전을 업데이트할 때) 생활이 훨씬 쉬워질 것입니다. 그리고 가장 중요한 것은 전체 사용자 커뮤니티에당신의 배포!

마지막으로, 많은 최신 배포판에는 바이너리 패키지를 구축하는 데 도움이 되는 도구가 포함되어 있습니다. 이러한 도구(예: ALT Linux의 해시 패키지)를 사용하면 주어진 패키지 세트만 포함된 "범용 환경"에서 프로그램을 컴파일할 수 있을 뿐만 아니라 자동으로 종속성을 구축하고 올바른 설치를 확인하고 충돌을 모니터링할 수 있습니다. 간단히 말해서, 이러한 도구를 사용하여 패키지를 구축하면 배포판에서 해당 패키지의 관리자라고 진지하게 주장할 수 있습니다. 반대로, 샤머니즘과 수작업을 이용하여 교활하게 프로그램을 컴파일함으로써 자신의 운영 체제의 성장과 개선에 관심이 없는 게으른 사람이자 이기주의자임을 드러낼 것입니다.

때로는 다음과 같은 질문이 발생할 수 있습니다. 이것은 누구의 파일입니까? 이 라이브러리는 어디서 왔습니까?? 편리한 패키지 관리자는 많은 OS 문제를 해결합니다. MP와 친구가 되면 배포 자체와도 친구가 된다고 해도 과언이 아니다. 또한 기본 명령 세트를 숙지하고 추가 정보를 어디서 찾을 수 있는지 아는 것이 중요합니다.


다음은 주요 Linux 배포판의 일상적인 루틴에 필요한 신사의 명령 세트입니다: 패키지 설치, 업데이트 및 제거, 업데이트 롤아웃, 종속성 확인, 파일이 패키지에 속하는지 확인 등.

데비안 및 관련

대중성과 사용자 친화적인 이미지 리눅스 배포판우분투에서 잔인한 농담을 했습니다. 일부 초보자는 명령줄을 사용하지 않고도 무엇이든 할 수 있다고 생각합니다. 이는 오해이므로 최대한 빨리 없애는 것이 좋습니다.


예제에 aptitude가 있다는 사실이 apt-get보다 더 정확하다는 의미는 아닙니다. 나에게 그것은 단지 습관의 문제일 뿐이다.


$ 적성 설치 패키지 #설치 패키지; $ 적성 안전 업그레이드 패키지 #업그레이드 패키지; $ 적성 업데이트 #업데이트 확인 및 설치; $ 적성 패키지 제거 #패키지 제거; $ aptitude purge package #전체 패키지, 모든 데이터 및 설정을 삭제합니다. $ apt-get dist-upgrade #upgrade OS, 킬러 기능이 작동합니다! $ 적성 검색 패키지 #패키지를 검색합니다. $ apt-cache는 패키지 #패키지 종속성에 따라 다릅니다. $ apt-cache rdependents 패키지 #역방향 패키지 종속성.

일부 기능은 선택 사항인 dpkg MP를 통해 사용할 수 있습니다.


$ dpkg -l #설치된 프로그램 목록; $ dpkg -L package #패키지 파일 목록