关键词:
#!/bin/bash
# Btased on https://github.com/coreos/rkt/blob/v1.15.0/scripts/install-rkt.sh
#
# Pre-requirement: install the packages:
# - ca-certificates
# - curl
# - gnupg2
# - bash-completion
# - checkinstall
# - wget
#
# Suggestion: sudo apt-get install -y --no-install-recommends ca-certificates curl gnupg2 bash-completion checkinstall wget
#
# Then run this script as a normal user. In the final step, checkinstall will create the package in the location as shown in the output. Install as follows:
# sudo dpkg -i /path/to/the.deb
set -e
set -o pipefail
set -x
cd $(mktemp -d)
version="1.15.0"
export DEBIAN_FRONTEND=noninteractive
curl -sSL https://coreos.com/dist/pubkeys/app-signing-pubkey.gpg | gpg2 --import -
key=$(gpg2 --with-colons --keyid-format LONG -k security@coreos.com | egrep ^pub | cut -d ':' -f5)
wget --progress=bar:force https://github.com/coreos/rkt/releases/download/v"$version"/rkt-v"$version".tar.gz
wget --progress=bar:force https://github.com/coreos/rkt/releases/download/v"$version"/rkt-v"$version".tar.gz.asc
gpg2 --trusted-key "$key" --verify-files *.asc
tar xvzf rkt-v"$version".tar.gz
cat <<EOF >install-pak
#!/bin/bash
# abort/fail on any error
set -e
# fix mkdir issues with checkinstall and fstrans
for dir in /usr/lib/rkt/stage1-images/\\
/usr/share/man/man1/\\
/usr/share/bash-completion/completions/\\
/usr/lib/tmpfiles.d/\\
/usr/lib/systemd/system/
do
mkdir -p \$dir 2>/dev/null || :
done
for flavor in fly coreos kvm; do
install -Dm644 rkt-v$version/stage1-\$flavor.aci /usr/lib/rkt/stage1-images/stage1-\$flavor.aci
done
install -Dm755 rkt-v$version/rkt /usr/bin/rkt
for f in rkt-v$version/manpages/*; do
install -Dm644 "\$f" "/usr/share/man/man1/\$(basename \$f)"
done
install -Dm644 rkt-v$version/bash_completion/rkt.bash /usr/share/bash-completion/completions/rkt
install -Dm644 rkt-v$version/init/systemd/tmpfiles.d/rkt.conf /usr/lib/tmpfiles.d/rkt.conf
for unit in rkt-gc.timer,service rkt-metadata.socket,service; do
install -Dm644 rkt-v$version/init/systemd/\$unit /usr/lib/systemd/system/\$unit
done
EOF
chmod +x install-pak
cat <<EOF >preinstall-pak
#!/bin/sh
groupadd --force --system rkt-admin
groupadd --force --system rkt
EOF
chmod +x preinstall-pak
cp rkt-v"$version"/scripts/setup-data-dir.sh postinstall-pak
chmod +x postinstall-pak
cat <<EOF >>postinstall-pak
systemctl daemon-reload
systemd-tmpfiles --create /usr/lib/tmpfiles.d/rkt.conf
EOF
checkinstall -y --pkgname=rkt --pkgversion="$version" --install=no --fstrans=yes ./install-pak
sh使用sqlplus将线轴转换为xls(代码片段)
查看详情
sh使用pandoc将rst转换为markdown(代码片段)
查看详情
sh使用一个图像将音频文件转换为视频文件(代码片段)
查看详情
sh使用透明背景将psd转换为png(代码片段)
查看详情
sh使用imagemagick将svg转换为favicon.ico(代码片段)
查看详情
sh使用ffmpeg将wav文件转换为mp3(代码片段)
查看详情
sh为rstudio服务器使用多个用户(在linux上)(代码片段)
查看详情
sh使用proftpd(带有sftp模块)为密钥验证设置ssh密钥(代码片段)
查看详情
sh使用chown递归地将用户和组设置为文件(代码片段)
查看详情
sh在macos上使用subjectaltname为localhost创建自签名证书(代码片段)
查看详情
sh使用homebrew在万神殿为drupal安装drush和terminus(代码片段)
查看详情
sh使用ffmpeg将m3u8转换为mp4(代码片段)
查看详情
sh使用homebrew在osx上安装ffmpeg以将mp4转换为webm(代码片段)
查看详情
sh我的automatedletsencrypt更新程序的第一次修订为znc和朋友使用letsencrypt工具(代码片段)
查看详情
shell脚本后台运行
参考技术A使用nohup,其中sample.sh为所执行的脚本,out.log为日志输出文件。nohupshsample.sh>out.log&使用sh,其中sample.sh为所执行的脚本,out.log为日志输出文件。shsample.sh>&out.log&&放在启动参数后面表示设置此进程为后... 查看详情
sh使用openssl为jwtjwk(jsonwebtokenjsonwebkey)生成es512和rs256椭圆曲线密钥对(代码片段)
查看详情
sh用于在脚本中交互使用kinit的函数,为错误输入的密码提供重试循环。(代码片段)
查看详情
sh将使用diskutility.app创建的*.cdr图像转换为带有osx终端的*.iso文件(代码片段)
查看详情