이것이 내 문제입니다. 나는 proxmox에서 두 개의 VM 서버를 관리합니다. 최근에는 apt update & apt upgrade
업데이트를 통해 많은 VM Linux 커널을 업그레이드했습니다 .linux-image-4.9.0-13-amd64
linux-image-amd64/oldstable
4.9+80+deb9u11 amd64
배포판은 데비안입니다:
lsb_release -a No LSB modules are available. Distributor ID: Debian
Description: Debian GNU/Linux 9.13 (stretch) Release: 9.13
Codename: stretch
가상 머신 중 하나에 mongoDB가 있습니다. 머신을 업그레이드하고 다시 시작한 이후(오류 없이) mongoDB가 사라지고(더 이상 설치되지 않음) 다시 설치해야 했습니다.
참고로 제가 이 서버 관리를 시작하기 전에는 apt upgrade
다른 서버에서 관리가 이루어졌는데, mysql
.Mysql이 설치된 서버도 업그레이드 후 제거되었습니다...
내 질문은: 이것을 피하기 위해 왜 그리고 무엇을 할 수 있습니까?
내 파일의 끝은 다음과 같습니다 /var/log/apt/history.log
(지난 7일).
Start-Date: 2020-07-22 12:00:07
Commandline: apt-get upgrade -y
Upgrade: nodejs:amd64 (10.21.0-1nodesource1, 10.22.0-1nodesource1)
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2020-07-22 12:00:14
Start-Date: 2020-07-23 12:00:04
Commandline: apt-get upgrade -y
Upgrade: librsvg2-common:amd64 (2.40.16-1+b1, 2.40.21-0+deb9u1), librsvg2-2:amd64 (2.40.16-1+b1, 2.40.21-0+deb9u1)
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2020-07-23 12:00:05
Start-Date: 2020-07-24 12:00:04
Commandline: apt-get upgrade -y
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2020-07-24 12:00:04
Start-Date: 2020-07-27 10:17:29
Commandline: apt upgrade
Install: linux-image-4.9.0-13-amd64:amd64 (4.9.228-1, automatic)
Upgrade: libcomerr2:amd64 (1.43.4-2+deb9u1, 1.43.4-2+deb9u2), e2fsprogs:amd64 (1.43.4-2+deb9u1, 1.43.4-2+deb9u2), e2fslibs:amd64 (1.43.4-2+deb9u1, 1.43.4-2+deb9u2), libss2:amd64 (1.43.4-2+deb9u1, 1.43.4-2+deb9u2), linux-image-amd64:amd64 (4.9+80+deb9u10, 4.9+80+deb9u11)
End-Date: 2020-07-27 10:37:34
오늘 mongoDB를 재설치한 후의 상황은 다음과 같습니다.
Start-Date: 2020-07-29 11:55:34
Commandline: apt-get install -y mongodb-org
Requested-By: user (1001)
Install: mongodb-org-mongos:amd64 (3.6.19, automatic), mongodb-org-tools:amd64
(3.6.19, automatic), mongodb-org-shell:amd64 (3.6.19, automatic), mongodb-org:amd64 (3.6.19), mongodb-org-server:amd64 (3.6.19, automatic)
End-Date: 2020-07-29 11:55:50
Start-Date: 2020-07-29 12:00:07
Commandline: apt-get upgrade -y
Upgrade: libcurl3:amd64 (7.52.1-5+deb9u10, 7.52.1-5+deb9u11), curl:amd64 (7.52.1-5+deb9u10, 7.52.1-5+deb9u11), libcurl3-gnutls:amd64 (7.52.1-5+deb9u10, 7.52.1-5+deb9u11)
End-Date: 2020-07-29 12:00:09
그리고
> dpkg.log | grep remove
나에게는 아무것도 주어지지 않았습니다.
필요한 경우 사전 업그레이드 파일을 게시할 수 있도록 업그레이드하기 전에 VM을 백업했습니다.
stackexchange를 사용하는 것은 이번이 처음이므로 용서해 주시고 게시물에 문제가 있으면 알려주세요!
이 현상을 이해하는 데 도움을 주시면 감사하겠습니다!
감사해요.
편집하다
방금 백업 복원을 마쳤는데 mongodb
더 이상 백업이 없습니다. 어쨌든 언제 제거되었는지 확인할 수 있나요? 오류가 발생했습니다
[26] 12:00:35 R servername Exited with error code 100
이 업데이트를 관리하는 원격 서버에서. 관련이 있을 수 있나요?
편집 2
> zgrep mongodb-org /var/log/apt/history.log.*
나는 이것을 다음에서 찾았습니다 history.log.4.gz
:
Start-Date: 2020-03-04 11:47:17
Commandline: apt autoremove
Remove: mongodb-org-mongos:amd64 (3.6.17), sgml-base:amd64 (1.29), libicu64:amd64 (64.1-0.1+0~20190410090943.5+stretch~1.gbp38f694), php7.3-mysql:amd64 (7.3.15-4+0~20200224.55+debian9~1.gbpbea824), mongo-tools:amd64 (3.2.11-1+b2), mongodb-org-shell:amd64 (3.6.17), libtcmalloc-minimal4:amd64 (2.5-2.2), xml-core:amd64 (0.17), libgoogle-perftools4:amd64 (2.5-2.2), libunwind8:amd64 (1.1-4.1), linux-image-4.9.0-8-amd64:amd64 (4.9.144-3.1), libstemmer0d:amd64 (0+svn585-1+b2), mongodb-org-server:amd64 (3.6.17), libyaml-cpp0.5v5:amd64 (0.5.2-4)
End-Date: 2020-03-04 11:47:27
그렇다면 범인은 어디에 있나요? 해당 명령을 실행한 사람이 누구인지, 새 버전을 설치하지 않고 mongoDB를 제거한 이유를 알 수 있는 방법이 있습니까? 최근 파일에는 더 이상 활동이 history.log
표시되지 않습니다 mongo-db
. 이상하게도 오늘까지 어떤 사용자도 문제를 발견하지 못한 것 같습니다. 커널 업데이트 후 재부팅하면 이 작업을 수행할 수 있습니까? 어딘가에 캐시가 있지 않을까요?
답변1
의견에서 밝혔듯이 MongoDB 제거는 커널 업그레이드와 아무 관련이 없습니다. 질문 끝에 로그인하세요.
Commandline: apt autoremove
보여주다최대MongoDB 패키지는 자동으로 설치되었지만 더 이상 필요하지 않으므로 제거되었습니다. 이는 의 종속성으로 설치되었으나 mongodb-org
나중에 제거되었기 때문일 수 있습니다 . 삭제는 mongodb-org
3월 4일에 이루어지며 더 이상 로그에 표시되지 않습니다.
변화를 감지하는 측면에서 핵심 요소는 재부팅이라고 생각됩니다. Debian 정책을 준수하는 패키지는 제거 시 서비스가 중지되지만 MongoDB 패키지(Debian 패키지 아님)에는 해당되지 않을 수 있습니다. 결과적으로 패키지는 3월에 제거되었지만 서비스는 계속해서 실행되고 데이터를 제공했으며 서버가 다시 시작되어야만 중지되었습니다.