sudo dpkg 错误 - 字段“Maintainer”的值中有空行

sudo dpkg 错误 - 字段“Maintainer”的值中有空行

我在 Ubuntu 12.04 LTS 上运行,并尝试安装 NX。当使用sudo dpkg插件命令 ( nxplugin_3.5.0-6_i386.deb) 时,我收到错误。

我尝试了很多方法。其他软件包似乎可以工作,但这个不行。我查看了好多,听起来可能与文件有关,/var/lib/dpkg/status但我在第 6 行看到的是:

Maintainer: Ubuntu Developers <[email protected]>

错误如下:

sudo dpkg -i nxplugin_3.5.0-6_i386.deb
dpkg: error processing nxplugin_3.5.0-6_i386.deb (--install):
 parsing file '/var/lib/dpkg/tmp.ci/control' near line 6 package 'nxplugin':
 blank line in value of field 'Maintainer'
Errors were encountered while processing:
 nxplugin_3.5.0-6_i386.deb

任何帮助都值得感激。谢谢,

杰夫

答案1

您可以轻松编辑控制文件来解决此问题。打开geditnano输入或粘贴:

#!/bin/bash

if [[ -z "$1" ]]; then
  echo "Syntax: $0 debfile"
  exit 1
fi

DEBFILE="$1"
TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1
OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb

if [[ -e "$OUTPUT" ]]; then
  echo "$OUTPUT exists."
  rm -r "$TMPDIR"
  exit 1
fi

dpkg-deb -x "$DEBFILE" "$TMPDIR"
dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN

if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then
  echo DEBIAN/control not found.

  rm -r "$TMPDIR"
  exit 1
fi

CONTROL="$TMPDIR"/DEBIAN/control

MOD=`stat -c "%y" "$CONTROL"`
vi "$CONTROL"

if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then
  echo Not modfied.
else
  echo Building new deb...
  dpkg -b "$TMPDIR" "$OUTPUT"
fi

rm -r "$TMPDIR"

将文件与 相同debedit.sh,并使用 使其可执行chmod +x debedit.sh

然后,运行debedit.sh nxplugin_3.5.0-6_i386.deb文件,编辑正确的行(或添加)。保存,然后运行sudo dpkg -i nxplugin_3.5.0-6_i386.deb.modified.deb(名称可能略有不同),尽情享受吧!

来源:http://ubuntuforums.org/showthread.php?t=636724

答案2

听起来这个软件包坏了(技术性:文件control无效)。也许你可以请软件包的作者来修复它。

相关内容