패키지 관리 및 소프트웨어 리포지토리
데비안 기반 Linux 배포판은 리포지토리 (응용 프로그램 설치 패키지 및 업그레이드 패키지의 데이터베이스)를 사용하여 운영 체제를 최신 상태로 유지하고 새로운 소프트웨어 패키지를 쉽게 가져오고 설치할 수 있습니다. 이 리포지토리의 위치는에 저장 /etc/apt/sources.list
되지만 일반적으로 특정 응용 프로그램에 고유 한 추가 소스를 /etc/apt/sources.list.d
디렉토리에 저장할 수 있습니다 .
package index update 명령 apt-get update
이 실행되면 운영 체제는이 패키지 리포지토리에서 사용 가능한 패키지를 확인하고 사용 가능한 소프트웨어를 운영 체제에서 사용 가능한 것으로 등록합니다 apt-get install <package>
.
이러한 소프트웨어 소스 중 하나의 예는 다음과 같습니다.
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty main restricted
이 소스가 특정 버전의 Linux 배포판을 참조하는 것이 중요합니다. Ubuntu 14.04의 코드 이름 인 trusty 가 그 예입니다 . short 및 codename을 사용 lsb_release -a
하거나 lsb_release -sc
의미하는 자세한 내용은 OS (데비안 기반)를 쿼리 할 수 있습니다 .
귀하의 질문에 부품 $(lsb_release -sc)
이 해석되고 운영 체제의 결과 가 사용자 정의 소스 파일 ros-latest.list에 인쇄 되어 명령 실행시 생성됩니다.
명령 언어 해석기
sh
명령입니다 Bourne 쉘 . 이것은 여러 포탄 중 하나이지만 오래된 표준으로 간주되며 일반적으로 확실합니다. bash
많은 쉘 스크립트에서 흔히 볼 수 있습니다. 이 선언은 다른 쉘이 다른 구문을 사용할 때 사용할 쉘을 지정합니다.
-c
플래그와 관련하여 다음을 인용하십시오 man bash
.
-c 옵션이 있으면 문자열에서 명령을 읽습니다. 문자열 뒤에 인수가 있으면 $ 0부터 위치 매개 변수에 지정됩니다.
내부의 모든 것이 ''
문자열로 읽히므로 다양한 따옴표를 이스케이프하거나 쉘이 잘못된 방식으로 해석하는 것에 대해 걱정할 필요가 없습니다.
tl; dr
이 명령 deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main
은 사용자 정의 소스 파일로 인쇄 $(lsb_release -sc)
하여 해석 된 값으로 바꿉니다 .