기능적인 Perl 없이 Debian에서 Perl을 완전히 다시 설치하는 방법은 무엇입니까?

기능적인 Perl 없이 Debian에서 Perl을 완전히 다시 설치하는 방법은 무엇입니까?

간단히 말해서: CPAN을 구성하려고 시도하는 동안 말도 안 되는 어리석은 실수를 저질렀습니다. 그 결과 두 가지 버전의 Perl이 생겼고 둘 다 중요한 패키지가 누락되었습니다. 특히, 이러한 세미 릴리스에는 apt-get 또는 CPAN이 제대로 작동하도록 하는 데 필요한 기능이 없습니다. 이는 일반적으로 제가 Perl을 수행하기 위한 패키지를 얻는 방법이라고 생각합니다.

현재 이 문제를 해결하기 위해 제가 생각할 수 있는 유일한 방법은 제가 엉망으로 만들지 않은(따라서 Perl을 심각하게 손상시키지 않은) Debian VM이 있다는 사실에 의존하므로 이론적으로 다음을 제거할 수 있습니다. 두 부분을 나누어 내 호스트 컴퓨터 버전에서 Perl을 설치한 다음 가상 컴퓨터에서 작동 중인 Perl의 복사본을 붙여넣습니다. 이런 종류의 일에 대한 다른 합리적인 접근 방식이 있습니까?

답변1

데비안의 Perl은 여러 부분으로 나누어져 있습니다. 섹션 중 하나( perl-base패키지)는 "기본" 패키지 컬렉션의 일부입니다. 데비안은 이러한 기본 패키지를 "데비안 시스템에 항상 설치됨"으로 정의합니다. 패키지는 어떤 형태의 종속성도 선언하지 않더라도 사용 가능하다고 가정할 수 있습니다. 이 중 하나를 제거하면 상황이 매우 잘못될 수 있습니다. 따라서 이 작업을 시도하면 시스템은 큰 소리로 불평하고 dpkg문구, 구두점 등을 그대로 입력하여 시스템을 중단할지 여부를 확인하도록 요청합니다. Yes, do as I say!절대로 이렇게 하지 마십시오. 시스템이 자체적으로 복구될 가능성이 거의 없는 상태가 됩니다.

이렇게 하면 이제 시스템이 손상되었습니다. 하지만 절망하지 마십시오. 여전히 고칠 수 있습니다.

  • 먼저 실행하여 실제로 패키지를 dpkg -l perl-base분실했는지 확인합니다 . perl-base명령의 출력이 ii포함된 행에서 . 로 시작 하면 perl-base문제가 되지 않으며 다른 문제가 있는 것입니다. 이 경우,특정 apt 명령을 실행하려고 할 때 나타나는 정확한 오류 메시지를 게시하세요.. 그렇지 않으면 디버깅이 수정구슬 문제가 됩니다.
  • 다운로드perl-base실행 중인 Debian 버전의 패키지입니다.
  • 다음으로 를 실행하면 ar x perl-base*deb현재 작업 디렉터리에 debian-binary, data.tar.gz및 3개의 파일이 생성됩니다 control.tar.gz. 참고: data.tar.gz는 data.tar.xz일 수도 있습니다. 시스템에 설치되어 있지 않은 경우 ar다른 시스템에서 이 단계를 실행하고 결과 파일을 손상된 시스템에 복사할 수 있습니다(모든 UNIX 유사 시스템이 작동하며 데비안 시스템일 필요는 없습니다).
  • tarball에는 data패키지가 파일 시스템에 넣으려는 파일이 포함되어 있습니다. 다음 명령을 사용하여 올바른 위치에 압축을 풉니다. tar xvaf data.tar.* -C /. 여기서 드릴 비트 는 추출할 파일 시스템과 관련된 루트 디렉터리를 -C /알려주는 중요한 부분입니다 .tar
  • 여기에 도착하면 손실된 파일이 시스템에 다시 저장되어 다시 작동 dpkg합니다 apt. 그러나 아직 완료되지 않았습니다. 파일은 거기에 있지만 "설치" 방식으로 인해 파일이 없다고 생각 perl-base하고 dpkg이상한 작업을 시작할 수 있습니다. 따라서 를 실행하여 "다시" 설치해야 합니다 dpkg -i perl-base*deb.

이제 모든 것이 고쳐져야 합니다. 다음에 dpkg해당 문구를 입력하라는 메시지가 나타나면 현명하게 "아니요"라고 말하세요 ;-)

관련 정보