* 접미사를 제공할 때 apt가 원하지 않는 패키지를 제거하는 이유는 무엇입니까?

* 접미사를 제공할 때 apt가 원하지 않는 패키지를 제거하는 이유는 무엇입니까?

나는 sudo apt-get remove ruby*그런 다음 일부 grub 패키지도 제거되는 것을 확인하여 로그에 제거된 것으로 표시된 패키지를 다시 설치했습니다.

/sda다시 설치할 때 grub이 내 (일반적으로 어떤 숫자도 아님) 작동하도록 설정했습니다 .

모두 괜찮을까요? 아니면 시스템이 걱정되어서 더 많은 grub을 설치/재구성할 계획을 세워야 할까요?

그리고, 왜 이런 일이 일어났는가?

답변1

현재 수행 중인 작업이 정확히 무엇인지 모른다면 다음을 사용하지 마십시오.

sudo apt-get remove package.*
#                          ⤷ or any other character in the place of dot

이는 의도하지 않은 패키지를 삭제하고 해결되는 것보다 더 많은 문제를 일으킬 수 있기 때문입니다. 이름에 package.*문자열이 포함된 모든 패키지(및 해당 종속성)와 일치합니다 . package이것은 man apt-get라인 110 어딘가에 있는 것입니다:

       If no package matches the given expression and the expression
       contains one of '.', '?' or '*' then it is assumed to be a POSIX
       regular expression, and it is applied to all package names in the
       database. Any matches are then installed (or removed). Note that
       matching is done by substring so 'lo.*' matches 'how-lo' and
       'lowest'. If this is undesired, anchor the regular expression with
       a '^' or '$' character, or create a more specific regular
       expression.

그리고 이건정규식/POSIX 기본 정규식위키북:

* 이전 요소를 0회 이상 일치시킵니다. 예를 들어 ab*c"교류", "알파벳", "abbbc" 등은 [xyz]*"", "와 일치합니다.엑스", "와이", "", "zx", "지크스", "xyzzy" 등. \(ab\)*"", "와 일치합니다 .ab", "아밥", "아바바브", 등등.

sudo apt-get remove package.*어쨌든, 정말로 (or sudo apt-get remove packagey*, 또는 sudo apt-get remove packagec*- 이 경우 모두 동일함) 과 같은 것을 실행하고 싶다면 ,-s먼저 ( ) 옵션을 사용하여 실행하여 --simulate정확히 무엇을 할 것인지 확인하십시오.( man apt-get자세한 내용은 참조).

이제 다음 두 단계를 사용하여 문제를 해결할 수 있다고 생각합니다.

  1. 제거한 모든 패키지를 다시 설치하십시오.

  2. 다음만 제거 ruby:

    sudo apt-get remove ruby
    

    또는 이름이 다음으로 시작하는 모든 패키지를 제거하려는 경우 ruby:

    sudo apt-get remove ^ruby
    

    그러나 먼저 다음을 사용하여 시뮬레이션하는 것이 좋습니다.

    apt-get -s remove ^ruby
    

답변2

Apt-get은 정규 표현식과 함께 작동합니다. 즉, 다음 ruby*을 포함하는 모든 패키지를 선택합니다.장애그들의 이름으로. 다음으로 시작하는 모든 패키지를 제거하는 올바른 방법루비이다:

apt-get remove ^ruby

답변3

터미널에서 이 명령을 시도해 보세요.

sudo grub-install /dev/sda

디스크에 grub2를 다시 설치합니다.

grub을 구성하려면 grub-pc패키지를 설치하십시오. 아래 명령을 사용하여 grub-pc패키지를 설치하십시오.

sudo apt-get install grub-pc

메모:레거시 모드로 Ubuntu를 설치한 경우에만 이 패키지를 설치하십시오.

관련 정보