dpkg 명령어

기본 설명

dpkg는 데비안 패키지 관리 시스템의 기초가 되는 소프트웨어로서, .deb 패키지의 설치, 삭제, 정보 제공을 위해 사용되는 명령어입니다.

dpkg 자체는 APT 등과 같은 고급 도구에 비해 낮은 레벨의 도구이며 복잡한 패키지 관계와 패키지를 원격에서 받아오는 등의 일을 합니다. APT도 Ubuntu의 소프트웨어를 관리하기 위해 내부적으로 이 dpkg를 사용합니다.

 

사용 방법

dpkg -l

: 설치된 패키지 목록 확인 (레드햇 계열 : rpm -qa 와 동일)

 

dpkg -L <패키지명>

: 해당 패키지로부터 설치된 모든 파일목록 확인 (레드햇 계열 : rpm -ql 과 동일)

 

dpkg -C <.deb 파일>

: 해당 .deb 파일이 설치한 파일의 목록 확인

 

dpkg -s <패키지명>

: 해당 패키지에 대한 정보 확인

 

dpkg -I <.deb 파일>

: 해당 .deb 파일에 대한 정보 확인

 

dpkg -S <파일명>

: 해당 파일명 또는 경로가 포함된 패키지들을 검색 (레드햇 계열 : rpm -qf 와 동일)

 

sudo dpkg -i <.deb 파일>

: 해당 파일 설치 또는 최신 버전으로 업그레이드

 

sudo dpkg -r <패키지명>

: 해당 패키지 삭제 (삭제시 설정파일들은 남겨둡니다.)

 

sudo dpkg -P <패키지명>

: 해당 패키지와 해당 패키지의 설정파일을 모두 삭제 (레드햇 계열 : rpm -e 와 동일)

 

sudo dpkg -x <.deb 파일> <디렉토리>

: 파일에 포함되어있는 파일들을 지정된 디렉토리에 압축 해제 (※ 이 명령을 실행할 경우, 해당 디렉토리를 초기화 시켜버리므로 주의해야 합니다!!!!!!!!)

 

 

참고 사이트

http://www.songtory.com/post/001003/1/245

 

http://snowdeer.github.io/linux/2018/02/03/ubuntu-16p04-manage-packages/

 

출처 : https://miiingo.tistory.com/183

'Works > Ubuntu' 카테고리의 다른 글

[명령어] apt remove vs purge 차이  (0) 2022.08.29

 

운영체제 : Ubuntu 18.04

DESCRIPTION

apt-get is the command-line tool for handling packages, and may be considered the user's "back-end" to other tools using the APT library. Several "front-end" interfaces exist, such as aptitude(8)synaptic(8) and wajig(1).

 

Unless the -h, or --help option is given, one of the commands below must be present.

remove

remove is identical to install except that packages are removed instead of installed. Note that removing a package leaves its configuration files on the system. If a plus sign is appended to the package name (with no intervening space), the identified package will be installed instead of removed.

purge

purge is identical to remove except that packages are removed and purged (any configuration files are deleted too).

 

OPTIONS

--purge

Use purge instead of remove for anything that would be removed. An asterisk ("*") will be displayed next to packages which are scheduled to be purged. remove --purge is equivalent to the purge command. Configuration Item: APT::Get::Purge.
 
--auto-remove--autoremove
If the command is either install or remove, then this option acts like running the autoremove command, removing unused dependency packages. Configuration Item: APT::Get::AutomaticRemove.
 

apt 패키지 매니저에서 패키지 삭제 명령어 정리

 

패키지 삭제가 제대로 되지 않아 새롭게 설치하는 패키지에 문제가 생겨 명령어와 옵션에 대해 정리 해보도록 하겠습니다.

 

$ apt remove <패키지명>

패키지를 삭제한다. 하지만 설정파일은 남겨둔다.

$ apt purge <패키지명>

패키지를 삭제한다. 설정파일도 함께 삭제한다.

 

옵션

$ apt [any command] --purge <패키지명>

remove 대신 --purge 명령을 수행한다. remove --purge 는 purge 명령어와 같다,

$ apt remove --auto-remove <패키지명>

사용하지않는 관련된 패키지를 모두 삭제한다.


위는 공식 명령어 가이드와 간략한 해석입니다.

