Server IP : 158.178.228.73 / Your IP : 80.80.80.153 Web Server : Apache/2.4.37 (Oracle Linux Server) OpenSSL/1.1.1k System : Linux ust-wp1-prod 5.15.0-308.179.6.el8uek.x86_64 #2 SMP Wed Apr 23 10:46:57 PDT 2025 x86_64 User : tomasFtp ( 1007) PHP Version : 8.4.8 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/proc/self/root/proc/2802828/root/sbin/ |
Upload File : |
#!/bin/bash # Copyright (C) 2009-2010 Oracle and/or its affiliates. All rights reserved. # Author: Tim Abbott # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # Not a Contribution for purposes of the Fedora Project Individual Contributor # License Agreement # # Ksplice depmod wrapper script to generate depmod information for the # running kernel, including Ksplice updates that have been cold-applied. # # Installed in /sbin since it is needed to boot # Clean up any of our symlinks from previous runs that point to nonexistant # files. We do this early and independently of whether uptrack is in use, # etc. # /usr/lib/uptrack/ksplice-cleanup UPTRACK_IN_USE=/var/run/uptrack # Don't bother with the uptrack depmod if uptrack isn't is use. if ! [ -f "$UPTRACK_IN_USE" ] || ! /bin/grep -sq ^ksplice_ /proc/modules; then exit 0 fi RELEASE=$(uname -r) FAKEVERSION="$RELEASE".ksplice-updates FAKEMODDIR="/lib/modules/$FAKEVERSION" MODDIR=/var/run/ksplice/modules/"$RELEASE" ORIGMODDIR=/lib/modules/"$RELEASE" # If we're passed any arguments that only make sense to the real # depmod, abort silently. # Args based on module-init-tools 3.6. OPTS=$(PATH=/usr/bin:/bin getopt -q -o 'ab:ArehnqruvVF:C:wm' --long "all,quick,basedir:,errsyms,filesyms:,help,show,dry-run,quiet,root,unresolved-error,verbose,version,config:,warn,map" -- "$@") || exit 1 eval set -- "$OPTS" while true; do case "$1" in --) shift; break;; -A|--quick|-b|--basedir|-C|--config|-e|-h|-V|--version) exit 0; ;; *) shift;; esac done if [ -n "$1" ] && [ "$1" != "$(uname -r)" ] ; then # The caller asked us to act on some specific kernel version that # is not the running version. There's no need to deal with Ksplice # modules in that case. exit 0; fi if [ -e "$MODDIR" ] && [ ! -e "$FAKEMODDIR" ]; then ln -s "$MODDIR" "$FAKEMODDIR" fi if [ -e "$MODDIR" ]; then for dir in "$ORIGMODDIR"/*; do if [ ! -d "$dir" ]; then continue fi ln -nsf "$dir" "$MODDIR/$(basename $dir)" done fi # Remove all broken symlinks from within our module tree for symlink in $(find "$MODDIR" -type l ! -exec test -e {} \; -print); do rm -rf "$symlink" done # Allow depmod to generate a modules.builtin.bin file. ln -sf "$ORIGMODDIR"/modules.builtin "$FAKEMODDIR"/modules.builtin # We also need modules.order in our parallel modules tree ln -sf "$ORIGMODDIR"/modules.order "$FAKEMODDIR"/modules.order # Setup symlinks needed for weak-modules to notice $FAKEMODDIR (ie: /lib/modules/$RELEASE.ksplice-updates) if [[ -e /sbin/weak-modules && -e /boot/symvers-$RELEASE.gz ]] && \ [[ ! -e "/boot/symvers-$RELEASE.ksplice-updates.gz" ]]; then ln -s "/boot/symvers-$RELEASE.gz" "/boot/symvers-$RELEASE.ksplice-updates.gz" ln -s "/boot/System.map-$RELEASE" "/boot/System.map-$RELEASE.ksplice-updates" fi if [[ -e /sbin/weak-modules && -e /boot/symvers-$RELEASE.gz ]] && \ [[ ! -e "/boot/System.map-$RELEASE.ksplice-updates" ]]; then ln -s "/boot/System.map-$RELEASE" "/boot/System.map-$RELEASE.ksplice-updates" fi mkdir -p /var/run/ksplice/depmod.d rm -f /var/run/ksplice/depmod.d/0[01]-* if [ -e /etc/depmod.conf ]; then ln -nsf /etc/depmod.conf /var/run/ksplice/depmod.d/00-depmod.conf fi for conf in $(ls -d /etc/depmod.d/* 2>/dev/null); do ln -nsf "$conf" /var/run/ksplice/depmod.d/01-"$(basename "$conf")" done if [ -e /sbin/depmod.ksplice-backend ]; then # Special version of depmod with our /var/run/ksplice/depmod.d # path hardcoded (since old versions of depmod don't support the # -C option) (exec /sbin/depmod.ksplice-backend "$FAKEVERSION") && touch "$FAKEMODDIR"/valid fi (exec -a depmod depmod.ksplice-orig -C /var/run/ksplice/depmod.d/ "$FAKEVERSION") && touch "$FAKEMODDIR"/valid