]>
Commit | Line | Data |
---|---|---|
1d552885 PM |
1 | #!/bin/bash |
2 | ############################################################################ | |
3 | # # | |
4 | # This file is part of the IPFire Firewall. # | |
5 | # # | |
6 | # IPFire is free software; you can redistribute it and/or modify # | |
7 | # it under the terms of the GNU General Public License as published by # | |
8 | # the Free Software Foundation; either version 3 of the License, or # | |
9 | # (at your option) any later version. # | |
10 | # # | |
11 | # IPFire is distributed in the hope that it will be useful, # | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
14 | # GNU General Public License for more details. # | |
15 | # # | |
16 | # You should have received a copy of the GNU General Public License # | |
17 | # along with IPFire; if not, write to the Free Software # | |
18 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # | |
19 | # # | |
20 | # Copyright (C) 2023 IPFire-Team <info@ipfire.org>. # | |
21 | # # | |
22 | ############################################################################ | |
23 | # | |
24 | . /opt/pakfire/lib/functions.sh | |
25 | /usr/local/bin/backupctrl exclude >/dev/null 2>&1 | |
26 | ||
27 | core=182 | |
28 | ||
29 | # Remove old core updates from pakfire cache to save space... | |
30 | for (( i=1; i<=$core; i++ )); do | |
31 | rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire | |
32 | done | |
33 | ||
34 | # Stop services | |
54dbdf55 | 35 | /etc/rc.d/init.d/ipsec stop |
d99c8a28 | 36 | /etc/rc.d/init.d/squid stop |
fa92e618 | 37 | /etc/rc.d/init.d/unbound stop |
20872140 | 38 | /etc/rc.d/init.d/sshd stop |
1d552885 | 39 | |
4bc2da43 AF |
40 | KVER="xxxKVERxxx" |
41 | ||
62f2f2ab PM |
42 | # Backup uEnv.txt if exist |
43 | if [ -e /boot/uEnv.txt ]; then | |
44 | cp -vf /boot/uEnv.txt /boot/uEnv.txt.org | |
45 | fi | |
46 | ||
1d552885 PM |
47 | # Extract files |
48 | extract_files | |
49 | ||
50 | # Remove files | |
307be8b0 | 51 | rm -rvf \ |
ad86d807 PM |
52 | /lib/firmware/cxgb4/t4fw-1.27.3* \ |
53 | /lib/firmware/cxgb4/t5fw-1.27.3* \ | |
54 | /lib/firmware/cxgb4/t6fw-1.27.3* \ | |
55 | /lib/firmware/ctefx.bin \ | |
56 | /lib/firmware/ctspeq.bin \ | |
57 | /lib/firmware/ess \ | |
9052b9f4 | 58 | /lib/firmware/intel/ibt-* \ |
ad86d807 | 59 | /lib/firmware/korg \ |
9052b9f4 PM |
60 | /lib/firmware/mediatek/BT_RAM_CODE_* \ |
61 | /lib/firmware/nxp \ | |
ad86d807 PM |
62 | /lib/firmware/sb16 \ |
63 | /lib/firmware/yamaha \ | |
0b329e97 | 64 | /lib/udev/rules.d/64-xfs.rules \ |
837bbbf4 | 65 | /usr/bin/gawk-5.2* \ |
e59bd862 | 66 | /usr/lib/grub/{arm64-efi,i386-pc,riscv64-efi,x86_64-efi}/gmodule.pl \ |
63ac685b | 67 | /usr/lib/liblzma.so.5.4* \ |
a724c55b PM |
68 | /usr/lib/libqpdf.so.29.5* \ |
69 | /usr/lib/libsodium.so.23* | |
1d552885 PM |
70 | |
71 | # update linker config | |
72 | ldconfig | |
73 | ||
74 | # Update Language cache | |
75 | /usr/local/bin/update-lang-cache | |
76 | ||
77 | # Filesytem cleanup | |
78 | /usr/local/bin/filesystem-cleanup | |
79 | ||
20872140 PM |
80 | # Apply local configuration to sshd_config |
81 | /usr/local/bin/sshctrl | |
82 | ||
1d552885 | 83 | # Start services |
fa92e618 | 84 | /etc/init.d/unbound start |
20872140 PM |
85 | if grep -q "ENABLE_SSH=on" /var/ipfire/remote/settings; then |
86 | /etc/init.d/sshd start | |
87 | fi | |
d99c8a28 PM |
88 | if [ -f /var/ipfire/proxy/enable ]; then |
89 | /etc/init.d/squid start | |
90 | fi | |
54dbdf55 PM |
91 | if grep -q "ENABLED=on" /var/ipfire/vpn/settings; then |
92 | /etc/rc.d/init.d/ipsec start | |
93 | fi | |
1d552885 | 94 | |
7a1683e6 EK |
95 | # Change deprecated option in tor configuration file if in usage |
96 | if pgrep tor >/dev/null; then | |
97 | sed -i 's/ExitNode /ExitNodes /g' /var/ipfire/tor/torrc | |
98 | /usr/local/bin/torctrl restart >/dev/null | |
99 | else | |
100 | sed -i 's/ExitNode /ExitNodes /g' /var/ipfire/tor/torrc | |
101 | fi | |
102 | ||
62f2f2ab PM |
103 | # Rebuild initial ramdisks |
104 | dracut --regenerate-all --force | |
105 | KVER="xxxKVERxxx" | |
106 | case "$(uname -m)" in | |
107 | aarch64) | |
108 | mkimage -A arm64 -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire.img /boot/uInit-${KVER}-ipfire | |
109 | # dont remove initramfs because grub need this to boot. | |
110 | ;; | |
111 | esac | |
112 | ||
113 | # Call user update script (needed for some ARM boards) | |
114 | if [ -e /boot/pakfire-kernel-update ]; then | |
115 | /boot/pakfire-kernel-update ${KVER} | |
116 | fi | |
117 | ||
1d552885 | 118 | # This update needs a reboot... |
3bad7e44 | 119 | touch /var/run/need_reboot |
1d552885 PM |
120 | |
121 | # Finish | |
122 | /etc/init.d/fireinfo start | |
123 | sendprofile | |
124 | ||
e59bd862 | 125 | # Grub version was updated, reinstall it |
1d552885 | 126 | if [ -e /boot/grub/grub.cfg ]; then |
e59bd862 | 127 | /usr/bin/install-bootloader |
1d552885 PM |
128 | fi |
129 | ||
130 | sync | |
131 | ||
132 | # Don't report the exitcode last command | |
133 | exit 0 |