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