패키지의 일부를 제거하는 방법은 무엇입니까?

패키지의 일부를 제거하는 방법은 무엇입니까?

나는 설치했다BSD 게임 패키지. 많은 게임이 불량이거나 깨졌기 때문에 다른 게임은 제거하지 않고 일부 게임만 제거하고 싶습니다. 이를 수행하는 쉬운 방법이 있습니까? 현재는 및 sudo rm에서 usr/share/applications/bsdgames가져오고 있습니다 usr/games/.

답변1

포장의 핵심은 포장이 전체라는 것입니다.

그래서 없다단순한포장 자체를 손상시키지 않고 이 작업을 수행하십시오. 당신은 일반적으로 이것을하고 싶지 않습니다.

현재 저는 usr/share/applications/bsdgames 및 usr/games/에서 해당 항목을 sudo로 지정하고 있습니다.

특히 이 작업을 수행하고 싶지는 않습니다. 다음 소프트웨어/배포판 업데이트/재구축 시 이를 다시 설정하고 일반적으로 시스템 사용에서 벗어나게 됩니다 apt.

하지만 솔직히 말해서 전체 패키지에는 총 3.7MB의 공간이 필요합니다. 이는 이 페이지를 열 때 사용한 데이터 양과 거의 같습니다. 마음에 들지 않는 게임은 무시하고 측정 가능한 단점은 없습니다. 3.7MB이면 충분합니다.아무것도 없다우분투를 실행하는 머신에서.

답변2

패키지의 일부를 제거하려면 접근 방식이 정확합니다. 패키지와 함께 제공되는 파일이 필요하지 않다는 것을 알고 있다면 해당 파일을 제거할 수 있습니다(결국 시스템입니다). 그러나 이를 유지하면 다음에 패키지를 업그레이드할 때 삭제된 파일이 복원됩니다( 의 구성 파일이 아닌 경우 /etc). 이를 방지하려면 dpkg삭제할 필요가 없는 파일을 알려야 합니다 . /etc/dpkg/dpkg.cfg.d다음 형식의 줄 에 구성 파일을 추가하세요.

path-exclude=/path/to/foo

삭제하는 모든 파일에 대해.

마커스로서설명하다, 이는 일반적으로 좋은 생각이 아닙니다.dpkg페이지는 이에 대해 경고합니다.. 그러나 일반적인 설정 중 하나는 컴퓨터를 사용하는 사람이 필요하지 않거나 원하지 않는 언어로 된 소프트웨어 패키지 또는 매뉴얼 페이지와 함께 제공되는 문서를 제거하는 것입니다. 다음 /etc/dpkg.cfg.d/locales이 포함된 파일이 있습니다.

# Drop locales except English and French
path-exclude=/usr/share/locale/*
path-include=/usr/share/locale/en/*
path-include=/usr/share/locale/fr/*
path-include=/usr/share/locale/locale.alias

# Drop translated manpages except English and French
path-exclude=/usr/share/man/*
path-include=/usr/share/man/man[1-9]/*
path-include=/usr/share/man/en*/*
path-include=/usr/share/man/fr*/*

영어나 프랑스어 이외의 언어에 대한 로캘 파일과 매뉴얼 페이지를 설치하지 마세요.

집계 패키지는 bsdgames파일 삭제가 유용한 또 다른 경우입니다. 디스크 공간을 절약하는 것은 가치가 없을 수 있지만 경로에서 후보를 제거하는 것은 가능합니다(귀하가 시스템의 유일한 사용자라고 가정).

관련 정보