본문 바로가기
리눅스 관련/명령어

repository(저장소) // + curl, gpg,echo,tee

by 알 수 없는 사용자 2022. 4. 18.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/도커-아카이브-키링.gpg

저 주소에서 data를 받는다. | /usr/도커-아카이브-키링.gpg파일로 받은 data의 암호를 해독한다.

 

 

curl 명령어

curl은 사용자 상호 작용 없이 작동하도록 설계된 서버에서 또는 서버로 데이터를 전송받기 위한 명령줄 유틸리티

curl 'http://www.google.com/' <- www.google.com의  html 을 가져온다.

 

curl 명령어의 옵션

f : 서버 오류 시 자동으로 실패합니다(출력 없음).

s : 진행률 측정기 또는 오류 메시지를 표시하지 마십시오. Curl을 음소거합니다.

S : -s와 함께 사용하면 실패할 경우 curl에 오류 메시지가 표시됩니다.

L : 서버에서 301, 302 응답이 오면 redirection URL로 따라간다

 

gpg 명령어

GNU PGP 파일과 이메일메시지를 암호화 할 수 있는 오픈소스이다. 암호/해독

--dearmor 는 de armor임(보안푸는거), 따라서 --enarmor 하면 암호화(갑옷으로 파일을 래핑) 하는거

-o 는 " Specify a particular output file, use - for stdout " ( 특정 출력 파일을 지정하고 - stdout에 사용 )

 


echo

이 명령어를 이용해서 txt파일에 str넣을 수 있음

echo "This is a test." > ./test.txt

 

tee

echo 로 문자열 넣어줄 때, 권한 안되서 못넣어 주는경우 tee로 해주면 됨/.

sudo echo 해봤자 텍스트에 문자열 넣어 줄때 권한 풀려서 넣어 지므로 안되는거

 

repository 란

패키지의 모음이다. // Unix기반 운영 체제에서 repository는 시스템에 설치할 수 있는 방대한 소프트웨어 및 패키지 모음을 나타냅니다.//

Linux의 경우 repository는 Linux 시스템이 운영 체제와 관련된 업데이트 및 응용 프로그램을 검색하고 설치하는 위치

 

작동방법

각 리포지토리는 원격 서버에서 호스팅되는 소프트웨어 모음이며 Linux 시스템에서 소프트웨어 패키지를 설치 및 업데이트하는 데 사용

 

DB와 repository 차이

 "데이터"와 "메타 데이터"의 차이였습니다. 따라서 데이터베이스는 데이터를 저장합니다. 리포지토리는 메타 데이터, 즉 다른 데이터를 설명하는 데이터를 저장하도록 설계된 데이터베이스의 특수 클래스입니다 .

 

update 와 upgrade 차이 , 

 "sudo apt-get update"를 실행하면 모든 리포지토리와 PPA에 대한 패키지 목록을 가져와 최신 상태인지 확인

 "sudo apt-get upgrade"는 실제 소프트웨어 업그레이드를 수행


레포지토리 추가하는 방법

https://jjeongil.tistory.com/1682

참고

 

1. echo "deb https://apache.bintray.com/couchdb-deb $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list

설명

(1) "deb https://apache.bintray.com/couchdb-deb bionic main" 이부분은 "/etc/apt/sources.list" 이 경로에 추가 하고 싶은거임

(2). $(lsb_release -cs)가 Ubuntu 코드 이름을 인쇄 , 18.04는 bionic 으로 됨.

     + "/etc/apt/sources.list.d/" 디렉토리 아래에 새 리포지토리 파일을 생성 함.

 

2. curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -

저장소를 수동으로 구성 할 때는 공용 리포지토리 키도 수동으로 시스템에 가져와야 한다. wget or curl 명령어 사용

 

3. sudo apt update

위에 key를 가져온걸 확인하는 명령어를 쳐야함. 즉 GPG키를 성공적으로 가져왔고 이 저장소 패키지를 신뢰할 수 있게 간주하기 위함이다.

 

4. sudo apt install couchdb

패키지 인덱스가 update 되면 새로 추가된 리포지토리에서 패키지를 설치 할 수 있다. ( 리포지토리 등록되서 install이 되는거임 ) 위에 1~3 번 을 안하고 4번하면 다운못한데이~


실전

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

\ : 한줄뛰고 이어서 치기

[ ~~~~~keyring.gpg ] 인거로 봐선 해당 링크에서 다운받는데, 암호화해서 저장 하는 거가틈 . vi로 켜보면 &^$**!%@@!^*$#@^ 이럼

tee 는 위에 처럼 권한 해결용이고 

> /dev/null 은 출력값 (st뭐시기) 안보겠다 란뜻

'리눅스 관련 > 명령어' 카테고리의 다른 글

ps 와 ps -ef  (0) 2022.05.23
tail 로그 확인할 때 자주쓰는 명령어  (0) 2022.05.13
grep , find , sed(문자열 치환)  (0) 2022.04.27
우분투 버전확인  (0) 2022.04.20
export, source, 계정관리 명령어  (0) 2022.04.19