我在 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
您可以轻松编辑控制文件来解决此问题。打开gedit
或nano
输入或粘贴:
#!/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
(名称可能略有不同),尽情享受吧!
答案2
听起来这个软件包坏了(技术性:文件control
无效)。也许你可以请软件包的作者来修复它。