#!/bin/bash #将来可能可以换成apt-metalink来直接用种子/链接下载 echo "Spark Store Install script.星火商店安装脚本" #################检测文件是否存在 if [ $# -eq 0 ];then echo "没有接收到参数,退出" echo "用法:$0 deb路径" exit fi if [ ! -f "$1" ] then echo "文件不存在" exit 1 fi #################root校验+要密码 if [ "$(id -u)" != "0" ] then echo "ssinstall需要在root下运行"; uname=`whoami` echo "Now input the password of $uname" read upass ################检查密码对不对 echo "$upass" | sudo -S echo "i love amber forever" passcheck=`echo "$upass" | sudo -S echo "i love amber forever"` if [ "$passcheck" != "i love amber forever" ];then echo "-----------------------------------------------------" echo "E:密码错误,退出脚本!" exit 1 fi fi ##################apt-fast/metalink测试 DEPEND=`which apt-fast` isuos=`cat /etc/os-release | grep UnionTech` ##############判断是否是root运行,如果是,则正常走;如果不是,则代输密码 if [ "$(id -u)" != "0" ];then #############################无root权限时 #临时提升星火源的优先级 echo "$upass" | sudo -S sed -i 's/400/500/g' /etc/apt/preferences.d/sparkstore if [ "$DEPEND" = "" ] ; then echo "没有检测到apt-fast组件,将会使用单线程下载依赖" echo "你可以安装apt-fast来加速下载(对UOS无效)" echo "若要使用apt-fast加速下载,请在安装apt-fast时选择使用apt并选择略过确认对话框" echo ---------------------------------------------------------------------------------- echo "$upass" | sudo -S dpkg -i $1 || apt install -yf || dpkg -P $1 fi if [ "$DEPEND" != "" ] && [ "$isuos" != "" ]; then echo "UOS中系统依赖无法使用第三方下载工具,放弃使用apt-fast" echo ---------------------------------------------------------------------------------- dpkg -i $1 || apt install -yf || dpkg -P $1 fi if [ "$DEPEND" != "" ] && [ "$isuos" = "" ]; then echo "检测到apt-fast,使用apt-fast进行多线程下载加速" echo ---------------------------------------------------------------------------------- echo "$upass" | sudo -S dpkg -i $1 || apt-fast install -yf || dpkg -P $1 fi echo "$upass" | sudo -S sed -i 's/500/400/g' /etc/apt/preferences.d/sparkstore #恢复优先级 else ###########################有root权限时 #临时提升星火源的优先级 sed -i 's/400/500/g' /etc/apt/preferences.d/sparkstore if [ "$DEPEND" = "" ] ; then echo "没有检测到apt-fast组件,将会使用单线程下载依赖" echo "你可以安装apt-fast来加速下载(对UOS无效)" echo "若要使用apt-fast加速下载,请在安装apt-fast时选择使用apt并选择略过确认对话框" echo ---------------------------------------------------------------------------------- dpkg -i $1 || apt install -yf || dpkg -P $1 fi if [ "$DEPEND" != "" ] && [ "$isuos" != "" ]; then echo "UOS中系统依赖无法使用第三方下载工具,放弃使用apt-fast" echo ---------------------------------------------------------------------------------- dpkg -i $1 || apt install -yf || dpkg -P $1 fi if [ "$DEPEND" != "" ] && [ "$isuos" = "" ]; then echo "检测到apt-fast,使用apt-fast进行多线程下载加速" echo ---------------------------------------------------------------------------------- dpkg -i $1 || apt-fast install -yf || dpkg -P $1 fi sed -i 's/500/400/g' /etc/apt/preferences.d/sparkstore #恢复优先级 fi