linux .run 文件的制作和安装

发布时间:2008-04-02 20:50:12来源:红联作者:compat

由于要安装nvidia 的驱动,所以才会遇到这个问题。

这里顺便找到.run文件的制作。

run程序安装包实质上是一个安装脚本加要安装的程序,如下图所示:

|-----------------|

| |

| 安装脚本 |

| |

|-----------------|

| |

| 程序 |

| |

|-----------------|

图: run安装包的结构

这样整个run安装包结构就一目了然了,实际上因为实际需要结构多少有点变动但这个无关紧要,只需要明白原理就行了。

制作run安装包以下举个实际的例子:

为了简单起见,要安装的程序就是helloworld程序,安装它的过程就是把它拷贝到/bin目录下。

$ ls

install.sh helloworld

$ cat install.sh

#!/bin/bash

cp helloworld /bin

$

现在有一个安装脚本了,名为install.sh,有一个要安装的程序helloworld.因为要安装的程序一般都是用.tar.bz2来做的。我们这儿也做一下:

$ tar jcvf helloworld.tar.bz2 helloworld

现在修改一个安装脚本install.sh

改为:

#!/bin/bash

lines=7 #这个值是指这个脚本的行数加1,这个脚本共有6行

tail +$lines $0 >/tmp/helloworld.tar.gz # $0表示脚本本身,这个命令用来把从$lines开始的内容写入一个/tmp目录的helloworld.tar.gz文件里。

tar jxvf /tmp/hellowrold.tar.gz

cp helloworld /bin

exit 0

然后使用cat命令连接安装脚本install.sh和helloworld.tar.bz2。

$ cat install.sh helloworld.tar.bz2 > myinstall.run

这样就得到了myinstall.run文件,它的结构如下:

|------------------| 第1行

| |

| install.sh |

| | 第6行

|------------------|

| | 第7行

|helloworld.tar.bz2|

| |

|------------------| 结尾

图: myinstall.run安装包的结构

运行myinstall.run时,运行到第6行的exit 0脚本就退出了,所以不会去运行第7行以下的二进制数据(即 helloworld.tar.bz2文件),而我们用了tail巧妙地把第7行以下的数据重新生成了一个helloworld.tar.gz文件。再执行安装。

run安装包制作较小的程序包是很好的选择,但是它也有缺点,做逻辑比较复杂的安装包,写的安装脚本将会很麻烦。因此此时还是用其他的安装包更好。

安装方法: 以 ***.run 为例:运行 sh ***.run

linux运行run.tar.gz,linux .run 文件的制作和安装相关推荐

  1. linux备份文件命令tar.gz,Linux系统tar命令备份数据

    作为Linux系统管理员,最经常使用的备份工具就是tar和cpio命令.前面在介绍备份介质时,已经使用了tar命令,此命令其实是一个文件打包命令,经常在备份文件的场合中使用.使用cpio命令进行数据备 ...

  2. linux lnmp1.5.tar.gz,Linux 下lnmp

    笔者喜欢的是php lnmp(linux nginx mysql php) 是指的是linux 环境下 php环境的搭建 Apache Apache 是世界排名第一的Web服务器软件 apache.o ...

  3. linux解压缩命令 tar gz,linux解压缩命令

    按照格式进行讲解: zip文件压缩: 格式:  zip  压缩文件名  源文件 example: topwqp:japan wangqiupeng$ ls cangls topwqp:japan wa ...

  4. 文件夹打包成pkg_linux如何解压tar.gz到指定文件夹或目录

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何解压tar.gz到指定文件夹或目录,t ...

  5. linux解压gz.gz文件,linux解压tar.gz并重命名_linux解压tar.gz文件

    原标题:linux解压tar.gz并重命名_linux解压tar.gz文件 命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.t ...

  6. linux解压tar.gz报错,Linux解压tar.gz文件时提示gzip:stdin:not错误

    我们都知道Linux系统下的tar命令可用于文件的解压缩,在利用tar命令解压tar.gz文件的时候,提示gzip:stdin:not in gzip format错误,遇到这种情况该如何解决呢?随小 ...

  7. linux如何ubuntu解压tar.gz格式的文件

    两种压缩格式 tar 和 tar.gz TAR 好处是只消耗非常少的CPU及时间打包,只是一个打包工具,并不负责压缩. tar -cvf studio.tar directory_to_compres ...

  8. linux系统下tar/gz/7z/xz/bz2/zip等各种格式的打包压缩解压

    linux系统下总会遇到各种格式的压缩包,什么tar/gz/7z/xz/bz2/zip等等,每种格式文件的解压和压缩方法都不完全一致,所携带的参数也都各有千秋,初学者往往会一脸茫然,不知如何是好.于是 ...

  9. windows中解压Linux中的tar.gz.part分卷压缩包

    方法 通过CMD命令行进入tar.gz.part文件的目录下 通过如下命令将各个分卷压缩包XXXX.tar.gz.part合并为一个完整的压缩包XXX.tar.gz: copy /b XXXX.tar ...

最新文章

  1. TVM设计与构架构建
  2. 用python和opencv检测图像中的条形码
  3. spring boot jar包_「Spring Boot 新特性」 jar 大小自动瘦身
  4. Unix/Linux下的open函数(O_CREAT和O_EXCL)
  5. C经典100题(1)
  6. Thinking in Java Chapter 14
  7. Linux虚拟化技术KVM入门必看
  8. Linux安装yum工具-安装过程
  9. 串口485接法图_485串口接线
  10. 如何删除双系统(超级详细,手把手教学)
  11. vue + element插件 首次运行白屏原因分析
  12. 网页特殊符号(HTML字符实体)大全
  13. 装配图中齿轮的画法_装配图的视图和画法
  14. RAC环境报错ORA-00239: timeout waiting for control file enqueue排查
  15. elastic-job监控平台ElasticJob-UI的使用
  16. VISUAL STUDIO调试器指南---断点和跟踪点
  17. 记一次CRM敏捷认证培训学习总结
  18. target找不到*.xml和*.properties文件 报错:FileNotFoundException
  19. P2564 [SCOI2009]生日礼物(尺取法/双指针)
  20. 审稿意见应该怎么写?这份审稿指南告诉你

热门文章

  1. OpenShift 4 之使用持久化存储
  2. 使用Angular和ASP.net Core的Raw Websockets迷你游戏
  3. 使用.NET Core MVC Web应用程序中的ResponseCache属性处理缓存
  4. android平台java编程规范_Android Java类编写规范+优化建议
  5. win32获取当前运行程序的内存地址_一个lock锁,就可以分出程序员对问题处置方式水平的高中低...
  6. FreeSql实体映射成数据库,数据库映射成实体类,指定表生成实体
  7. ecshop ipdel.php,去除Ecshop后台调用api.ecshop.com官网后门代码
  8. 4核处理器_买电脑选4核、6核还是8核,从业是十年的专家终于讲清楚了差异
  9. java构造函数传参_java 构造函数 , 参数传递 , lamda表达式
  10. dump命令linux,Linux shell dump 命令