加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
upgrade4to5 3.31 KB
一键复制 编辑 原始数据 按行查看 历史
Aaron Murray 提交于 2020-12-28 13:06 . re-add --yes
#!/bin/bash
#
# shellcheck disable=SC1090,SC1091,SC1117,SC2016,SC2046,SC2086
#
# Copyright (c) 2019-2020 OpenMediaVault Plugin Developers
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# version: 1.1.0
#
if [[ $(id -u) -ne 0 ]]; then
echo "This script must be executed as root or using sudo."
exit 99
fi
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
export LANG=C.UTF-8
declare -i failed=0
mkconf="/usr/sbin/omv-mkconf"
plugins="cups dnsmasq docker-gui domoticz duplicati eyefi ldap letsencrypt mysql nginx openvpn pxe remotedesktop route shellinabox syncthing transmissionbt urbackup-server vdo virtualbox webdav netatalk route mumble vdr vdr-extras vdr-vnsiserver"
if [ ! -f "${mkconf}" ]; then
echo "Creating omv-mkconf to help remove plugins"
echo "exit 0" > ${mkconf}
chmod +x ${mkconf}
fi
echo "Purging incompatible plugins ..."
for plugin in ${plugins}; do
pkg="openmediavault-${plugin}"
if dpkg --list | grep --quiet "${pkg}"; then
if apt-get --yes purge ${pkg}; then
echo "Successfully removed '${pkg}'."
else
echo "Failed to remove '${pkg}'."
failed=1
fi
fi
done
if [ -f "${mkconf}" ]; then
rm ${mkconf}
fi
if [ ${failed} -eq 1 ]; then
echo "Failed to remove a plugin. Exiting..."
exit 1
fi
echo "Changing sources ..."
sed -i "s/stretch/buster/g" /etc/apt/sources.list
sed -i "s/stretch/buster/g" /etc/apt/sources.list.d/*
sed -i "s/arrakis/usul/g" /etc/apt/sources.list.d/*
for list in /etc/apt/sources.list.d/omvextras.list /etc/apt/sources.list.d/omv-extras-org.list; do
if [ -f "${list}" ]; then
sed -i "/[Dd]ocker/d" ${list}
fi
done
echo "Applying mtu fix ..."
sed -i "s/<mtu><\/mtu>/<mtu>0<\/mtu>/g" /etc/openmediavault/config.xml
if [ -f /etc/apt/apt.conf ]; then
echo "Changing apt.conf ..."
sed -i "s/stretch/buster/g" /etc/apt/apt.conf
fi
echo "Removing Packages archive file ..."
rm -f /var/cache/openmediavault/archives/Packages
armbian="/etc/apt/sources.list.d/armbian.list"
if [ -f "${armbian}" ]; then
echo "Fixing Armbian repo ..."
echo "deb http://apt.armbian.com buster main buster-utils" | sudo tee ${armbian}
fi
echo 'Debian GNU/Linux 10 \n \l' > /etc/issue
echo "Running apt-get update ..."
apt-get update
echo "Updating base-files ..."
apt-get --option DPkg::Options::="--force-confnew" install base-files
echo "Running apt-get dist-upgrade ..."
apt-get --yes \
--option DPkg::Options::="--force-confdef" \
--option DPkg::Options::="--force-confold" \
dist-upgrade
arch="$(dpkg --print-architecture)"
rule="/etc/udev/rules.d/80-net-setup-link.rules"
if [ ! "${arch}" = "amd64" ] && [ ! "${arch}" = "i386" ]; then
echo "Disable predictive network device naming ..."
rm -fv ${rule}
ln -s /dev/null ${rule}
fi
echo "Reboot now."
echo ""
echo "Then run:"
echo " apt-get purge openmediavault-omvextrasorg resolvconf"
echo " wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash"
echo " apt-get update"
echo " apt-get dist-upgrade"
echo ""
echo " omv-salt deploy run nginx"
echo " omv-salt deploy run phpfpm"
echo ""
echo "https://forum.openmediavault.org/index.php?thread/27909-omv-5-0-finally-out/&postID=219830#post219830"
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化