[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
![Build Status](https://github.com/megastep/makeself/workflows/CI/badge.svg)
# makeself - Make self-extractable archives on Unix
[makeself.sh][1] is a small shell script that generates a self-extractable
compressed tar archive from a directory. The resulting file appears as a shell script
(many of those have a **.run** suffix), and can be launched as is. The archive
will then uncompress itself to a temporary directory and an optional arbitrary
command will be executed (for example an installation script). This is pretty
similar to archives generated with WinZip Self-Extractor in the Windows world.
Makeself archives also include checksums for integrity self-validation (CRC
and/or MD5/SHA256 checksums).
The makeself.sh script itself is used only to create the archives from a
directory of files. The resultant archive is actually a compressed (using
gzip, bzip2, or compress) TAR archive, with a small shell script stub at the
beginning. This small stub performs all the steps of extracting the files,
running the embedded command, and removing the temporary files when done.
All the user has to do to install the software contained in such an
archive is to "run" the archive, i.e **sh nice-software.run**. I recommend
using the ".run" (which was introduced by some Makeself archives released by
Loki Software) or ".sh" suffix for such archives not to confuse the users,
so that they will know they are actually shell scripts (with quite a lot of binary data
attached to them though!).
I am trying to keep the code of this script as portable as possible, i.e it is
not relying on any bash-specific features and only calls commands that are
installed on any functioning UNIX-compatible system. This script as well as
the archives it generates should run on any Unix flavor, with any compatible
Bourne shell, provided of course that the compression programs are available.
As of version 2.1, Makeself has been rewritten and tested on the following
platforms :
* Linux (all distributions)
* Sun Solaris (8 and above)
* HP-UX (tested on 11.0 and 11i on HPPA RISC)
* SCO OpenUnix and OpenServer
* IBM AIX 5.1L
* macOS (Darwin)
* SGI IRIX 6.5
* FreeBSD
* UnicOS / Cray
* Cygwin (Windows)
If you successfully run Makeself and/or archives created with it on another
system, then please [let me know][2]!
Examples of publicly available archives made using makeself are :
* Game patches and installers for [Id Software][3] games like Quake 3 for Linux or Return To Castle Wolfenstein ;
* All game patches released by [Loki Software][4] for the Linux version of popular games ;
* The [nVidia drivers][5] for Linux
* The installer for the Linux version of [Google Earth][6]
* The [VirtualBox][7] installers for Linux
* The [Makeself][1] distribution itself ;-)
* and countless others...
**Important note for Apache users:** By default, most Web servers will think that Makeself archives are regular text files and thus they may show up as text in a Web browser. The correct way to prevent this is to add a MIME type for this file format, like so (in httpd.conf) :
`AddType application/x-makeself .run`
**Important note for certain GNU/Linux distributions:** Archives created with Makeself prior to v2.1.2 were using an old syntax for the _head_ and _tail_ Unix commands that is being progressively obsoleted in their GNU forms. Therefore you may have problems uncompressing some of these archives. A workaround for this is to set the environment variable $_POSIX2_VERSION to enable the old syntax, i.e. :
`export _POSIX2_VERSION=199209`
## Usage
The syntax of makeself is the following:
```
makeself.sh [args] archive_dir file_name label startup_script [script_args]
```
* _args_ are optional options for Makeself. The available ones are :
* **`--version`** : Prints the version number on stdout, then exits immediately
* **`--gzip`** : Use gzip for compression (the default on platforms on which gzip is commonly available, like Linux)
* **`--bzip2`** : Use bzip2 instead of gzip for better compression. The bzip2 command must be available in the command path. It is recommended that the archive prefix be set to something like '.bz2.run', so that potential users know that they'll need bzip2 to extract it.
* **`--pbzip2`** : Use pbzip2 instead of gzip for better and faster compression on machines having multiple CPUs. The pbzip2 command must be available in the command path. It is recommended that the archive prefix be set to something like '.bz2.run', so that potential users know that they'll need bzip2 to extract it.
* **`--xz`** : Use xz instead of gzip for better compression. The xz command must be available in the command path. It is recommended that the archive prefix be set to something like '.xz.run' for the archive, so that potential users know that they'll need xz to extract it.
* **`--lzo`** : Use lzop instead of gzip for better compression. The lzop command must be available in the command path. It is recommended that the archive prefix be set to something like `.lzo.run` for the archive, so that potential users know that they'll need lzop to extract it.
* **`--lz4`** : Use lz4 instead of gzip for better compression. The lz4 command must be available in the command path. It is recommended that the archive prefix be set to something like '.lz4.run' for the archive, so that potential users know that they'll need lz4 to extract it.
* **`--zstd`** : Use zstd instead of gzip for better compression. The zstd command must be available in the command path. It is recommended that the archive prefix be set to something like '.zstd.run' for the archive, so that potential users know that they'll need zstd to extract it.
* **`--pigz`** : Use pigz for compression.
* **`--base64`** : Encode the archive to ASCII in Base64 format instead of compressing (base64 command required).
* **`--gpg-encrypt`** : Encrypt the archive using `gpg -ac -z $COMPRESS_LEVEL`. This will prompt for a password to encrypt with. Assumes that potential users have `gpg` installed.
* **`--ssl-encrypt`** : Encrypt the archive using `openssl aes-256-cbc -a -salt`. This will prompt for a password to encrypt with. Assumes that the potential users have the OpenSSL tools installed.
* **`--compress`** : Use the UNIX `compress` command to compress the data. This should be the default on all platforms that don't have gzip available.
* **`--nocomp`** : Do not use any compression for the archive, which will then be an uncompressed TAR.
* **`--complevel`** : Specify the compression level for gzip, bzip2, pbzip2, zstd, xz, lzo or lz4. (defaults to 9)
* **`--threads`** : Specify the number of threads to be used by compressors that support parallelization. Omit to use compressor's default. Most useful (and required) for opting into xz's threading, usually with `--threads=0` for all available cores. pbzip2 and pigz are parallel by default, and setting this value allows limiting the number of threads they use.
* **`--notemp`** : The generated archive will not extract the files to a temporary directory, but in a new directory created in the current directory. This is better to distribute software packages that may extract and compile by themselves (i.e. launch the compilation through the embedded script).
* **`--current`** : Files will be extracted to the current directory, instead of in a subdirectory. This option implies `--notemp` above.
* **`--follow`** : Follow the symbolic links inside of the archive directory, i.e. store the files that are being pointed to instead of the links themselves.
* **`--append`** _(new in 2.1.x)_: Append data to an existing archive, instead of creating a new one. In this mode, the settings from the original archive are reused (compression type, label, embedded script), and thus do
没有合适的资源?快使用搜索试试~ 我知道了~
k8s单节点集群-kind部署
共58个文件
sample:13个
sh:6个
head:4个
5星 · 超过95%的资源 需积分: 26 1 下载量 163 浏览量
2022-09-10
18:30:15
上传
评论
收藏 119KB ZIP 举报
温馨提示
根据kind英文官网教程部署总结,并编写成一键shell部署脚本。 脚本上有已下载好的镜像资源,kind和kubectl二进制文件,makeself制品打包工具 使用kind部署集群比较简单,所需要主机资源也比较少,只需要一台4G的Centos7.6系统的虚机就可以。 方便快速简单的搭建一套k8s的测试和开发环境! 脚本部署具体步骤: 1. 安装docker, 加载部署所需的镜像kind_node 2. 安装kind所需的go语言环境,kind 工具,kubectl工具 3. 自动配置好环境变量 4. kind创建集群,显示集群信息
资源详情
资源评论
资源推荐
收起资源包目录
k8s-kind.zip (58个子文件)
k8s-kind
.git
index 3KB
hooks
fsmonitor-watchman.sample 5KB
pre-push.sample 1KB
prepare-commit-msg.sample 1KB
pre-merge-commit.sample 416B
applypatch-msg.sample 478B
pre-commit.sample 2KB
pre-receive.sample 544B
pre-applypatch.sample 424B
commit-msg.sample 896B
pre-rebase.sample 5KB
update.sample 4KB
post-update.sample 189B
push-to-checkout.sample 3KB
config 317B
description 73B
refs
tags
heads
master 41B
remotes
origin
HEAD 32B
logs
refs
heads
master 182B
remotes
origin
HEAD 182B
HEAD 182B
packed-refs 114B
objects
info
pack
pack-cea4265300f54298ac23143e97d336fc55920986.pack 46KB
pack-cea4265300f54298ac23143e97d336fc55920986.idx 3KB
info
exclude 240B
HEAD 23B
install.sh 2KB
functions.sh 424B
.gitignore 13B
makeself
.gitmodules 94B
makeself.1 3KB
.github
FUNDING.yml 20B
workflows
build.yml 3KB
release.yml 572B
test
signtest 1KB
tarextratest 438B
suidtest 1KB
appendtest 3KB
whitespacetest 716B
extracttest 825B
infotest 3KB
whitespacelicensetest 2KB
variabletest 1KB
datetest 2KB
secret_key.gpg 4KB
corrupttest 823B
makeself.lsm 820B
run-tests.sh 184B
makeself-header.sh 19KB
make-release.sh 340B
makeself.sh 24KB
VERSION 6B
.gitignore 31B
Makefile 290B
README.md 21KB
COPYING 18KB
README.md 921B
packages
source.txt 300B
共 58 条
- 1
weixin_42767229
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论10