[Linux/Ubuntu 16.04 LTS] deb 설치 안 됨, Ubuntu Software Pending

Minjeong Park·2021년 7월 22일
0

Linux/Ubuntu-16.04

목록 보기
3/6

🤔 무엇이 문제인가


deb 파일을 다운로드 받고, 더블클릭 해서 Ubuntu Software에서 다운로드 받으려고 했는데 다음과 같은 문제가 생겼다.

다음과 같이 계속 Pending만 뜨고 다운로드가 진행되지 않았다. 다른 deb 파일도 마찬가지..

⛏ 해결방법

1. sudo apt install을 사용해라.

sudo apt install <package_name.deb>
sudo apt get update

다음 커맨드를 입력해서 해결하라는 방법이 첫번째였다.
나 같은 경우 sudo apt install anydesk_6.1.1-1_amd64.deb 를 입력하면 된다.
하지만 다음과 같은 오류가 떴다.

user@user-desktop:~/Downloads$ sudo apt install anydesk_6.1.1-1_amd64.deb
[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package anydesk_6.1.1-1_amd64.deb
E: Couldn't find any package by glob 'anydesk_6.1.1-1_amd64.deb'
E: Couldn't find any package by regex 'anydesk_6.1.1-1_amd64.deb'

대충 package를 못찾겠다는 뜻.. 있는데 왜 못찾아 다른 방법을 모색해보자.

2. GDebi 패키지를 설치해서 dpkg를 사용해라.

이제부터 계속 root로 실행해야 할 것 같아서 sudo -sroot로 들어왔다.
root모드로 전환하는 방법은 아래와 같다.

user@user-desktop:~/Downloads$ sudo -s
root@user-desktop:~/Downloads#

user에서 root로 바뀐 것을 확인할 수 있다.
이제 진행해보자. 방법은 아래와 같다.

1. GDebi 패키지를 설치한다.

다음 명령어를 입력해준다.

apt-get install gdebi

순조롭게 됐으면 이 글을 쓰지 않았겠지.. 다음과 같은 오류가 뜬다.

root@user-desktop:~/Downloads# apt-get install gdebi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package gdebi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

대충 gdebi 못쓴다는 뜻.. 근데 package가 이러이러한 문제가 있을 수 있다고 얘기해주고 있다.
해결법을 찾아보니 /etc/apt/sources.list에 추가해주면 된다고 한다.
vi 편집기로 열어서 append 해주자. 아래와 같이 커맨드를 입력한다.

vi /etc/apt/sources.list

그럼 아마도 다음과 같이 쓰여져 있을 것이다.

다르게 쓰여있는데 이걸 따로 셋팅한 적이 없다면 이걸로 바꿔주도록 하자. 이걸로 바꾸는 게 여러모로 좋다. 아래를 복붙하면 된다.

혹시 vi 편집기를 쓴 적이 없어 사용법을 모른다면 따로 찾아보도록 하자!
일단 지금은i를 눌러 insert 모드로 바꾸고, 아래 코드를 복사한다.

deb http://mirror.kakao.com/ubuntu xenial main restricted
deb-src http://mirror.kakao.com/ubuntu xenial main restricted

deb http://mirror.kakao.com/ubuntu xenial-security main restricted
deb-src http://mirror.kakao.com/ubuntu xenial-security main restricted

deb http://mirror.kakao.com/ubuntu xenial-updates main restricted
deb-src http://mirror.kakao.com/ubuntu xenial-updates main restricted

terminal로 와서 shift+insert로 붙여넣기를 한다. 됐다면,

그 밑에 이걸 덧붙여준다.

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

esc를 눌러서 insert모드에서 나오자. 최종적으로 이렇게 되는 거다.

:wq를 눌러 저장하고 나온다.
그리고 apt-get updateupdate를 해주고, 다시 설치한다.

$ apt-get update
$ apt-get install gdebi

그럼 또 새로운 오류가 뜰 것이다..

root@user-desktop:~/Downloads# apt-get install gdebi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gdebi : Depends: gdebi-core (= 0.9.5.3ubuntu3) but 0.9.5.7ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

대충 gdebi-core가 필요한데 없다는 거니까 gdebi-core를 설치해주자.

2. gdebi-core 설치

$ apt install gdebi-core
$ apt update
$ apt upgrade

install을 하면 이렇게 나온다.

root@user-desktop:~/Downloads# sudo apt install gdebi-core
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  gdebi-core
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 9,716 B of archives.
After this operation, 135 kB of additional disk space will be used.
Get:1 http://mirror.kakao.com/ubuntu xenial/main amd64 gdebi-core all 0.9.5.7ubuntu1 [9,716 B]
Fetched 9,716 B in 0s (101 kB/s)       
Selecting previously unselected package gdebi-core.
(Reading database ... 282356 files and directories currently installed.)
Preparing to unpack .../gdebi-core_0.9.5.7ubuntu1_all.deb ...
Unpacking gdebi-core (0.9.5.7ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up gdebi-core (0.9.5.7ubuntu1) ...

뭔가 된 것 같다..!😂

3. 이제 dpkg로 설치!

얘네들로 설치하면 된다.

$ dpkg -i downloaded.deb 
$ apt-get -f install

역시 오류가 나온다.

root@user-desktop:~/Downloads# dpkg -i anydesk_6.1.1-1_amd64.deb
Selecting previously unselected package anydesk.
(Reading database ... 282370 files and directories currently installed.)
Preparing to unpack anydesk_6.1.1-1_amd64.deb ...
Failed to stop anydesk.service: Unit anydesk.service not loaded.
Unpacking anydesk (6.1.1) ...
dpkg: dependency problems prevent configuration of anydesk:
 anydesk depends on libminizip1; however:
  Package libminizip1 is not installed.

dpkg: error processing package anydesk (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1.1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.59ubuntu1) ...
Errors were encountered while processing:
 anydesk

anydesk depends on libminizip1; however: Package libminizip1 is not installed. 라는 오류가 눈에 띄는데, anydesklibminizip1가 필요한데 없다는 뜻인 것 같다.

4. libminizip1 설치

순수하게 설치를 시도해본다.

$ apt-get install libminizip1

역시 에러가 나온다.

root@user-desktop:~/Downloads# apt-get install libminizip1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libminizip1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libminizip1' has no installation candidate

대충 설치할 건덕지(?)가 없다는 뜻인 것 같다.
설치 패키지가 없다는 뜻인가.. 암튼 '안 돼, 돌아가.' 다.
다들 된다는데 나만 안되는 건 말도 안된다!

rmadison으로 진짜 libminizip1 설치가 안되는지 살펴보자. rmadison은 설치를 해야 사용할 수 있다. 설치 방법은 여기를 참고하자.

xenial을 쓰고 있고, amd64이므로 이용할 수 있다. 근데 왜 안돼?
직접 deb파일을 찾아서 얘부터 설치를 해주는 방향으로 해보았다. 1.1-8 ver이 가능하니까 그 버전을 구글링해서 찾았다.

pkgs.org에서 찾았다. 링크는 여기!

이렇게 나오는데

밑으로 쭉 내리면 Download가 있다.

Binary Package가 눈에 띈다. wget으로 다운로드 받아서 설치해주자.

$ wget http://ftp.br.debian.org/debian/pool/main/m/minizip/libminizip1_1.1-8+b1_amd64.deb
$ dpkg -i libminizip1_1.1-8+b1_amd64.deb

5. 다시 dpkg로 설치!

$  dpkg -i <이름.deb>

드디어 됐다!


💡 정리

dpkg로 설치하는 것이 가장 이상적이다.

  1. gdebi-core를 설치한다.
$ sudo apt install gdebi-core
$ sudo apt update
$ sudo apt upgrade
  1. gdebi를 설치한다.
$ apt-get install gdebi
$ sudo apt update
  1. dpkg로 설치한다.
    • 설치하는 패키지에 따라서 추가적으로 이것저것 설치해주되, 설치가 안되는데(ackage 'something' has no installation candidate) 마땅한 방법이 안먹히면 일단 rmadison으로 패키지가 진짜 지원이 안되는지 확인해보자.
    • 지원이 된다면, 직접 deb파일을 찾아 패키지를 설치해주자.
$ dpkg -i downloaded.deb 
$ apt-get -f install

참고1 - What does “Package 'package' has no installation candidate” mean?
참고2 - libminizip1 deb version
참고3 - ubuntu version
참고4 - gdebi-core
참고5 - Package has no installation candidate solution

profile
아자아잣

0개의 댓글