Ошибки dpkg при попытке установить nginx

Ошибки dpkg при попытке установить nginx

Попытка установить 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.

Связанный контент