APT(Advanced Packaging Tool)은 리눅스계열 OS에서 소프트웨어를 설치하고 제거하는 일을 한다. 이진파일이나 소스코드 컴파일을 통해서 패키지의 확인, 구성, 설치를 자동화하여 소프트웨어 관리작업을 단순하게 한다. (출처 참고) APT으로 젠킨스를 설치해보자.
작업 환경 : Ubuntu 18.04
1. 패키지의 삭제 없이 버전을 모두 업그레이드
$ apt update
또는
$ apt upgrade
패키지의 재설치 또는 삭제를 요구하는 업그레이드를 실행하려면 dist-upgrade를 쓴다.
$ apt search default-jdk
Sorting... Done
Full Text Search... Done
default-jdk/bionic-updates,bionic-security 2:1.11-68ubuntu1~18.04.1 amd64
Standard Java or Java compatible Development Kit
default-jdk-doc/bionic-updates,bionic-security 2:1.11-68ubuntu1~18.04.1 amd64
Standard Java or Java compatible Development Kit (documentation)
default-jdk-headless/bionic-updates,bionic-security 2:1.11-68ubuntu1~18.04.1 amd64
Standard Java or Java compatible Development Kit (headless)
$ apt install -y default-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
Adding debian:DigiCert_Assured_ID_Root_G2.pem
Adding debian:OpenTrust_Root_CA_G1.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem
...
설치한 JDK버전은 java --version으로 확인 가능하다.
$ java -version
openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.118.04)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.118.04, mixed mode, sharing)
다운로드한 파일이 있는 디렉토리로 이동하여 설치를 실행한다. APT는 로컬에 다운로드한 debian 파일로도 패키지를 설치할 수 있다.
$ sudo apt install ./jenkins_2.204.1_all.deb
또는 dpkg로도 설치 가능하다.
$ dpkg -i jenkins_2.204.1_all.deb
만약 설치 도중에 아래와 같은 에러메세지와 함께 중단되면 --fix-broken 또는 -f 옵션으로 설치되지 않은 젠킨스의 의존성 패키지를 추가로 설치한다. 아래 메세지는 dpkg로 설치했을 때 발생한다. (When dpkg installs a package and a package dependency is not satisfied, it leaves the package in an "unconfigured" state and that package is considered broken. dpkg와 APT의 차이점은 여기를 참고.)
dpkg: dependency problems prevent configuration of jenkins:
jenkins depends on daemon; however:
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
jenkins : Depends: daemon but it is not installed