APT 저장소의 Emacs 버전이 24.3이라고 가정하면 내 configure && make install
Emacs는 24.4입니다. 오랜 시간이 지나 APT 저장소의 소프트웨어가 24.5로 업데이트되었습니다. APT를 실행할 때 APT는 무엇을 합니까 apt-get update && atp-get safeupgrade
?
수동으로 설치한 소프트웨어를 APT가 처리하도록 하는 일반적인 방법은 무엇입니까?
답변1
apt-get에는 "safeupgrade" 명령이 없습니다. "자격보장 업그레이드"를 고려하고 계시나요?
그 외에도 패키지 시스템은 패키지 하위 시스템 프로그램에 의해 이루어진 모든 변경 사항에 대한 데이터베이스를 유지 관리하기 때문에 apt-get은 사물만 "알고 있습니다". 소스를 다운로드하고 직접 빌드한 다음 설치하면 패키지 하위 시스템을 사용하여 수행되지 않으므로 이러한 변경 사항은 어디에도 기록되지 않으므로 apt-get은 이에 대해 알 수 없습니다.
컴퓨터에서 "apt-get install emacs"를 수행하지 않으면 패키지 하위 시스템은 emacs가 설치되어 있다는 사실을 결코 알 수 없으므로 "apt-get Upgrade"는 절대로 이를 건드리지 않으므로 안전합니다. "dpkg --list"에 나열된 프로그램만 "apt-get update"로 처리됩니다.
"apt-get install emacs"를 수행했다면 그것은 다른 이야기입니다.
"./configure --prefix=/usr/local/bin"(및 기타 위치 지정 매개변수)을 사용할 만큼 똑똑하다면 사용자 정의 emacs 파일은 "apt-get"과 다른 위치에 있을 것입니다. "install emacs"가 시스템에 로드되고 두 개의 작동하는 emacs 설치가 있게 됩니다. 따라서 "apt-get 업그레이드"를 수행하고 저장소에 apt-get 소프트웨어 패키지보다 더 새로운 emacs가 있는 경우, 이는 패키지를 대체하며 사용자 정의 버전은 영향을 받지 않습니다.
구성 옵션을 사용하지 않고 사용자 정의 emacs를 빌드하는 경우 패키지된 emacs 파일 상단에 해당 내용이 기록될 수 있습니다. 그러나 이는 .deb를 빌드하고 저장소에 넣을 때 패키지 관리자가 사용한 옵션에 따라 달라지므로 예측하기가 다소 어렵습니다. 그럼에도 불구하고 apt-get 업그레이드를 수행하면 사용자 정의 설치로 덮어쓰인 모든 항목을 다시 덮어쓰게 됩니다. 각 설치 후에는 작동하는 버전의 emacs와 몇 가지 불필요한 부분만 갖게 됩니다.
답변2
APT는 귀하가 수동으로 설치한 소프트웨어에 대해 아무것도 모릅니다.
/usr/local
(기본 위치)에 Emacs를 설치하는 경우 해당 설치는 /usr
APT 관리에 따른 Emacs 설치와 완전히 독립적입니다. run이 emacs
실행됩니다 /usr/local/bin/emacs
(수동으로 설치했습니다). running은 /usr/bin/emacs
APT가 설치된 Emacs를 실행합니다(더 구체적으로 말하면 최신 버전 - Debian의 1 Emacs 패키지는 여러 버전 설치를 지원합니다).
Emacs를 설치했다면 /usr
혼란스러운 일이겠지만 너무 많지는 않기를 바랍니다. /usr
패키지 관리자용으로 예약되어 있지만 /usr/local
시스템 관리자용은 아닙니다(패키지 관리자는 여기에 몇 개의 디렉터리만 생성합니다). make uninstall
이 파일을 삭제하려면 Emacs 소스 디렉터리에서 실행하세요. 데비안 패키지를 다시 설치하기 전에 이 작업을 수행하십시오.
소프트웨어를 수동으로 설치하고 싶지만 /usr/local
종속성을 충족하기 위해 패키지 관리자에 이를 선언하는 경우 make a fake package 를 사용할 수 있습니다 equivs
. 바라보다설치된 tar 패키지를 적절하게 인식하는 방법은 무엇입니까?
Debian은 설치된 Emacs 버전에 대한 Elisp 패키지를 자동으로 바이트 컴파일합니다. 이를 활용하려면 수동으로 설치된 Emacs 버전 외에 패키지 관리자를 통해 Emacs 버전을 설치할 수도 있습니다. 호환 가능한 바이트코드가 있는 것을 선택하세요(동일한 메이저 버전을 가진 이전 마이너 버전은 괜찮습니다., 예를 들어 24.3 deb 및 24.4 수동 설치). 수동으로 설치된 버전이 로컬 /usr/share/emacs/24.3/lisp/startup.elc
로 설치된 startup.el
.
1 이 기사에서 "Debian"에는 Ubuntu, Mint 등을 포함하여 동일한 Emacs 래퍼를 사용하는 파생 제품이 포함됩니다.