utils/deb_resign.sh

本文介绍了一个Bash脚本,用于自动在Debian系统的Deb软件包上进行签名。脚本首先设置必要的环境变量,然后更新系统并安装所需软件包。接下来,脚本将提供的GPG密钥导入系统,并使用expect工具自动处理dpkg-sig命令的交互过程,实现对指定目录下所有.deb文件的自动化签名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
#cd到用户的根目录
cd ~
#export 全局变量
export DEBEMAIL=sjtuhjh@hotmail.com
export DEBFULLNAME=Open-Estuary
#更新系统并安装两个包
apt-get update
apt-get install -y dpkg-sig
apt-get install -y expect
#将这段字符串追加到/etc/devscripts.conf 文件后面
echo "DEBSIGN_KEYID=3108CDA4" >> /etc/devscripts.conf
#通过$ 得到cat执行的结果
passphrase=$(cat /root/KEY_PASSPHRASE)
#导入解密的key
gpg --import /root/ESTUARY-GPG-SECURE-KEY
#将第一个形参复制给SRC_DIR
SRC_DIR=${1}
#对SRC_DIR 目录下的所有以deb结束的文件执行dpkg-sig 命令,由于执行这个命令过程中
#需要输入key,因此这里采用expect 来输入自动输入key
for deb_file in ${SRC_DIR}/*.deb
do

expect <<-END
        set timeout -1
        spawn dpkg-sig --sign builder ${deb_file}
        expect {
                "Enter passphrase:" {send "${passphrase}\r"}
                timeout {send_user "Enter pass phrase timeout\n"}
        }
        expect eof
END
    
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值