① .ipk用什么打开
IPK网页被人封了
ipk文件用压缩器来解压建议安装:WINRAR压缩文件管理器
如没压缩器,上网下载,然后向文件点击右键,-打开方式-WINRAR压缩文件管理器-按决定。就ok了
② proct key激活系统key与window SKU不匹配怎么解决
Slmgr.vbs参数使用方法:
---------------------------
Windows Script Host
---------------------------
Windows 软件授权管理工具
用法: slmgr.vbs [MachineName [User Password]] [<Option>]
MachineName: 远程计算机的名称(默认为本地计算机)
User: 远程计算机上具有所需特权的帐户
Password: 前面帐号的密码
全局选项:
/ipk <Proct Key>
安装产品密钥(替换现有密钥)
/ato [Activation ID]
激活 Windows
/dli [Activation ID | All]
显示许可证信息(默认: 当前许可证)
/dlv [Activation ID | All]
显示详细的许可证信息(默认: 当前许可证)
/xpr [Activation ID]
当前许可证状态的截止日期
高级选项:
/cpky
从注册表中清除产品密钥(防止泄露引起的攻击)
/ilc <License file>
安装许可证
/rilc
重新安装系统许可证文件
/rearm
重置计算机的授权状态
/rearm-app <应用程序 ID>
重置给定应用的授权状态
/rearm-sku <Activation ID>
重置给定 SKU 的授权状态
/upk [Activation ID]
卸载产品密钥
/dti [Activation ID]
显示安装 ID 以进行脱机激活
/atp <Confirmation ID> [Activation ID]
使用用户提供的确认 ID 激活
批量许可: 密钥管理服务(KMS)客户端选项:
/skms <Name[:Port] | : port> [Activation ID]
设置 KMS 计算机名称和/或端口。IPv6 地址必须以“[计算机名]:端口”的格式指定
/ckms [Activation ID]
清除所使用的 KMS 计算机名称(将其端口设置为默认值)
ms-domain <FQDN> [Activation ID]
设置可在其中找到所有 KMS SRV 记录的特定 DNS 域。如果特定的单 KMS 主机通过 /skms 选项进行设置,则此设置无效。
/ckms-domain [Activation ID]
清除可在其中找到所有 KMS SRV 记录的特定 DNS 域。如果特定的 KMS 主机通过 /skms 进行设置,则将使用该 KMS 主机。否则,将使用默认的 KMS 自动发现。
/skhc
启用 KMS 主机缓存
/ckhc
禁用 KMS 主机缓存
批量许可: 基于令牌的激活选项:
/lil
列出安装的基于令牌的激活颁发许可证
/ril <ILID> <ILvID>
删除安装的基于令牌的激活颁发许可证
/ltc
列出基于令牌的激活证书
/fta <证书指纹> [<PIN>]
强制进行基于令牌的激活
批量许可: 密钥管理服务(KMS)选项:
/sprt <Port>
设置 KMS 用于与客户端进行通信的 TCP 端口
/sai <Activation Interval>
设置未激活的客户端尝试连接 KMS 的时间间隔(分钟)。虽然建议了默认时间(2 小时),但是激活间隔必须介于 15 分钟(最小值)到 30 天(最大值)之间。
/sri <Renewal Interval>
设置激活的客户端尝试连接 KMS 的续订时间间隔(分钟)。虽然建议了默认时间(7 天),但是续订时间间隔必须介于 15 分钟(最小值)和 30 天(最大值)之间。
/sdns
启用通过 KMS 进行的 DNS 发布(默认)
/cdns
禁用通过 KMS 进行的 DNS 发布
/spri
将 KMS 优先级设置为普通(默认)
/cpri
将 KMS 优先级设置为低
/act-type [激活类型] [Activation ID]
将激活类型设置为 1 (针对 AD)或 2 (针对 KMS)或 3 (针对 Token)或 0 (针对全部)。
批量许可: Active Directory (AD)激活选项:
/ad-activation-online <Proct Key> [激活对象名称]
通过用户提供的产品密钥激活 AD (Active Directory)林。
/ad-activation-get-iid <Proct Key>
显示 AD (Active Directory)林的安装 ID
/ad-activation-apply-cid <Proct Key> <Confirmation ID> [激活对象名称]
通过用户提供的产品密钥和确认 ID 激活 AD (Active Directory)林
/ao-list
显示 AD (Active Directory)中的激活对象
/del-ao <Activation Object DN | Activation Object RDN>
针对用户提供的激活对象,删除 AD (Active Directory)中的激活对象
③ 'slmgr.vbs-ipk' 不是内部或外部命令,也不是可运行的程序 怎么解决 谢谢
SLMGR.VBS -ipk 24J6Q-YJJBG-V4K4Q-2J8HY-8HBQQ
后面要跟序列号!请注意空格(VBS后一个,ipk后一个)
④ Openwrt 编译ipk出错,如下错误,怎么解决 denghuinow@Ubuntu:
程序包有问题,或者缺少其他依赖包,感觉,建议不成熟见谅
⑤ 如何提取ipk包,如何打包
ipk文件实际上是用ar命令打包的一个归档包。没有数字签名的ipk中一般包含control.tar.gz、data.tar.gz和debian-binary这三个文件。
其中debian-binary里面是固定的。
control.tar.gz中包含了control、md5sums、preinst、postinst、prerm、postrm这几个文件,其中control是必须的,其它都是可选的。
data.tar.gz中包含了要安装的程序和数据。
ipk的安装对于大多数用户来说都是使用preware、WebOS Quick Install、Internalz Pro来安装程序的。如果不考虑postinst脚本,那么使用这些工具安装的文件都是相对于/media/cryptofs/apps目录进行安装的。如果直接使用不带-o参数的ipkg install命令安装的话,那么安装的文件都是相对于/目录的。也就是说ipk包中实际上并不包含相对于那个路径进行安装的信息。安装到哪儿只跟安装的方式有关。
rootfs.tar.gz中那些预先安装好的包都是相对于/目录安装的。相对于/目录安装的程序,用户通过preware、WebOS Quick Install和系统自带的软件包管理器都是无法卸载的,但并不是说就真的无法卸载,实际上只要你愿意,这些包都可以在root帐号下用ipkg remove命令来卸载掉。
我们在上一节中有一个<carrier>.tar没有介绍(<carrier>表示att、wr、verizon等),之所以没介绍主要原因就是我们需要先了解上面的这些内容,然后才比较容易解释这个<carrier>.tar。
这个<carrier>.tar中的主要内容就是一些ipk包,另外,还有一个installer.xml。这个installer.xml如果不是要做跨运营商或跨机型移植,是不需要修改的。那么剩下的就是运营商定制的一些ipk包了。这些包是在刷机程序把rootfs.tar.gz写入设备之后,进行安装的。他们都是相对于/目录进行安装的。因此这些包从本质上来讲,跟rootfs.tar.gz中预先安装的包是没有区别的。唯一的区别就是rootfs.tar.gz中的包是预先安装好的,<carrier>.tar中的包是在刷机过程中进行安装的。而ROM验证md5sums的过程是在<carrier>.tar中的所有ipk安装之后才进行的。因此,<carrier>.tar中的包也是需要进行md5sums验证的。
既然<carrier>.tar中的包也需要验证,所以对于放在<carrier>.tar中的包来说,它的control.tar.gz中的md5sums不是可选的,而是必须的。如果缺少了这个md5sums,那么刷机到82%时,同样会因为无法通过md5sums验证而终止刷机,无法重启。
要生成一个带md5sums的ipk,如果靠手工来计算编写md5sums,并自己通过tar、gzip、ar等命令来打包实在是麻烦的很。实际上前人早在10年前就做好了这样的打包脚本,叫ipkg-build。我们可以直接拿来用。
下面是这个脚本的完整内容:
#!/bin/sh
# ipkg-build -- construct a .ipk from a directory
# Carl Worth <[email protected]>
# based on a script by Steve Redler IV, [email protected] 5-21-2001
set -e
ipkg_extract_value() {
sed -e "s/^[^:]*:[[:space:]]*//"
}
required_field() {
field=$1
value=`grep "^$field:" < $CONTROL/control | ipkg_extract_value`
if [ -z "$value" ]; then
echo "*** Error: $CONTROL/control is missing field $field" >&2
return 1
fi
echo $value
return 0
}
pkg_appears_sane() {
local pkg_dir=$1
local owd=`pwd`
cd $pkg_dir
PKG_ERROR=0
large_uid_files=`find . -uid +99`
if [ -n "$large_uid_files" ]; then
echo "*** Warning: The following files have a UID greater than 99.
You probably want to chown these to a system user: " >&2
ls -ld $large_uid_files
echo >&2
fi
if [ ! -f "$CONTROL/control" ]; then
echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2
cd $owd
return 1
fi
pkg=`required_field Package`
[ "$?" -ne 0 ] && PKG_ERROR=1
version=`required_field Version | sed 's/.*://;'`
[ "$?" -ne 0 ] && PKG_ERROR=1
arch=`required_field Architecture`
[ "$?" -ne 0 ] && PKG_ERROR=1
required_field Maintainer >/dev/null
[ "$?" -ne 0 ] && PKG_ERROR=1
required_field Description >/dev/null
[ "$?" -ne 0 ] && PKG_ERROR=1
section=`required_field Section`
[ "$?" -ne 0 ] && PKG_ERROR=1
if [ -z "$section" ]; then
echo "The Section field should have one of the following values:" >&2
echo "Games, Multimedia, Communications, Settings, Utilies, Applications, Console, Misc" >&2
fi
priority=`required_field Priority`
[ "$?" -ne 0 ] && PKG_ERROR=1
if [ -z "$priority" ]; then
echo "The Priority field should have one of the following values:" >&2
echo "required, important, standard, optional, extra." >&2
echo "If you don't know which priority value you should be using, then use \`optional'" >&2
fi
if echo $pkg | grep '[^a-z0-9.+-]'; then
echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2
PKG_ERROR=1;
fi
local bad_fields=`sed -ne 's/^\([^[:space:]][^:[:space:]]\+[[:space:]]\+\)[^:].*/\1/p' < $CONTROL/control | sed -e 's/\\n//'`
if [ -n "$bad_fields" ]; then
bad_fields=`echo $bad_fields`
echo "*** Error: The following fields in $CONTROL/control are missing a ':'" >&2
echo " $bad_fields" >&2
echo "ipkg-build: This may be e to a missing initial space for a multi-line field value" >&2
PKG_ERROR=1
fi
for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do
if [ -f $script -a ! -x $script ]; then
echo "*** Error: package script $script is not executable" >&2
PKG_ERROR=1
fi
done
if [ -f $CONTROL/conffiles ]; then
for cf in `cat $CONTROL/conffiles`; do
if [ ! -f ./$cf ]; then
echo "*** Error: $CONTROL/conffiles mentions conffile $cf which does not exist" >&2
PKG_ERROR=1
fi
done
fi
cd $owd
return $PKG_ERROR
}
###
# ipkg-build "main"
###
case $# in
1)
dest_dir=.
;;
2)
dest_dir=$2
;;
*)
echo "Usage: ipkg-build <pkg_directory> [<destination_directory>]" >&2
exit 1
;;
esac
pkg_dir=$1
if [ ! -d $pkg_dir ]; then
echo "*** Error: Directory $pkg_dir does not exist" >&2
exit 1
fi
# CONTROL is second so that it takes precedence
CONTROL=
[ -d $pkg_dir/DEBIAN ] && CONTROL=DEBIAN
[ -d $pkg_dir/CONTROL ] && CONTROL=CONTROL
if [ -z "$CONTROL" ]; then
echo "*** Error: Directory $pkg_dir has no CONTROL subdirectory." >&2
exit 1
fi
if ! pkg_appears_sane $pkg_dir; then
echo >&2
echo "ipkg-build: Please fix the above errors and try again." >&2
exit 1
fi
tmp_dir=$dest_dir/IPKG_BUILD.$$
mkdir $tmp_dir
(cd $pkg_dir/data; find . -type f -print0 | xargs -0 md5sum ) > $pkg_dir/$CONTROL/md5sums
if [ ! -f "$pkg_dir/files.txt" ]; then
(cd $pkg_dir/data; find . -type f -print0 |xargs -0 grep '' -l) >$pkg_dir/files.txt
fi
# tar -C $pkg_dir/data -cf $tmp_dir/data.tar -T $pkg_dir/files.txt -h --verify
tar -C $pkg_dir/data -cf $tmp_dir/data.tar . --verify
gzip -f $tmp_dir/data.tar
tar -C $pkg_dir/$CONTROL -czf $tmp_dir/control.tar.gz .
echo "2.0" > $tmp_dir/debian-binary
pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk
#tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz
(cd $tmp_dir ;ar -qc $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ; mv $pkg_file ../)
rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz
rmdir $tmp_dir
echo "Packaged contents of $pkg_dir into $pkg_file"
这个脚本我对它作过一处非常细微的修改,旧的脚本中在打包data.tar.gz时,对软连接和硬连接是将连接指向的文件进行打包的。而实际上我们没有必要这样做,我们可以直接将连接以原始方式打包到ipk的data.tar.gz中,这是ipk包允许的。而且实际上webOS系统中原本有好多包本来就是带有软连接的,如果不做这个修改,后面我们就不能正确的将系统全部打包回ipk。
好了,有了这个脚本,我们就可以自制ipk包了。首先建立一个包的目录,通常我们以包名来命名,然后在其下建立两个目录,分别为CONTROL和data,注意大小写。
CONTROL目录下放control.tar.gz解压之后的内容。其中不必包含md5sums,即使包含在打包时也会重新生成,因此不必担心md5sums的正确性。
data目录下放data.tar.gz解压之后的内容。注意它是相对于/的,里面的内容要包含相对于/的路径。另外,即使你希望这些内容被安装到/media/cryptofs/apps,也不要把这个路径建立到data目录下,这个路径是在安装时才决定的。
之后你可以对这两个目录下的内容进行修改编辑,添加删除内容都可以。修改完毕之后,退回到这个包目录的上级目录下,然后将其拥有者和用户组都改为root(对于普通包是这样的,对于系统包来说,我们应该在解压系统包时就保留系统包的用户组,在修改时不要变更原来文件的用户组)。最后执行ipkg-build 包名,就可以重新打包生成修改之后的ipk了。
⑥ linux 下怎么安装 ipk 程序
很多新手对linux下的软件安装存在误解,现在简单解释一下:
这类源代码包需要解压后(tar.gz的用tarzxvf解压,tar.bz2的用tarjxvf解压),进入解压目录,一般都有一个INSTALL的文本文件,里面一般都是安装的详细说明,可以用vi、nano、pico或X下面的文本编辑器(如gedit,gvim,kedit等)打开查看,安装一般就是三个步骤:
1、configure,这一步一般用来生成Makefile,为下一步的编译做准备,你可以通过在configure后加上参数来对安装进行控制,比如代码:
./configure--prefix=/usr
上面的意思是将该软件安装在/usr下面,执行文件就会安装在/usr/bin(而不是默认的/usr/local/bin),资源文件就会安装在/usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定--sys-config=参数进行设定。有一些软件还可以加上--with、--enable、--without、--disable等等参数对编译加以控制,你可以通过允许./configure--help察看详细的说明帮助。
2、make,这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。如果在make过程中出现error,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交bugreport(一般在INSTALL里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
3、makeinsatll,这条命令来进行安装(当然有些软件需要先运行makecheck或maketest来进行一些测试),这一步一般需要你有root权限(因为要向系统写入文件)。
安装完毕后你就可以删除解压目录了。采用源代码编译方式来安装软件是Linux系统下最常见的安装软件方法,而且这种方法使你可以更加自由地控制安装细节,所以提倡大家多使用该方法安装软件。
PS:对于bin类型的安装文件,一般给该文件加上可执行权限,再运行之即可,如:代码:
⑦ 怎样把zip格式的压缩文件变成ipk文件
我用的是好压,蛮方便的。打开软件后点顶上的工具---转换压缩文件格式,然后就可以选择你要的格式,WINRAR对ZIP和7Z没办法,好压这个都能解和压,还有转换。
⑧ 没有集成opkg模块,怎么安装ipk
你换个固件多省事,用好压或其他的的压缩软件打开对应版本的opkg*.ipk,吧data.tar.gz里面的东西复制到相应的目录,注意文件权限,control里面保存着依赖关系,文件权限设置之类的信息。自己看着弄吧
⑨ ipk文件如何解压
你的电脑应该没有解压器,你上网下载一个解压器就行了,因为你的电脑没解压器,所以不知道用什么程序打开。解压器有:WinRAR3.93
或者自己上网找自己喜欢的解压软件 下载完了,用鼠标右键点击你想打开的文件 选择 打开方式--WinRAR3.93--始终使用选择的程序打开这种文件
⑩ NDS的IPK文件,如何解包
ipk是漫画文件吧
不用解包,直接放进TF卡里面
然后下载个风鱼2.0就可以读取ipk文件了