[unix] Linux에서 프로그램 제거

지난 5 년간 Windows와 Mac OS를 사용해 왔으며 이제는 매일 Linux를 사용하는 것을 고려하고 있습니다. 가상 머신에 Ubuntu를 설치하고 일상 업무에 Linux를 사용하는 방법 (js 프로그래머 / 웹 디자이너)을 이해하려고 노력했습니다.

죄송합니다 초보자의 질문에 대한하지만 통해 가끔 프로그램을 설치할 때 나에게 발생 make configmake install쉽게 버터 블없는 방법으로 내 시스템을 변경합니다. 창에서는 프로그램을 설치할 때, 당신은 그것을 제거 할 수없고 희망 당신은 단순히 파일과 같은 앱을 삭제 등에서 맥 OS 파일 시스템이나 경우 레지스트리에 남아있는 프로그램의 흔적을이 책에 의해 재생하는 경우가있을 것입니다.

그러나 리눅스에 존재 apt-get하고있다 make. Linux 설치를 깨끗하고 깔끔하게 유지하는 방법을 이해하지 못했습니다. 새로운 앱을 설치하면 시스템이 손상 될 수 있습니다. 그러나 Linux는 매우 강력하다는 평판을 가지고 있으므로 앱 설치 및 제거가 시스템에 미치는 영향에 대해 이해하지 못하는 것이 있어야합니다. 누구든지 이것에 약간의 빛을 비출 수 있습니까?


업데이트 : 앱을 설치할 때 파일이 실제로 어디에나 퍼질 수 있지만 (패키지 관리자가 문제의 일부를 처리) 멋진 해킹이 있습니다 : Docker사용 하여 앱을 설치하고 샌드 박스에 보관하십시오. 너무 자주 사용하십시오. Firefox와 같은 GUI 응용 프로그램을 Docker “sandbox”에서 완전히 실행할 수도 있습니다 .



답변

새로운 설치 는 소스와 바이너리를 혼합하는 것과 같은 이상한 일을하지 않는 한 시스템을 거의 파괴하지 않습니다.

우분투에서 미리 컴파일 된 바이너리를 사용하는 경우, 당신이 그들을 제거 할 수 있습니다 이진가 있기 때문에하지, 시스템을 파괴에 대해 걱정할 필요가 있어야 그것을 실행하는 데 필요한 및 패키지 관리자가 프로그램 검토에 당신을 위해 프로그램에 의존하는 것을 나열됩니다 무엇을 나열합니다.

소스를 사용할 때는 glib와 같이 중요한 것을 제거하지 않도록 더 조심해야합니다. 소스에서 제거 할 때 경고 나 다른 사항이 없습니다. 즉, 기계를 완전히 깰 수 있습니다.

를 사용하여 제거 apt-get하려면 apt-get remove package이전에 언급 한대로 사용하십시오. 해당 패키지를 사용하는 모든 프로그램도 제거되며 해당 프로그램을 검토 할 수 있습니다.

제거하려는 경우 일반적으로 프로세스는 make uninstall입니다. 경고가 없습니다 (위에서 말했듯이).

make config시스템을 변경하지는 않지만 make install하겠습니다.

초보자 apt-get는 바이너리 패키지에 사용 하거나 배포판을 사용하는 것이 좋습니다 . 그것은 멋지고 체계적으로 유지되며 실제로 원치 않는 한 시스템을 손상시키지 않습니다.

바라건대, 그것은 모든 것을 정리합니다.


답변

이론적으로 추가 된 make uninstall것을 제거하고 make install시스템에 균열이 축적되지 않아야합니다. 물론 문제는 모든 makefile이 동일하게 생성되는 것은 아니라는 것입니다.

어떤 사람들은 uninstall규칙을 생략하여 규칙이 무엇을했는지 알아낼 수 있습니다 install. 설상가상으로, 설치 규칙이 연결된 라이브러리를 덮어 쓰면 바보 같은 uninstall루틴이 다른 프로그램에 대한 종속성을 손상시킬 수 있습니다.

소스 설치를위한 최상의 솔루션은 시스템의 패키징 관리자가 설치 한 패키지와 다른 접두사를 사용하는 것입니다. Apt는 소스 설치에 계층을 /usr/사용하도록 파일을 /usr/local/설치합니다. 따라서 어떤 패키지에 속하는 파일을 쉽게 추적하고 제거해도 시스템이 손상되지 않습니다.

./configure --prefix=/usr/local많은 구성 스크립트에서 작동합니다. 그렇지 않은 경우 Makefile을 수동으로 편집 할 수 있습니다. 또는 파일을 수동으로 복사하십시오.

Apt 및 기타 패키징 관리자는 설치 한 파일과 역방향 종속성을 추적하여 제거 기능을 안전하게 사용할 수 있습니다.


답변

난 당신이 사용을 추천 할 것입니다 apt-get install리눅스와의 모든 패키지 설치 apt-get remove(패키지 이름) 또는 apt-get purge메인 제거 할 것을 패키지를 제외한 모든 설치하는 동안 설치된 관련 패키지 나 의존성뿐만 아니라 제거합니다 (패키지 이름).