차이는 설정파일을 삭제하느냐 남겨 두느냐의 차이입니다.

 

하지만 purge명령어를 쓰더라도 모든 설정파일을 삭제하는 것은 아닙니다.

user'home 파일은 삭제하지 않습니다.

 

예를들면, /home 폴더 하위에 설정파일을 가지고 있는 어느 어플리케이션 (예를 들면, 크롬 , 파이어폭스 등등..)을 삭제할 때는 /home 디렉터리 내부의 설정파일들은 그대로 남아 있습니다.

 

 

처음에 remove와 remove --auto-remove <패키지명>를 이용해서 패키지를 삭제했는데, 새롭게 설치하는 패키지가 삭제한 패키지와 중첩이 되어 제대로 설치가 되지 않은 문제가 있었습니다.

 

VMware-Tools를 설치하는데 vm-open-tools가 기본적으로 Ubuntu18.04에 설치되어 있어서 먼저 vm-open-tools를 삭제하고 설치를 진행했습니다.

 

remove, --auto-remove 를 사용해 패키지를 지우고

VMware-Tools를 설치하려고하니 이미 open-vm-tools가 설치되어 있어 설치가 정상적으로 되지 않을 수 있다. --purge 옵션을 이용해서 삭제하라는 가이드가 있었습니다.

 

# apt purge open-vm-tools를 이용해 삭제하고 VMware-Tools를 삭제하니 정상적으로 설치, 동작하는 것을 확인하였습니다.

출처: https://gintrie.tistory.com/23 [gintire:티스토리]

'Works > Ubuntu' 카테고리의 다른 글

