자신만의 deb 패키지를 만들고 설치하는 간단한 튜토리얼입니다.
Debian, Ubuntu 또는 Debian 기반 OS 외에는 아무것도 없습니다.
Mypackage 앱을 실행하면 Ubuntu의 공식 웹사이트가 열립니다.
mypackage_1.0_all
폴더의 명명법: package-name_version_architecture
.
패키지 이름 : mypackage
버전 : 1.0
아키텍처: 지원되는 아키텍처의 all
또는 일부일 수 있습니다.
원시 패키지 아키텍처:
. └── mypackage_1.0_all # 패키지 메인 폴더 ├── 데비안 │ ├── 제어 # 패키지의 주요 정보가 포함된 파일 │ ├── postinst # 설치 후 실행되는 스크립트 │ └── preinst # 설치 전 실행되는 스크립트 ├── 선택 │ └── mypackage # 당사 소프트웨어가 포함된 폴더 │ └── open_link.sh # ubuntu.com 브라우저를 여는 스크립트 └── usr └── 공유 ├── 애플리케이션 │ └── mypackage.desktop # 런처에 앱 정보가 포함된 파일 └── 아이콘 └── mypackage.xpm # 런처 앱 아이콘
DEBIAN/control
파일에 대한 추가 정보:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
sudo 없이 deb 아카이브를 설치하는 방법이 있지만 대부분의 deb 패키지는 시스템 전체에 설치되도록 설계되었습니다. 이는 preinst 및 postinst 스크립트 또는 아카이브에 포함된 기타 바이너리가 시스템에 대한 제한 없이 실행될 수 있음을 의미합니다(대안은 Snap 패키지 참조). 스크립트를 세 번 확인하고 공유할 때 다른 사람의 컴퓨터가 손상되지 않도록 주의하세요.
짓다
dpkg-deb --build ./mypackage_1.0_all
설치하다
sudo gdebi -n ./mypackage_1.0_all.deb # 테스트(gdebi-core 필요)sudo dpkg -i ./mypackage_1.0_all.deb # 설치
참고
sudo apt autoremove mypackage
사용하여 제거
런처에 Mypackage가 표시되어야 합니다.
첫 번째 옵션이 가장 쉽습니다. 패키지를 로컬에 설치할 수 있습니다.
저장소가 위치할 폴더를 만들고 .deb
패키지를 그 안으로 옮깁니다.
mkdir -p ./미러/풀 cp ./mypackage_1.0_all.deb ./mirror/pool/
Packages
색인 파일 만들기
CD ./미러 dpkg-scanpackages -m ./pool > 패키지
시스템 소스에 디렉토리를 추가하세요.
echo "deb [trusted=yes] 파일:/path/to/repository/mirror /" | sudo 티 /etc/apt/sources.list.d/mypackage.list
패키지 정의를 업데이트하고 설치하세요.
sudo 적절한 업데이트 sudo apt 설치 mypackage
그런 다음 로컬에 설치된 리포지토리를 사용자 컴퓨터의 간단한 Apache 서버에서 제공할 수 있습니다.
에서 호스팅되는 개인 패키지 아카이브(PPA)를 생성한 후 간단한 add-apt-repository ppa:<repository_name>
명령을 통해 모든 사람이 액세스할 수 있습니다.
패키지를 Ubuntu의 유니버스/다중 우주 저장소에 게시하려면 MOTU의 승인을 받아야 하므로 까다로울 수 있습니다. 메인에 게시하고 싶으신가요? 이는 보안 및 유지 관리 기준에 대한 약속을 포함하여 충족해야 할 조건이 많습니다.
META 패키지는 종속성 목록만 설치하는 패키지입니다.
이것이 하나의 패키지를 통해 전체 데스크탑을 설치할 수 있는 방법입니다.
APT는 데비안과 그 파생물(우분투 포함)에서 사용되는 전통적인 패키지 관리 시스템입니다. 1998년에 데뷔했으며 .deb
패키지를 사용합니다.
2014년 Canonical에서 출시한 Snap은 다양한 Linux 배포판에 더 쉽게 패키지를 배포할 수 있도록 설계된 최신 패키지 관리자입니다. 각 .snap
패키지 내에 종속성을 번들로 묶어 패키지 크기를 늘리지만 "종속성 지옥"을 완화합니다. 이는 특히 오프라인 시스템에서 유용합니다.
주요 차이점은 스냅 패키지가 배포 간 호환성과 자체 포함, 패키지 샌드박싱을 통한 잠재적으로 더 나은 보안 및 자동 업데이트에 중점을 둔다는 것입니다. 반면에 APT는 시스템 전체 라이브러리에 의존하므로 패키지를 더 작게 만들지만 종속성 문제를 일으킬 수 있습니다.