]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - config/rootfiles/core/165/update.sh
fe4449fffcf1874c37488528370645ba085f5170
[people/pmueller/ipfire-2.x.git] / config / rootfiles / core / 165 / update.sh
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) 2022 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=165
28
29 exit_with_error() {
30 # Set last succesfull installed core.
31 echo $(($core-1)) > /opt/pakfire/db/core/mine
32 # force fsck at next boot, this may fix free space on xfs
33 touch /forcefsck
34 # don't start pakfire again at error
35 killall -KILL pak_update
36 /usr/bin/logger -p syslog.emerg -t ipfire \
37 "core-update-${core}: $1"
38 exit $2
39 }
40
41 # Remove old core updates from pakfire cache to save space...
42 for (( i=1; i<=$core; i++ )); do
43 rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
44 done
45
46 # Check diskspace on root
47 ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1`
48
49 if [ $ROOTSPACE -lt 100000 ]; then
50 exit_with_error "ERROR cannot update because not enough free space on root." 2
51 exit 2
52 fi
53
54 # Remove files
55 rm -rvf \
56 /lib/xtables/libxt_ACCOUNT.so \
57 /lib/xtables/libxt_CHAOS.so \
58 /lib/xtables/libxt_condition.so \
59 /lib/xtables/libxt_DELUDE.so \
60 /lib/xtables/libxt_dhcpmac.so \
61 /lib/xtables/libxt_DHCPMAC.so \
62 /lib/xtables/libxt_DNETMAP.so \
63 /lib/xtables/libxt_ECHO.so \
64 /lib/xtables/libxt_fuzzy.so \
65 /lib/xtables/libxt_geoip.so \
66 /lib/xtables/libxt_gradm.so \
67 /lib/xtables/libxt_iface.so \
68 /lib/xtables/libxt_IPMARK.so \
69 /lib/xtables/libxt_ipp2p.so \
70 /lib/xtables/libxt_ipv4options.so \
71 /lib/xtables/libxt_length2.so \
72 /lib/xtables/libxt_LOGMARK.so \
73 /lib/xtables/libxt_lscan.so \
74 /lib/xtables/libxt_pknock.so \
75 /lib/xtables/libxt_PROTO.so \
76 /lib/xtables/libxt_psd.so \
77 /lib/xtables/libxt_quota2.so \
78 /lib/xtables/libxt_SYSRQ.so \
79 /lib/xtables/libxt_TARPIT.so \
80 /srv/web/ipfire/cgi-bin/p2p-block.cgi \
81 /usr/bin/2to3-3.8 \
82 /usr/bin/easy_install-3.8 \
83 /usr/bin/idle3.8 \
84 /usr/bin/pip3.8 \
85 /usr/bin/pydoc3.8 \
86 /usr/bin/python3.8 \
87 /usr/bin/python3.8-config \
88 /usr/bin/xt_geoip_query \
89 /usr/lib/libpython3.8.so \
90 /usr/lib/libpython3.8.so.1.0 \
91 /usr/lib/libxt_ACCOUNT_cl.so* \
92 /usr/lib/python3.8/ \
93 /usr/sbin/iptaccount \
94 /usr/sbin/ovpn-collectd-convert \
95 /usr/sbin/pknlusr \
96 /usr/share/xt_geoip/ \
97 /var/ipfire/dhcpc/dhcpcd-hooks/10-mtu \
98 /var/ipfire/firewall/p2protocols
99
100 # Stop services
101
102 # Extract files
103 extract_files
104
105 # update linker config
106 ldconfig
107
108 # Update Language cache
109 /usr/local/bin/update-lang-cache
110
111 # Filesytem cleanup
112 /usr/local/bin/filesystem-cleanup
113
114 # Export location DB in new format.
115 /usr/bin/location export \
116 --directory=/var/lib/location/ipset \
117 --family=ipv4 \
118 --format=ipset
119
120 # Start services
121 telinit u
122 /etc/rc.d/init.d/firewall restart
123
124 # This update needs a reboot...
125 touch /var/run/need_reboot
126
127 # Finish
128 /etc/init.d/fireinfo start
129 sendprofile
130
131 # Update grub config to display new core version
132 if [ -e /boot/grub/grub.cfg ]; then
133 grub-mkconfig -o /boot/grub/grub.cfg
134 fi
135
136 sync
137
138 # Don't report the exitcode last command
139 exit 0