안녕하세요, 이것은 매우 기본적이고 일반적인 질문처럼 보일 수 있습니다. (하지만)
소프트웨어를 설치할 때 많은 경우 새 저장소를 추가하는 것이 좋습니다. 나는 다음과 같이 인터넷에서 찾은 지침을 따르곤 했습니다.
curl -s https://example-browser-apt-release.s3.example.com/example-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/example-browser-release.gpg add -
source /etc/os-release
echo "deb [arch=amd64] https://example-browser-apt-release.s3.example.com/ $LINUXDISTRO_CODENAME main" | sudo tee /etc/apt/sources.list.d/example-browser-release-${LINUXDISTRO_CODENAME}.list
sudo apt update
sudo apt install example-browser
그러나 나는 그것이 어디에 저장되어 있는지 정말로 이해하지 못합니다.
모두 한 곳에 저장되어 있나요?
시간이 지남에 따라 어떤 저장소를 언제 추가했는지 확인할 수 있습니까?
키가 저장되는 곳
시간이 지나면서 내가 무엇을 추가했는지, 언제 추가했는지 확인할 수 있는 방법이 있나요?
소프트웨어가 마음에 들지 않으면 제거하는 것이 중요합니까?
나는 내가 많은 질문을 했다는 것을 알고 있습니다. 아마도 이것들은 기본적인 질문일 것입니다. 아마도 외부 저장소를 설치할 때 알아야 할 구성 요소가 여기에 누락되었을 수 있습니다. 어떤 통찰력이라도 환영합니다.
매우 감사합니다.
답변1
이는 적절한 시스템에서만 작동하며 다른 패키지 관리자는 다를 수 있습니다.
모두 한 곳에 저장되어 있나요?
패키지 아카이브를 의미합니까, 아니면 저장소를 가리키는 파일을 의미합니까? 패키지 아카이브는 /var/cache/apt/archives에 저장됩니다. 특정 저장소 파일 또는 항목은 /etc/apt/sources.list 또는 /etc/apt/sources.list.d/*.list에 저장됩니다. 저장소가 나열된 위치와 목록이 포함된 파일 사이에는 필요한 연결이 전혀 없습니다. 예를 들어, /etc/apt/sources.list에 대부분의 저장소가 있을 수 있으며 실제로 데비안은 기본적으로 이러한 저장소를 사용했습니다. 또는 Opera.list 파일에 Google의 저장소가 있을 수 있습니다. 파일 이름은 중요하지 않습니다. 중요한 것은 .list입니다. 그러나 상황을 보다 예측 가능하고 유지 관리하기 쉽게 만들기 위해 저장소 파일 이름이 가리키는 실제 저장소와 일치하도록 하는 것은 나쁜 생각이 아닙니다.
시간이 지남에 따라 어떤 저장소를 언제 추가했는지 확인할 수 있습니까?
어떤 리포지토리를 사용할 수 있는지 확인할 수 있으며 간단하기 때문에 inxi를 사용합니다.
inxi -r
Repos:
Active apt repos in: /etc/apt/sources.list
1: deb http://mirrors.kernel.org/debian unstable main contrib non-free
2: deb http://mirrors.kernel.org/debian/ buster main non-free contrib
3: deb http://security.debian.org/debian-security buster/updates main contrib non-free
4: deb https://liquorix.net/debian unstable main
5: deb http://www.deb-multimedia.org/ buster main non-free
Active apt repos in: /etc/apt/sources.list.d/google-chrome.list
1: deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
Active apt repos in: /etc/apt/sources.list.d/opera-stable.list
1: deb https://deb.opera.com/opera-stable/ stable non-free #Opera Browser (final releases)
다음과 같이 할 수도 있습니다.
cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list
그러나 읽기가 더 어렵고, 입력하기가 더 어렵고, 어떤 파일에 무엇이 포함되어 있는지 명확하지 않습니다. inxi의 목적은 이 정보를 명확하게 표시하는 것입니다.
추가할 때 확인할 수 있는 유일한 방법은 개별 저장소 파일을 추가한 다음 파일 생성 타임스탬프를 확인하는 것입니다. 다른 방법이 있을 수도 있겠지만 저는 잘 모르겠습니다.
키가 저장되는 곳
좋은 질문인데 생각해본 적이 없네요. 그 사람을 찾을 수 있는지 알아보겠습니다.
에 따르면:https://wiki.debian.org/SecureApt
/etc/apt/trusted.gpg.d 및 /etc/apt/trusted.gpg 파일에 있습니다.
ls /etc/apt/trusted.gpg.d -w 1
debian-archive-buster-automatic.gpg
debian-archive-buster-security-automatic.gpg
debian-archive-buster-stable.gpg
debian-archive-jessie-automatic.gpg
debian-archive-jessie-security-automatic.gpg
debian-archive-jessie-stable.gpg
debian-archive-stretch-automatic.gpg
debian-archive-stretch-security-automatic.gpg
debian-archive-stretch-stable.gpg
deb-multimedia-keyring.gpg
내가 가지고 있는 리포지토리를 이것과 비교해 보면 적어도 그 중 일부는 실제로 /etc/apt/trusted.gpg에 저장되어 있는 것처럼 보이며 파일 크기는 0이 아닙니다.
시간이 지나면서 내가 무엇을 추가했는지, 언제 추가했는지 확인할 수 있는 방법이 있나요?
같은 질문, 같은 대답.
소프트웨어가 마음에 들지 않으면 제거하는 것이 중요합니까?
혼란을 피하고 실제로 필요하지 않을 때마다 apt-get update에서 데이터를 가져오는 일을 피하기 위해 이렇게 해야 합니다. 또한 임의의 저장소가 때때로 사라지거나 변경되거나 손상될 수 있으며, 이 시점에서 성가신 적절한 업데이트 실패 디버깅 문제가 발생하게 됩니다. 또한 실제로 원하지 않는 소프트웨어에 대한 구성 파일을 시스템에 남기지 않으려면 apt-get Remove --purge를 사용하십시오. --purge 옵션이 없으면 구성 파일이 그대로 유지됩니다.
그렇긴 하지만, Michael Horner가 댓글에서 말한 내용을 참고하시기 바랍니다. 보안이 주요 관심사라면 이것이 실제로 정답이라고 생각합니다.
답변2
@MichaelHomer의 의견에서 일반적인 질문에 대답하겠습니다. 왜냐하면 그가 머리에 못을 박았다고 생각하기 때문입니다.
솔직히 말해서, 인터넷에서 이해하지 못하는 코드를 복사하여 붙여넣지 마십시오(sudo!). 이는 보안을 위해 주의해야 할 가장 중요한 사항일 것입니다.
"리포지토리(키링, 소스 목록 등)를 추가할 때 (보안을 위해) 주의해야 할 사항은 무엇입니까?"라고 질문합니다.
모든 것은 결국귀하의 컴퓨터에서 소프트웨어를 실행하는 저장소 관리자를 신뢰하십니까?. 저장소를 추가하면 저장소에 포함된 모든 소프트웨어와 패키지를 승인하고 신뢰하게 됩니다. 이는 공식 배포판(Debian, CentOS 등)의 기본 리포지토리뿐만 아니라 잘 알려진 리포지토리(EPEL, Atlassian 등)에도 효과적입니다. 알려지지 않고 모호하게 유지관리되는 저장소를 주의하고 추가하지 말아야 합니다. 이 보기에서는 해당 구성 요소가 어디에 저장되어 있는지는 전혀 중요하지 않습니다.