이제 시스템을 깨끗하게 유지하려면 apt-get clean https://askubuntu.com/questions/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224 ( 이 게시물은 흥미 롭습니다.) 설치 중에 다운로드되었지만 더 이상 필요하지 않은 모든 파일을 제거합니다.

시스템에 설치되어 있지만 제거 할 때 제거되지 않은 모든 종속성을 제거하려는 경우에 유용한 다른 명령은 apt-get autoremove입니다.

make and make install을 통해 패키지를 설치하는 경우 직접 패키지를 제거하고 (다운로드하는 패키지에 포함 된 README 파일이 포함되어 있음) 파일과 관련된 모든 종속성을 제거해야합니다. . 따라서 배포판의 패키지 관리자가 제공하는 Linux에 패키지를 설치하는 것이 항상 권장되는 이유입니다.이 방법으로 패키지를 사용하면 사용중인 배포판 (Linux의 풍미)과 함께 작동하기에 충분히 패키지가 테스트되었는지 확인할 수 있습니다 시스템을 손상시킬 가능성이 거의 없습니다. 또한 필요할 때 패키지를 업데이트 할 수 있지만, 직접 설치하는 경우이 모든 작업을 수행해야합니다.

이게 도움이 되길 바란다 🙂


답변

Linux에서 설치된 응용 프로그램을 관리하는 일반적인 방법은 패키지 관리자를 사용하는 것입니다. 패키지 관리자의 선택은 배포판을 차별화하는 주요 요소 중 하나입니다. 데비안과 마찬가지로 우분투는 dpkgAPT를 사용합니다 . 대부분의 경우 apt-get(명령 줄), 적성 (명령 줄 또는 텍스트 모드) 또는 시냅틱 (GUI) 과 같은 APT 인터페이스 중 하나와 만 상호 작용하면됩니다 .

패키지 관리자는 어떤 파일이 설치된 프로그램에 속하는지 추적합니다. Windows와 마찬가지로 프로그램은 설치 또는 제거 절차의 일부로 임의 코드를 실행할 수 있지만 일반적으로 잘 작동하며 다른 프로그램을 중단하지 않습니다. 또한 (설치되지 않은) 설치 코드는 업스트림 작성자가 아닌 패키지 관리자가 작성합니다 (주 배포 패키지). Windows와 달리 설치, 업그레이드 및 제거를위한 통합 인터페이스 인 패키지 관리자가 있습니다. 제거 프로그램 (있는 경우)을 검색하지 않아도됩니다. 그래픽 패키지 관리자에서 “제거”아이콘을 클릭하거나을 실행하면 apt-get remove PACKAGENAME됩니다.

“이국적인”소프트웨어가 필요한 경우, 아카이브의 압축을 풀거나 소스에서 컴파일하여 수동으로 설치해야합니다. 실행 가능한 프로그램 형태로 제공되는 설치 프로그램은 Linux 세계에서는 거의 없습니다. 실행은 make install여러 디렉토리 (이상 각 프로그램을 확산하는 경향이 /usr/local/bin, /usr/local/man, /usr/local/lib, 등). 물건을 정렬하려면 stow 와 같은“가난한 사람의 패키지 관리자”를 사용하는 것이 좋습니다 . stow를 사용하면 각 패키지가 자체 디렉토리에 설치되고 stow유틸리티는 기호 링크 작성 을 처리하여 패키지가 설치 한 명령이 명령 검색 경로 등이되도록합니다. 자세한 내용 은 프로그램 추적 유지 를 참조하십시오.


답변

거의 모든 배포판에는 고유 한 패키지 관리자 선택이 있으며 인기있는 여러 가지가 있습니다. pacman, apt, rpm, emerge, … 데비안 기반 배포판은 apt를 사용합니다.

문서는 어려워 보이지만 실제로 로컬 사용을 위해 .deb를 만드는 것은 어렵지 않습니다 . 작업을 계속하십시오.


답변

가능하면 패키지 관리자 (apt-get, aptitude, synaptic 또는 aptdcon, 소프트웨어 센터, mintinstall 등)를 사용해야합니다. 설치를 위해 make 작업을 사용하는 것은 매우 원시적이며 uninstall상대방을 보장하지 않으며 나머지 시스템과 잘 작동한다고 보장하지 않습니다 (make ‘s 빌드 시스템에 묶인 스크립트 일뿐입니다. 검토 된 패키지와 달리 작업에 포함될 수 있습니다 모든 실행 코드, 잠재적으로 악성 코드).

필요한 소프트웨어 패키지 버전을 찾지 못하면 checkinstall( checkinstall make install)가 도움 이 될 수 있습니다.


답변

나는 전문가가 아니며 소스에서 소프트웨어를 설치하는 것에 대해 잘 모르지만을 사용 apt-get하면 설치된 소프트웨어를로 제거 ​​할 수 있습니다 apt-get remove package-name. 모든 구성 파일도 제거하려면을 사용하십시오 apt-get purge package-name. Linux 설치를 깔끔하게 유지하는 가장 안전한 방법은 공식 리포지토리의 패키지 만 사용하는 것입니다. 공식 저장소에없는 패키지가 필요한 경우 PPA 에서 패키지를 찾을 수 있습니다 (우분투를 사용하기 때문에) .