인터넷에서 그러한 정보를 검색했으며 다음과 같은 다른 명령 줄을 발견했습니다.
sudo apt-get remove application
sudo apt-get remove application*
sudo apt-get remove --purge application
sudo apt-get remove --purge application*
sudo apt-get purge application
sudo apt-get purge application*
그렇다면 올바른 방법은 무엇입니까? 그 “*”를 사용해야합니까?
그 후에도 다음 명령을 찾았습니다.
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
답변
-
apt-get remove packagename
바이너리를 제거하지만 패키지의 구성 또는 데이터 파일은 제거하지 않습니다
packagename
. 또한 설치 시간에 설치된 종속성을 그대로 유지합니다. -
apt-get purge packagename
또는apt-get remove --purge packagename
패키지 와 관련된 모든 것을 제거
packagename
하지만 설치시 패키지 와 함께 설치된 종속성 은 제거 하지 않습니다. 두 명령 모두 동일합니다.구성을 엉망으로 만들었으므로 응용 프로그램으로 ‘다시 시작’하려는 경우에 특히 유용합니다. 그러나 사용자 홈 디렉토리 (보통 숨겨진 폴더)에있는 구성 또는 데이터 파일은 제거하지 않습니다. 그것들을 제거하는 쉬운 방법은 없습니다.
-
apt-get autoremove
고아 패키지, 즉 종속성으로 설치되었지만 더 이상 설치되지 않은 설치된 패키지를 제거합니다. 더 이상 관심이없는 종속성을 설치 한 패키지를 제거한 후 사용하십시오.
-
aptitude remove packagename
또는aptitude purge packagename
(처럼)또한
packagename
on에 필요 했지만 나머지 패키지에 필요하지 않은 다른 패키지를 제거하려고 시도 합니다. 참고aptitude
만 설치 한 패키지에 대한 의존성 정보를 기억합니다.
그리고 더 많은 것이 존재합니다. 하위 수준의 dpkg
명령을 사용 (고급)하거나 Muon, Synaptic, Software Center 등과 같은 GUI 도구를 사용할 수 있습니다. 응용 프로그램을 제거하거나 패키지 관리와 상호 작용하는 다른 작업을 수행하는 ‘올바른 방법’은 없습니다.
찾은 목록은 단지 예일뿐입니다. 동작을 수락하기 전에 의미를 이해하고 원하는 작업을 시도해보십시오 ( Y
제안 된 동작을 실제로 수행하기 전에 를 눌러야 합니다).
문제의 별표 버전이 잘못되었을 수 있습니다 . apt-get
글로브 패턴이 아닌 정규식을 쉘로 받아들입니다. 그래서 어떻게됩니까
sudo apt-get remove application*
다음과 같습니다.
-
쉘
application*
은 현재 디렉토리의 파일 을 확장하려고 시도합니다 . (보통의 경우와 같이) 아무것도 찾지 못하면 글로브 패턴을 변경하지 않고 반환합니다 (bash
기본 동작으로 가정 하면 —zsh
오류가 발생합니다). -
apt-get
이름이 패키지를 제거 하는 문자열이 포함 정규식 만족application*
이며,applicatio
임의의 수에 따라n
:applicatio
,application
,applicationn
,libapplicatio
, 등을 -
이 (이중 안전을 위해 루트없이), 위험 할 시도 할 수있는 방법을 보려면
apt-get -s remove "wine*"
(-s
자신의 이름과 종속의 “승리”한 모든 패키지를 제거하는 것입니다 그것을 말할 것이다 — 대신 그 일의 일을 시뮬레이션합니다) 거의 전체 시스템 …
아마도 의미했던 명령은 실제로
sudo apt-get remove "^application.*"
(따옴표와 점을 참고하십시오)는 이름이로 시작하는 모든 패키지를 제거합니다 application
.
이 명령들은
sudo updatedb # <-- updates the locate database (index). harmless
sudo locate application # <-- locates the file 'application'. harmless
sudo rm -rf (file/folder name) # <-- removes files/dirs recursively. dangerous.
패키지 관리 범위를 완전히 벗어났습니다. 패키지 관리자를 사용하지 않고 패키지에 속하는 파일을 제거하지 마십시오! 혼란스럽고 일을 잘못하는 방법입니다.
파일이 어떤 패키지에 속하는지 모르는 경우 다음을 시도하십시오.
dpkg -S /path/to/file
답변
Ubuntu 12.04 이상의 경우 올바른 방법은 다음과 같습니다.
sudo apt-get --purge autoremove packagename
packagename*
의도하지 않은 패키지를 삭제하고 해결하는 것보다 더 많은 문제를 일으킬 수 있으므로 사용하지 마십시오 . 당신은 적어도 그것을 실행해야하는 경우 또는 -s
, --simulate
, --dry-run
플래그는 먼저 그것을하지 않고 무엇을 할 것인지 정확히 볼 수 있습니다.
답변
이 명령을 사용할 수 있습니다 :
sudo apt-get purge --auto-remove packagename
필요한 패키지와 해당 패키지와 함께 설치된 종속성을 제거합니다. --auto-remove
옵션 (의 별칭 인은 autoremove
)와 유사한 작동합니다 sudo apt-get autoremove
. 이 명령을 사용하여 단일 명령을 실행할 수 있습니다.
sudo apt-get purge --auto-remove packagename
대신에:
sudo apt-get purge packagename
sudo apt-get autoremove
답변
안전하게 사용할 수 sudo apt-get remove --purge application
또는 sudo apt-get remove applications
시간의 99 %. purge
플래그 를 사용 하면 모든 구성 파일도 제거됩니다. 해당 응용 프로그램을 다시 설치할지 여부에 따라 원하는 것이거나 아닐 수도 있습니다. 로 application*
시작하는 모든 응용 프로그램과 일치합니다. application
일반적으로 제거하려는 기본 응용 프로그램의 플러그인, 추가 기능 등입니다. 즉
sudo apt-get remove gedit*
제거하는 것 gedit
, gedit-plugins
하고 gedit-common
. 대부분의 플러그인 / 관련 프로그램은 기본 응용 프로그램에 종속되며 기본 응용 프로그램을 제거 할 때 자동으로 제거 (또는 제거 표시)되기 때문에 일반적으로이 작업을 수행 할 필요는 없습니다.
마지막 명령은 지저분한 제거 프로그램이있는 것으로 알려진 응용 프로그램에서 남은 음식을 제거하고 응용 프로그램의 나머지를 제거하는 것입니다.
답변
패키지를 제거하는 동안 오류 메시지가 나타 났는데, 내가 찾은 유일한 방법은 다음과 같습니다.
mv /var/lib/dpkg/info/package.* /tmp/
dpkg --remove --force-remove-reinstreq package
나는 단지 사용하지만
dpkg --remove --force-remove-reinstreq package
패키지를 제거하지 않으면 이동할 파일의 올바른 경로가 표시됩니다.
mv /var/lib/dpkg/info/package.* /tmp/
응용 프로그램 이름으로 패키지를 대체하십시오. 우분투에서 sudo를 사용하고 데비안에서 루트가 되십시오.
답변
인터넷에서이 명령을 찾았습니다.
dpkg --purge --force-depends application
http://www.debian-administration.org/article/Reinstalling_packages_to_fix_problems .
답변
제거하려는 응용 프로그램에 따라 다릅니다. yes 명령을 실행하기 전에 항상 종속성을 확인하십시오. 명령 행으로 무언가를 제거하면 때때로 더 이상 필요하지 않은 소수의 라이브러리가 표시됩니다. 이들은 apt-get autoremove로 제거 할 수 있습니다.
sudo apt-get remove –purge applicationname과 같은 명령을 사용하면 다른 응용 프로그램에 필요한 일부 종속성이 제거되어 시스템이 손상 될 수 있습니다.
보다 안전한 방식으로 수행하려면 항상 소프트웨어 센터 또는 apt-get remove applicationname을 사용하여 제거하십시오. 종속성이 더 이상 필요하지 않으면 나중에 apt-get autoremove를 발행하십시오.