免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2916 | 回复: 13
打印 上一主题 下一主题

Linux 下有没有一种实现方式,自解压? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-30 16:13 |只看该作者 |倒序浏览
我现在想在linux上实现如windows的自解压可执行文件的功能,要求一个可执行文件,中间包括几个已经压缩好的文件,一旦执行了这个文件,这个文件就将其中包括好的文件释放?

我只在windows上看到了这种可释放自身文件的可执行文件,Linux下有没有这种实现方式?

我的机器是RedHat Linux9.0

该怎样实现?大家讨论一下?
谢谢

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2004-07-30 16:26 |只看该作者

Linux 下有没有一种实现方式,自解压?

有呀! .bin 就是吧。

论坛徽章:
0
3 [报告]
发表于 2004-07-30 17:10 |只看该作者

Linux 下有没有一种实现方式,自解压?

.bin是什么东东?

请详细一点!谢谢

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
4 [报告]
发表于 2004-07-30 17:37 |只看该作者

Linux 下有没有一种实现方式,自解压?

我只知道有这个,但怎么做的,我也不知道。听说有 RAR for Linux,你可以看看能不能用得上。

论坛徽章:
0
5 [报告]
发表于 2004-07-30 17:46 |只看该作者

Linux 下有没有一种实现方式,自解压?

为什么用自解压呢?

真要做自解压,
做一个SHell脚本,里面写上:
tar zxvf xxxx.tar.gz
不是可以了吗?

论坛徽章:
0
6 [报告]
发表于 2004-07-30 18:06 |只看该作者

Linux 下有没有一种实现方式,自解压?

没办法,老板要求一定这样做!,比较怪的需求!!

在windows上可以,再linux上没有听说过!

写脚本好像也不行呀,因为要求最后只有一个可执行文件,如果是脚本,那么至少是两个文件:一个脚本,另一个是压缩包。脚本并不能带附件,至少我不知道怎样带!

q1208c ,请问.bin是什么意思,rar的执行命令?请详细解释一下。多谢了!

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
7 [报告]
发表于 2004-07-30 18:20 |只看该作者

Linux 下有没有一种实现方式,自解压?

可以,跟文件格式有关

论坛徽章:
0
8 [报告]
发表于 2004-07-30 19:41 |只看该作者

Linux 下有没有一种实现方式,自解压?

[quote]原帖由 "流氓无产者"]可以,跟文件格式有关[/quote 发表:


什么意思?

论坛徽章:
0
9 [报告]
发表于 2004-07-30 23:56 |只看该作者

Linux 下有没有一种实现方式,自解压?

find a little stupid way to complete this work!

Guys can take advantage of the source codes of some compress algorithms,such as "ZIP".

This way in detail is to write c code which read the content of files that you wanna compress,and adds them to an executable program which can unpack your file.During this process,you can use these algorithms to compress the size.

Be care,the executable program file first is just read from itself and read the contents of files you input in,then write to blank files.

Sorry I cann't input Chinese in this machine.If you guys can not understand fully,I will write here later in Chinese!

But I am still feel this way is not smart.If you have some idea,write here,please!

Thank you

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
10 [报告]
发表于 2004-07-31 02:19 |只看该作者

Linux 下有没有一种实现方式,自解压?

内部调用tar去解,跟作安装包差不多。下边是个作安装包的例子,可以看看呀,呵呵!

foo-install.sh文件:
---------------------------------------------------------
#!/bin/sh
SCRIPT="$0"
case "${SCRIPT}" in
/*)
? ?;;
*)
? ?if [ -f "${SCRIPT}" ]
? ?then
? ? ? ?SCRIPT="`pwd`/${SCRIPT}"
? ?else
? ? ? ?SCRIPT="`which ${SCRIPT}`"
? ?fi
? ?;;
esac

cd /

if [ ! -f "${SCRIPT}" ]
then
? ?echo "Cannot find the location of the install script ($SCRIPT) ?"
? ?exit 1
fi

SKIP=`awk '/^__ARCHIVE_FOLLOWS__/ { print NR + 1; exit 0; }' ${SCRIPT}`

if id | grep root >; /dev/null
then
? ?:
else
? ?echo "You must be root to install these tools."
? ?exit 1
fi

rm -rf "/usr/local/arm-elf"
rm -rf "/usr/local/lib/gcc-lib/arm-elf"
rm -f /usr/local/bin/arm-elf-*

tail +${SKIP} ${SCRIPT} | gunzip | tar xvf -

exit 0
__ARCHIVE_FOLLOWS__

-----------------------------------------------------------
修改其中的rm -rf 语句,改成你的包要装到的路径。
然后CD到/目录,tar cvzf foo.tar.gz /path/to/your/software
完成以后
cat foo.tar.gz >;>;foo-install.sh
chomd a+x foo.sh
就OK了。
如果需要的话,可以在上面的文件中加入一些诸如版权什么的shell script,
基本上的框架就是这样了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP