.sh打包

arm-elf-tools-***.sh是一个自解压的文件,把arm-elf-tools工具集释放到相应的目录,但是因为释放的目录比较多,如果某天要卸载的话,不是很方便,所以最好使用打包工具打成系统支持的包,那么可以通过包管理工具来安装和卸载。

checkinstall正是这样一个工具,它支持slackware的tgz包,rpm包和deb包。首先要安装checkinstall,按照INSTALL文件,
make
sudo make install
sudo checkinstall
其实第二步的时候,已经把checkinsall安装好了,第三步的checkinstall是打包。我的系统在make的时候提示没有msgfmt,原来是没有安装gettext,安一下就好了。然后会在当前目录下生成checkinstall_VERSION.deb的文件,dpkg -i/-r 可以安装和卸载该包

打包arm-elf-tools***.sh
sudo checkinstall ./arm-elf-tools-***.sh
根据提示,选择要打成什么包(tgz,rpm,deb),然后填入一些包的描述文字,如包的名字,版本号,维护者等等,这样就打好了包,这个过程当中会执行arm-elf-tools-***.sh,但是没关系,打成包之后dpkg -i安装,-r即可卸载。

其他从源码编译的程序也可如此,在make install 之后checkinstall得到包,注意应该是root权限。 
解释下面代码:@echo off setlocal enabledelayedexpansion :: 输入连接信息 set /p TARGET_IP=Enter SSH/SFTP IP: set /p TARGET_USER=Enter Username: :: 输入密码时隐藏输入 <nul set /p="Enter Password: " set "PASS=" for /f "delims=" %%p in ('powershell -Command "Read-Host -AsSecureString | ConvertFrom-SecureString -AsPlainText"') do set "PASS=%%p" :: 创建download目录 if not exist download mkdir download :: 上传脚本到目标板/usr/sbin/db.sh echo Uploading db.sh script... WinSCP.com /command ^ "open sftp://%TARGET_USER%:%PASS%@%TARGET_IP%" ^ "put ""%~dp0db.sh"" /usr/sbin/db.sh" ^ "exit" :: 赋执行权限 plink.exe -batch -ssh -pw %PASS% %TARGET_USER%@%TARGET_IP% "chmod +x /usr/sbin/db.sh" :: 测试连接成功提示 echo Testing SSH connection... plink.exe -batch -ssh -pw %PASS% %TARGET_USER%@%TARGET_IP% "echo Connection successful." :: 进入命令循环 :cmdloop set /p cmd=Please enter command (update/download/exit): if /i "%cmd%"=="exit" goto end if /i "%cmd%"=="update" ( :: update 上传 update 文件夹所有内容到目标设备 /opt/EMU echo Uploading update folder contents... WinSCP.com /command ^ "open sftp://%TARGET_USER%:%PASS%@%TARGET_IP%" ^ "mkdir /opt/EMU" ^ "put -r ""%~dp0update\*"" /opt/EMU/" ^ "exit" echo Update upload completed. goto cmdloop ) if /i "%cmd%"=="download" ( :: 远程执行/usr/sbin/db.sh打包 echo Packaging files on remote... plink.exe -batch -ssh -pw %PASS% %TARGET_USER%@%TARGET_IP% "bash /usr/sbin/db.sh" :: 获取生成的tar包名 set filename= for /f "delims=" %%a in ('plink.exe -ssh -pw %PASS% %TARGET_USER%@%TARGET_IP% "cat /tmp/latest_package_name.txt"') do set filename=%%a if "%filename%"=="" ( echo Failed to get package name from remote. goto cmdloop ) echo Downloading %filename% ... WinSCP.com /command ^ "open sftp://%TARGET_USER%:%PASS%@%TARGET_IP%" ^ "get ""/tmp/%filename%"" ""%~dp0download\"" ^ "exit" echo Download completed. goto cmdloop ) echo Invalid command. goto cmdloop :end echo Exiting... pause endlocal
最新发布
07-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值