nginx를 설치하려고 할 때 dpkg 오류가 발생합니다.

nginx를 설치하려고 할 때 dpkg 오류가 발생합니다.

nginx를 설치하려고 합니다:

  1. 첫 번째:

    sudo curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
    

    결과:

    괜찮아 보이는데:

    > ## Run `sudo apt-get install -y nodejs` to install Node.js 16.x and npm
    > ## You may also need development tools to build native addons:
    >      sudo apt-get install gcc g++ make
    > ## To install the Yarn package manager, run:
    >      curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
    >      echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee
    > /etc/apt/sources.list.d/yarn.list
    >      sudo apt-get update && sudo apt-get install yarn
    
  2. 그 다음에:

    sudo apt install -y nodejs nano nginx
    

    괜찮은 것 같은데 실행하라는 메시지가 표시됨apt --fix-broken install

    You might want to run 'apt --fix-broken install' to correct these.
    The following packages have unmet dependencies:
     nginx : Depends: nginx-core (< 1.18.0-6ubuntu11.1~) but it is not going to be installed or
                      nginx-full (< 1.18.0-6ubuntu11.1~) but it is not going to be installed or
                      nginx-light (< 1.18.0-6ubuntu11.1~) but it is not going to be installed or
                      nginx-extras (< 1.18.0-6ubuntu11.1~) but it is not going to be installed
             Depends: nginx-core (>= 1.18.0-6ubuntu11) but it is not going to be installed or
                      nginx-full (>= 1.18.0-6ubuntu11) but it is not going to be installed or
                      nginx-light (>= 1.18.0-6ubuntu11) but it is not going to be installed or
                      nginx-extras (>= 1.18.0-6ubuntu11) but it is not going to be installed
    E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
    
  3. 달리다:

    apt --fix-broken install`
    

    오류가 있습니다:

    dpkg: error processing archive /var/cache/apt/archives/nodejs_16.13.0-deb-1nodesource1_amd64.deb (--unpack):
     trying to overwrite '/usr/share/doc/nodejs/api/fs.html', which is also in package nodejs-doc 12.22.5~dfsg-5ubuntu1
    dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
    Errors were encountered while processing:
     /var/cache/apt/archives/nodejs_16.13.0-deb-1nodesource1_amd64.deb
    needrestart is being skipped since dpkg has failed
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

다음에 무엇을 해야할지 모르겠지만 nginx가 설치되지 않은 것 같습니다.

답변1

조차 할 수 없다고 하셨습니다 apt-get install nginx. 나 역시 그런 문제를 겪었고, 내 경우에는 nginx의 기존 인스턴스를 모두 수동으로 제거할 때까지 제거조차 할 수 없었습니다. 언젠가 이전에 nginx를 설치하려고 시도한 것 같은데 기억이 나지 않았고 설치가 엉망이었습니다. 노력하다

$ whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz

내가 한 일은 모든 항목을 강제로 제거한 rm -rf다음 내가 찾은 기존 기호 링크를 제거하는 것입니다. 그 후 마침내 언급하신 모든 nginx 관련 패키지를 제거하고 실제로 nginx를 다시 설치할 수 있었습니다.

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/nginx/1.18.0-6ubuntu11/nginx_1.18.0.orig.tar.gz
# extract
cd nginx_1.18.0.orig/nginx-1.18.0/
./configure
make

소스에서 설치했지만(이전 항목을 모두 제거하기 전에는 수행할 수 없었음) 사용 apt-get install nginx도 가능해야 합니다.

관련 정보