使用 alien 出现的问题

alien_8.78.tar.gz
alien_8.89.tar.gz
上面这两个版本出现的问题都一样。
在安装好alien以后,执行命令时,出现如下错误:

[fd ~/下载]$ sudo alien -r WineTM2013-20131206-Longene.deb
Use of uninitialized value in lc at /usr/lib/perl5/site_perl/5.18.1/Alien/Package/Deb.pm line 545.
Use of uninitialized value in lc at /usr/lib/perl5/site_perl/5.18.1/Alien/Package/Deb.pm line 545.
Warning: Skipping conversion of scripts in package : postinst postrm preinst prerm
Warning: Use the --scripts parameter to include the scripts.
Use of uninitialized value in lc at /usr/lib/perl5/site_perl/5.18.1/Alien/Package/Deb.pm line 545.
mkdir:无效选项 – 2
Try ‘mkdir --help’ for more information.
unable to mkdir -2013.12.06: at /usr/lib/perl5/site_perl/5.18.1/Alien/Package.pm line 257.
[fd ~/下载]$ vi /usr/lib/perl5/site_perl/5.18.1/Alien/Package/Deb.pm
L53-L549代码如下:
sub name {
my $this=shift;

# set
$this->{name} = shift if @_;
return unless defined wantarray; # optimization

# get
$_=lc($this->{name});
tr/_/-/;
s/^a-z0-9-\.\+]//g;
return $_;

}

L253 - L264代码如下 :
sub unpack {
my $this=shift;

my $workdir = $this->name."-".$this->version;
$this->do("mkdir $workdir") or
	die "unable to mkdir $workdir: $!";
# If the parent directory is suid/sgid, mkdir will make the root
# directory of the package inherit those bits. That is a bad thing,
# so explicitly force perms to 755.
$this->do("chmod 755 $workdir");
$this->unpacked_tree($workdir);

}
请问该如何解决?

请先尝试源里的 alien 软件。

software.opensuse.org/package/alien

也许和依赖的 perl 版本有关。装源里的 alien,如果不行把依赖的软件包都切换成对应源里的。一般是不会差的。不提倡编译安装。

还有,你要 qq 这个不好么。。。

PS:不要说 deb 转成 rpm 了。即使 fedora 和 openSUSE 那么好的基友,同用 rpm ,openSUSE 安装 fedora 的 rpm 也可能会小问题不断。各个发行版的安装目录会有一些差异,可能导致最后你安装好了也不能用。何必冒那么大风险呢:)