Yeni kurulum öncesi komut dosyası çalıştırılamıyor (/var/lib/dpkg/tmp.ci/preinst)


1

Genel / ubuntu1604 görüntüsünü kullanan serseri kutuma bir .deb dosyası yüklemeye çalışıyorum ancak aşağıdaki hatayı aldım:

Reading package lists... Done
Building dependency tree

Reading state information... Done
Reading state information... Done

A queue based service for watching directories for files to process as per its configuration.
Do you want to install the software package? [y/N]:y
(Reading database ... 108439 files and directories currently installed.)
Preparing to unpack wtbuild.deb ...
dpkg (subprocess): unable to execute new pre-installation script (/var/lib/dpkg/tmp.ci/preinst): No such file or directory
dpkg: error processing archive wtbuild.deb (--install):
 subprocess new pre-installation script returned error exit status 2
Errors were encountered while processing:
 wtbuild.deb

hata

Bu sadece bu görüntüyle olur. Aynı .deb dosyasını linux makineme (xenial) veya farklı bir linux resme sahip başka bir serseri kutusuna yüklemeye çalışırsam, .deb dosyası doğru yüklenir.

Yanıtlar:


1

Preinst betiğinin shebang satırında görünen yürütülebilir dosyayı özlüyorsunuz.

  1. Paket meta verilerini geçici bir dizine çıkarın: dpkg -e wtbuild.deb tmp
  2. tmp/preinstBir metin düzenleyicide açın .
  3. İlk satır karakterlerle başlamalıdır #!. Bundan sonra görünen metin dosyayı çalıştırmak için kullanılacak programdır. O programı kaçırıyorsun.
  4. Eksik programı sağlayan paketi belirleyin. Örneğin, program buysa /usr/bin/python, pythonpaketi yüklemelisiniz :sudo apt-get install python

Wtbuild.deb dosyasını korursanız, eksik bağımlılığı paketin controldosyasına eklemek için zaman ayırmalısınız . Wtbuild.deb dosyasını başka biri tutarsa, bir hata raporu vermelisiniz ve eksik bağımlılık paketinin adını dahil etmelisiniz.


1
@ Zenexer teşekkürler. Bu beni doğru yöne gösterdi. Shebang'ım kapalıydı, çünkü dosya yoktu ama Lf yerine sonları CrLf'e sahip olduğum için.
N Jones

@ NJones Bu aynı şeydir. Linux, CR'yi çalıştırılabilir adın bir parçası olarak görür, bu nedenle (muhtemelen) bulunmayan bir ikili dosya arar.
Zenexer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.