添加 软件包安装,扩展空间后提示重启
This commit is contained in:
		
							parent
							
								
									72c236e433
								
							
						
					
					
						commit
						c3b05e2d3f
					
				|  | @ -3,17 +3,18 @@ | ||||||
| # AutoBuild Module by Hyy2001 | # AutoBuild Module by Hyy2001 | ||||||
| # AutoBuild_Tools for Openwrt | # AutoBuild_Tools for Openwrt | ||||||
| 
 | 
 | ||||||
| Version=V1.2-BETA | Version=V1.2.1-BETA | ||||||
| 
 | 
 | ||||||
| AutoBuild_Tools() { | AutoBuild_Tools() { | ||||||
| 	while : | 	while : | ||||||
| 	do | 	do | ||||||
| 		clear | 		clear | ||||||
| 		echo -e "USB \ Samba 工具箱 ${Version}\n" | 		echo -e "AutoBuild 固件工具箱 ${Version}\n" | ||||||
| 		echo "1.内部空间扩展" | 		echo "1.内部空间扩展" | ||||||
| 		echo "2.Samba 共享工具箱" | 		echo "2.Samba 共享" | ||||||
| 		echo "3.挂载硬盘" | 		echo "3.挂载硬盘" | ||||||
| 		echo "4.查看挂载点" | 		echo "4.查看挂载点" | ||||||
|  | 		echo "5.安装软件包" | ||||||
| 		echo -e "\nq.退出\n" | 		echo -e "\nq.退出\n" | ||||||
| 		read -p "请从上方选择一个操作:" Choose | 		read -p "请从上方选择一个操作:" Choose | ||||||
| 		case $Choose in | 		case $Choose in | ||||||
|  | @ -36,6 +37,9 @@ AutoBuild_Tools() { | ||||||
| 			clear && mount | 			clear && mount | ||||||
| 			Enter | 			Enter | ||||||
| 		;; | 		;; | ||||||
|  | 		5) | ||||||
|  | 			Install_UI	 | ||||||
|  | 		;; | ||||||
| 		esac | 		esac | ||||||
| 	done | 	done | ||||||
| } | } | ||||||
|  | @ -47,7 +51,7 @@ AutoExpand_UI() { | ||||||
| 	clear | 	clear | ||||||
| 	echo -e "Newifi-D2 一键扩展内部空间\n" | 	echo -e "Newifi-D2 一键扩展内部空间\n" | ||||||
| 	USB_Check_Core | 	USB_Check_Core | ||||||
| 	if [ ! -z "${Check_Disk}" ];then | 	if [[ ! -z "${Check_Disk}" ]];then | ||||||
| 		for ((i=1;i<=${Disk_Number};i++)); | 		for ((i=1;i<=${Disk_Number};i++)); | ||||||
| 		do | 		do | ||||||
| 			Disk_info=$(sed -n ${i}p ${Disk_Processed_List}) | 			Disk_info=$(sed -n ${i}p ${Disk_Processed_List}) | ||||||
|  | @ -56,22 +60,28 @@ AutoExpand_UI() { | ||||||
| 		echo -e "\nq.返回" | 		echo -e "\nq.返回" | ||||||
| 		echo "r.重新载入列表" | 		echo "r.重新载入列表" | ||||||
| 	else | 	else | ||||||
| 		echo "未检测到外接硬盘!" | 		echo "未检测到外接硬盘!" && sleep 2 | ||||||
| 		exit | 		return | ||||||
| 	fi | 	fi | ||||||
| 	echo "" | 	echo "" | ||||||
| 	read -p "请输入要操作的硬盘编号[1-${Disk_Number}]:" Choose | 	read -p "请输入要操作的硬盘编号[1-${Disk_Number}]:" Choose | ||||||
| 	echo "" | 	echo "" | ||||||
| 	case ${Choose} in | 	case ${Choose} in | ||||||
| 	q) | 	q) | ||||||
| 		break | 		return | ||||||
| 	;; | 	;; | ||||||
| 	r) | 	r) | ||||||
| 		AutoExpand_UI | 		AutoExpand_UI | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
| 		if [ ${Choose} -gt 0 ] > /dev/null 2>&1 && [ ${Choose} -le ${Disk_Number} ] > /dev/null 2>&1;then | 		if [ ${Choose} -gt 0 ] > /dev/null 2>&1 && [ ${Choose} -le ${Disk_Number} ] > /dev/null 2>&1;then | ||||||
|  | 			 | ||||||
|  | 			which mkfs.ext4 > /dev/null 2>&1 | ||||||
|  | 			if [ "$?" -eq 0 ];then | ||||||
| 				AutoExpand_Core | 				AutoExpand_Core | ||||||
|  | 			else | ||||||
|  | 				echo "请先安装 [e2fsprogs] !" && sleep 3 | ||||||
|  | 			fi			 | ||||||
| 		else | 		else | ||||||
| 			echo "选择错误,请输入正确的选项!" | 			echo "选择错误,请输入正确的选项!" | ||||||
| 			sleep 2 && AutoExpand_UI | 			sleep 2 && AutoExpand_UI | ||||||
|  | @ -119,17 +129,12 @@ AutoExpand_Core() { | ||||||
| 		Choosed_Disk_Mounted="$(mount | grep "${Choosed_Disk}" | awk '{print $3}')" | 		Choosed_Disk_Mounted="$(mount | grep "${Choosed_Disk}" | awk '{print $3}')" | ||||||
| 		echo "取消挂载: '${Choosed_Disk}' on '${Choosed_Disk_Mounted}' ..." | 		echo "取消挂载: '${Choosed_Disk}' on '${Choosed_Disk_Mounted}' ..." | ||||||
| 		umount -l ${Choosed_Disk_Mounted} > /dev/null 2>&1 | 		umount -l ${Choosed_Disk_Mounted} > /dev/null 2>&1 | ||||||
| 		if [ "$(mount)" =~ "${Choosed_Disk_Mounted}" ];then | 		if [ "$(mount)" =~ "${Choosed_Disk_Mounted}" ] > /dev/null 2>&1 ;then | ||||||
| 			echo "取消挂载: '${Choosed_Disk_Mounted}' 失败 !" | 			echo "取消挂载: '${Choosed_Disk_Mounted}' 失败 !" | ||||||
| 			exit | 			exit | ||||||
| 		fi | 		fi | ||||||
| 	fi | 	fi | ||||||
| 	if [[ ! "$(opkg list | awk '{print $1}')" =~ "e2fsprogs" ]];then | 	echo "正在格式化硬盘: '${Choosed_Disk}' 为 'ext4' 格式 ..." | ||||||
| 		echo "正在安装: 'e2fsprogs',请耐心等待 ..." |  | ||||||
| 		opkg update > /dev/null 2>&1 |  | ||||||
| 		opkg install e2fsprogs > /dev/null 2>&1 |  | ||||||
| 	fi |  | ||||||
| 	echo "正在格式化硬盘: '${Choosed_Disk}' 为 'ext4' ..." |  | ||||||
| 	mkfs.ext4 -F ${Choosed_Disk} > /dev/null 2>&1 | 	mkfs.ext4 -F ${Choosed_Disk} > /dev/null 2>&1 | ||||||
| 	echo "格式化完成! 挂载硬盘: '${Choosed_Disk}' 到 ' /tmp/extroot' ..." | 	echo "格式化完成! 挂载硬盘: '${Choosed_Disk}' 到 ' /tmp/extroot' ..." | ||||||
| 	mkdir -p /tmp/introot && mkdir -p /tmp/extroot | 	mkdir -p /tmp/introot && mkdir -p /tmp/extroot | ||||||
|  | @ -152,16 +157,29 @@ AutoExpand_Core() { | ||||||
| 	done | 	done | ||||||
| 	uci commit fstab | 	uci commit fstab | ||||||
| 	umount -l /mnt/bak | 	umount -l /mnt/bak | ||||||
| 	echo "操作结束,外接硬盘: '${Choosed_Disk}' 已挂载到 '/'." | 	echo -e "操作结束,外接硬盘: '${Choosed_Disk}' 已挂载到 '/'.\n" | ||||||
|  | 	read -p "挂载完成后需要重启生效,是否立即重启路由器?[Y/n]:" Choose | ||||||
|  | 	if [ ${Choose} == Y ] || [ ${Choose} == y ];then | ||||||
|  | 		sleep 3 && echo -e "\n正在重启路由器,请耐心等待 ..." | ||||||
|  | 		sync | ||||||
|  | 		reboot | ||||||
|  | 	else | ||||||
|  | 		echo "用户已取消重启操作." | ||||||
| 		sleep 3 | 		sleep 3 | ||||||
| 		break | 		break | ||||||
|  | 	fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| List_Disk() { | List_Disk() { | ||||||
| 	if [ ! -z ${3} ];then | 	if [[ ${2} == "/" ]];then | ||||||
| 		echo "${i}.外接硬盘: '${1}' 挂载点: '${2}' 格式: '${3}' 可用空间: ${4}" | 		_Type="[不可用]" | ||||||
| 	else | 	else | ||||||
| 		echo "${i}.外接硬盘: '${1}' 格式: '${2}' 未挂载" | 		_Type="[可用]" | ||||||
|  | 	fi | ||||||
|  | 	if [[ ! -z ${3} ]];then | ||||||
|  | 		echo "${i}.${_Type}硬盘: '${1}' 挂载点: '${2}' 格式: '${3}' 可用空间: ${4}" | ||||||
|  | 	else | ||||||
|  | 		echo "${i}.硬盘: '${1}' 格式: '${2}' 未挂载" | ||||||
| 	fi | 	fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -229,6 +247,61 @@ Mount_Samba_Devices() { | ||||||
| 	sleep 2 | 	sleep 2 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | Install_UI() { | ||||||
|  | while : | ||||||
|  | 	do | ||||||
|  | 		clear | ||||||
|  | 		echo -e "安装软件包\n" | ||||||
|  | 		echo "1.更新软件包列表" | ||||||
|  | 		Install_UI_Mod 2 block-mount | ||||||
|  | 		Install_UI_Mod 3 e2fsprogs | ||||||
|  | 		echo "x.自定义软件包名" | ||||||
|  | 		echo -e "\nq.返回\n" | ||||||
|  | 		read -p "请从上方选择一个操作:" Choose | ||||||
|  | 		echo "" | ||||||
|  | 		case $Choose in | ||||||
|  | 		q) | ||||||
|  | 			break | ||||||
|  | 		;; | ||||||
|  | 		x) | ||||||
|  | 			echo "常用的附加参数:" | ||||||
|  | 			echo "--force-depends		在安装、删除软件包时无视失败的依赖" | ||||||
|  | 			echo "--force-downgrade	允许降级安装软件包" | ||||||
|  | 			echo -e "--force-reinstall	重新安装软件包\n" | ||||||
|  | 			read -p "请输入你想安装的软件包名:" PKG_NAME | ||||||
|  | 			Install_opkg_mod $PKG_NAME | ||||||
|  | 		;; | ||||||
|  | 		1) | ||||||
|  | 			opkg update | ||||||
|  | 		;; | ||||||
|  | 		2) | ||||||
|  | 			Install_opkg_mod block-mount	 | ||||||
|  | 		;; | ||||||
|  | 		3) | ||||||
|  | 			Install_opkg_mod e2fsprogs | ||||||
|  | 		;; | ||||||
|  | 		esac | ||||||
|  | 	done | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | Install_UI_Mod() { | ||||||
|  | 	if [[ "$(opkg list | awk '{print $1}')" =~ "${2}" ]] > /dev/null 2>&1 ;then | ||||||
|  | 		echo "${1}.安装 [${2}] [已安装]" | ||||||
|  | 	else | ||||||
|  | 		echo "${1}.未安装 [${2}] [已安装]" | ||||||
|  | 	fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | Install_opkg_mod() { | ||||||
|  | 	opkg install ${*} | ||||||
|  | 	if [[ "$(opkg list | awk '{print $1}')" =~ "${1}" ]] > /dev/null 2>&1 ;then | ||||||
|  | 		echo -e "\n${1} 安装成功!" | ||||||
|  | 	else | ||||||
|  | 		echo -e "\n${1} 安装失败!" | ||||||
|  | 	fi | ||||||
|  | 	sleep 2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| Enter() { | Enter() { | ||||||
| 	echo "" && read -p "按下[回车]键以继续..." Key | 	echo "" && read -p "按下[回车]键以继续..." Key | ||||||
| } | } | ||||||
|  | @ -243,7 +316,7 @@ Samba_Tmp="/tmp/AutoSamba" | ||||||
| Disk_List="${Samba_Tmp}/Disk_List" | Disk_List="${Samba_Tmp}/Disk_List" | ||||||
| UCI_Show_List="${Samba_Tmp}/UCI_List" | UCI_Show_List="${Samba_Tmp}/UCI_List" | ||||||
| [ ! -d ${Samba_Tmp} ] && mkdir -p ${Samba_Tmp} | [ ! -d ${Samba_Tmp} ] && mkdir -p ${Samba_Tmp} | ||||||
| which block | which block > /dev/null 2>&1 | ||||||
| if [ "$?" -eq 0 ];then | if [ "$?" -eq 0 ];then | ||||||
| 	AutoBuild_Tools | 	AutoBuild_Tools | ||||||
| else | else | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue