]>
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 \ | |
9052b9f4 | 57 | /lib/firmware/intel/ibt-* \ |
9052b9f4 PM |
58 | /lib/firmware/mediatek/BT_RAM_CODE_* \ |
59 | /lib/firmware/nxp \ | |
0b329e97 | 60 | /lib/udev/rules.d/64-xfs.rules \ |
837bbbf4 | 61 | /usr/bin/gawk-5.2* \ |
71070690 | 62 | /usr/lib/grub/{arm64-efi,i386-pc,riscv64-efi,x86_64-efi}/gmodule.pl |
1d552885 PM |
63 | |
64 | # update linker config | |
65 | ldconfig | |
66 | ||
67 | # Update Language cache | |
68 | /usr/local/bin/update-lang-cache | |
69 | ||
70 | # Filesytem cleanup | |
71 | /usr/local/bin/filesystem-cleanup | |
72 | ||
20872140 PM |
73 | # Apply local configuration to sshd_config |
74 | /usr/local/bin/sshctrl | |
75 | ||
1d552885 | 76 | # Start services |
fa92e618 | 77 | /etc/init.d/unbound start |
20872140 PM |
78 | if grep -q "ENABLE_SSH=on" /var/ipfire/remote/settings; then |
79 | /etc/init.d/sshd start | |
80 | fi | |
d99c8a28 PM |
81 | if [ -f /var/ipfire/proxy/enable ]; then |
82 | /etc/init.d/squid start | |
83 | fi | |
54dbdf55 PM |
84 | if grep -q "ENABLED=on" /var/ipfire/vpn/settings; then |
85 | /etc/rc.d/init.d/ipsec start | |
86 | fi | |
1d552885 | 87 | |
7a1683e6 EK |
88 | # Change deprecated option in tor configuration file if in usage |
89 | if pgrep tor >/dev/null; then | |
90 | sed -i 's/ExitNode /ExitNodes /g' /var/ipfire/tor/torrc | |
91 | /usr/local/bin/torctrl restart >/dev/null | |
92 | else | |
93 | sed -i 's/ExitNode /ExitNodes /g' /var/ipfire/tor/torrc | |
94 | fi | |
95 | ||
62f2f2ab PM |
96 | # Rebuild initial ramdisks |
97 | dracut --regenerate-all --force | |
98 | KVER="xxxKVERxxx" | |
99 | case "$(uname -m)" in | |
100 | aarch64) | |
101 | mkimage -A arm64 -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire.img /boot/uInit-${KVER}-ipfire | |
102 | # dont remove initramfs because grub need this to boot. | |
103 | ;; | |
104 | esac | |
105 | ||
106 | # Call user update script (needed for some ARM boards) | |
107 | if [ -e /boot/pakfire-kernel-update ]; then | |
108 | /boot/pakfire-kernel-update ${KVER} | |
109 | fi | |
110 | ||
1d552885 | 111 | # This update needs a reboot... |
3bad7e44 | 112 | touch /var/run/need_reboot |
1d552885 PM |
113 | |
114 | # Finish | |
115 | /etc/init.d/fireinfo start | |
116 | sendprofile | |
117 | ||
e59bd862 | 118 | # Grub version was updated, reinstall it |
1d552885 | 119 | if [ -e /boot/grub/grub.cfg ]; then |
e59bd862 | 120 | /usr/bin/install-bootloader |
1d552885 PM |
121 | fi |
122 | ||
123 | sync | |
124 | ||
125 | # Don't report the exitcode last command | |
126 | exit 0 |