[Ubuntu] dpkg 명령어 사용법  (0) 2022.08.29
기호 영어 한글
` Backtick(백틱), Grave(그레이브) -
~ Tilde(틸트) 물결표시
! Exclamation mark(엑스클러메이션) 느낌표
? Question mark(퀘스쳔) 물음표
@ At sign(앳) 골뱅이
# Sharp(샵), Number sign(넘버) 우물정
$ Dollar sign(달러) -
% Percent sign(퍼센트) -
^ Caret(캐럿) -
& Ampersand(엠퍼센드) -
* Asterisk(에스터리스크) 별표
- Hyphen(하이픈), Dash(대시), Minus(마이너스) -
_ Underscore(언더스코어), Low dash(로대시) 밑줄
= Equals sign(이퀄) 동등
' Apostrophe(아포스트로피) 작은 따옴표
: Colon(콜론) -
; Semicolon(세미콜론) -
, Comma(콤마) 쉼표
. Period(피리어드), Dot(닷) 점, 마침표
/ Slash(슬래시) -
| Vertical bar(버티컬바) -
\ BackSlash(백슬래시) -
() Parenthesis(퍼렌서시스) 소괄호, 괄호
{} Brace(브레이스) 중괄호
[] Bracket(브래킷) 대괄호
<> Angel Bracket(앵글 브래킷) 꺽쇠괄호

출처 : https://velog.io/@eassi/%ED%8A%B9%EC%88%98-%EB%AC%B8%EC%9E%90-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC

문제

Active Server Pages오류 'ASP 0131'허용되지 않는 부모 경로_______.asp, 줄 1
'__________' Include 파일은 부모 디렉터리를 표시하기 위해 '..'를 사용할 수 없습니다. 

해결

1. IIS의 사이트를 클릭한다.

2. ASP항목을 클릭한다.

3. 부모경로사용을 False->True로 변경한다.

출처: https://smoh.tistory.com/126 [Simple is Beautiful.:티스토리]

한 2주 전쯤 발생한 에러 메시지입니다.

"SQL 서버 접속 불가."

위 에러가 발생하는 이유는 간단합니다.

말 그대로 SQL Server에 접속할 수 없는 것입니다.

Server에 접속이 안되는 이유를 봐보면.

1. 방화벽이 닫혀있다.

2. TCP 파이프가 사용 안 함으로 설정돼있다.

3. 방화벽에 포트가 닫혀있다.

4. 원격 사용을 허용치 않는다.

정도로 생각할 수 있습니다.

하지만 위와 같은 사항은 대부분 SQL Server 초기에 구성하기 때문에 잘 사용하던 서버라면 99%는 위와 같은 문제로 오류가 나는 경우는 없을 것입니다.

그렇기에 분명 며칠 전까지만 해도 잘 되던 게 갑자기 왜 안되지라는 생각에

서버가 터졌나부터 시작해서 별생각이 다 들었습니다.

그렇게 한 10여 분 뭐지 뭐지 하다가 생각난 게 '서비스'입니다.

'SQL Server (MSSQLSERVER)' 서비스를 재시작하니까 뭐 그냥 되더군요.

방법은 아래와 같습니다.

[검색] -> '서비스'실행 -> 아래의 서비스 다시 시작

출처 : https://m.blog.naver.com/lhs860226/221465106189

기본적으로 php 7.2 버전 이상부터는 mcypt 를 지원하지 않는다
편법으로 mcrypt를 설치해본자
기존에 웹서버(apache 2.4 ) / php 7.3 버전은 설치되어 있다

현재 php에 mcrypt가 설치되어 있는지 확인해보면 아무런 정보가 표시되지 않는다 즉 미설치 상태

[root@xinet ~]# php -i | grep mcrypt

1. libmcrypt 다운로드 및 설치 ( 만약 설치되어 있다면 패스)

[root@xinet ~]# wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libmcrypt-2.5.8-13.el7.x86_64.rpm

[root@xinet ~]# wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libmcrypt-devel-2.5.8-13.el7.x86_64.rpm

[root@xinet ~]# rpm -Uvh libmcrypt-*

2. mcyrpt 1.0 파일 다운로드 및 phpize 이용 설치 (php 8.0은 mcrypt-1.0.3 / php 8.1의 경우 mcrypt-1.0.4 다운로드할 것)

[root@localhost ~]# wget https://pecl.php.net/get/mcrypt-1.0.3.tgz

[root@localhost ~]# tar xvfz mcrypt-1.0.3.tgz 

[root@localhost ~]# cd mcrypt-1.0.3

[root@localhost mcrypt-1.0.2]# /usr/local/php/bin/phpize 
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902

[root@localhost mcrypt-1.0.2]# ./configure --with-php-config=/usr/local/php/bin/php-config 

[root@localhost mcrypt-1.0.2]# make 

[root@localhost mcrypt-1.0.2]# make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/debug-zts-20190902/

3. 파일을 확인하고  파일을 php.ini에서 인식

[root@localhost mcrypt-1.0.2]# ls -l /usr/local/php/lib/php/extensions/debug-zts-20190902/
합계 1732
-rwxr-xr-x 1 root root  105840  8월 10 15:48 mcrypt.so
-rwxr-xr-x 1 root root 1665344  7월 27 17:54 opcache.so

[root@localhost mcrypt-1.0.2]# vi /usr/local/apache/conf/php.ini 

extension=mcrypt.so

4. 웹서버 재시작

[root@localhost mcrypt-1.0.2]# systemctl restart httpd

 

출처 : https://xinet.kr/?p=2975

CentOS docker 이미지를 컨테이너로 생성해서 Node.js를 설치했다.
Node.js를 설치하면 npm도 같이 설치된다.
(npm : Node Package Manager로 기본 패키지 관리자)

1. yum update하기

yum -y update
(최고권한으로 설치할 경우, sudo yum -y update)

2. NodeSource(회사)는 효율적인 노드 서비스를 제공하고 리눅스용 Node.js저장소가 있는지 확인한다.
CentOs서버에서 NodeSource저장소를 사용해 Node.js와 npm을 설치하는데 도움이 된다.

setup_12.x는 12버전을 설치할 경우이다. 
예를들어 8, 10버전이 필요할 경우에는 setup_8.x 혹은 setup_10.x로 넣고 명령어를 실행하면 된다!

curl -sL https://rpm.nodesource.com/setup_12.x | bash -
(최고권한으로 설치할 경우, curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash - )

3. Node.js 설치하기

yum install -y nodejs

4. 설치 확인하기
node와 npm버전 확인 하는 명령어이다.
설치가 잘 됬다면 버전이 나온다!

node -v
npm -v 

 

출처 : https://jin2rang.tistory.com/entry/CentOS7-Nodejs-%EC%84%A4%EC%B9%98

원격데스크톱 복사 붙여넣기 안될 때 (Ctrl+C, Ctrl+V)

원격데스크톱(MSTSC) 을 사용해서 원격 PC의 텍스트나 파일을 복사할 때 간편하게 Ctrl+C, Ctrl+V를 활용해서 복사 붙여넣기를 사용하는데요.

이 기능이 되지 않는 경우가 있습니다.

이럴 경우, PC를 재시작 하지 않고 사용할 수 있는 해결 방법을 알려 드립니다.

문제점

* 원격PC에서 복사한 내용이 현재 사용자 PC에서 붙여넣기가 안되는 현상
* 현재 사용자 PC에서 복사한 내용이 원격 PC에서 붙여넣기가 안되는 현상

※ 문제는 원격 PC에서 rdpclip.exe 프로세스가 정상적으로 동작하지 않아 생기는 문제 입니다.

해결 방법

1. 윈도우 하단 작업표시줄에 마우스 우 클릭 후 작업관리자를 클릭합니다.

2. 작업관리자에서 -> 세부정보 -> rdpclip.exe 이름을 찾아서 마우스 우클릭 후 작업 끝내기를 클릭 합니다.

3. 작업관리자 상단 탭에서 파일 클릭 -> 새 작업 실행을 클릭 합니다.

4. 새 작업 실행에서 rdpclip.exe 파일을 실행 합니다.

이제 복사 붙여넣기를 해봅니다.
PC OS를 재시작 하지 않아도 바로 정상적으로 사용이 가능합니다.

혹, 다른 원인이나 재기동이 정상적으로 되지 않는 경우도 있으니 몇번 재반복 해보시고 문제가 해결되지 않는다면 다른 원인을 찾아봐야 합니다.

출처 : https://www.wrapuppro.com/programing/view/HjwnrUSvX8o8nWy

phpMyAdmin 설정 스토리지가 완전히 설정되지 않아, 일부 확장 기능들이 비활성화 된 상태입니다. 원인을 확인하려면 여기를 클릭하세요.

위 메세지가 나올때 숨기는 법
config.inc.php 파일에서

$cfg['PmaNoRelation_DisableWarning'] = true;

You are using an incomplete translation, please help to make it better by contributing.

위 메시지가 나올 때 숨기는 법 (대충 더 나은 번역을 위해 기여좀 하라는거 같은데..;;)
마찬가지로 config.inc.php 파일에서

$cfg['TranslationWarningThreshold'] = 1;

 

출처 : https://tistory.kkwang.com/221

출처: https://wnw1005.tistory.com/628 [씨실과 날실 - IT:티스토리]

카카오 미러

http://mirror.kakao.com/

여타의 국내 미러들에 비해 속도가 굉장히 빠르고 서버 안정성 또한 높은 편

 

네이버 미러

https://mirror.navercorp.com/

네이버 클라우드다 록키 리눅스의 주요 파트너로 참가

 

카이스트 미러 - KAIST 파일 서비스(SPARCS)

https://ftp.kaist.ac.kr/

국내의 가장 대표적인 미러 사이트.

 

라넷 미러 - 사랑천사 네트워크 FTP 서비스 - LANET

https://ftp.lanet.kr/

 

아니길 미러 - AniGil Linux Archive

https://mirror.anigil.com/

임시우님의 개인 미러

 

용복 미러 - Yongbok.net

https://mirror.yongbok.net/

시스템 엔지니어 김용복님이 운영하는 개인 미러

 

하루카상(Harukasan) 미러

https://ftp.harukasan.org/

부경대에서 지원하는, 동아시아 국가를 위한 미러

 

premi.st 미러 - mirror.premi.st

https://mirror.premi.st/

이민구님이 운영하는 개인 미러

 

검은 개(흑구) 미러 - Heigou's Private Mirror

https://mirror.heigou.pe.kr/

Heigou님이 운영하는 개인 미러

과거 Maakpain's Linux Mirror라는 이름이었으나 도메인을 변경하게 되어 공식 미러 명칭도 바꿈

기존의 도메인은 올해 말까지만 유지하게 됨.

미사카 미러 - 미코토 네트워크(Misaka Mikoto Network) 미러

https://mirror.misakamikoto.network/

Misaka님이 운영하는 개인 미러

한국 FreeBSD 사용자 그룹 미러

https://ftp.kr.freebsd.org/pub/

FreeBSD 전문 미러지만 리눅스로는 유일하게 안녕 리눅스가 미러링되고 있음.