From patchwork Mon Apr 11 19:14:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Peter_M=C3=BCller?= X-Patchwork-Id: 5494 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4KcdpQ37Fwz3x1y for ; Mon, 11 Apr 2022 19:14:54 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4KcdpP2vZpz5Gg; Mon, 11 Apr 2022 19:14:53 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4KcdpP2wVHz2yW0; Mon, 11 Apr 2022 19:14:53 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4KcdpN2YTjz2xFK for ; Mon, 11 Apr 2022 19:14:52 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4KcdpL6M8cz5Kw for ; Mon, 11 Apr 2022 19:14:50 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1649704491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vuyo4djDGFAyu41JCIhR1jeziKD1osQTVA9br3/CGKU=; b=y2GP6U98QDRkf9ZrsSUmVmmNevSd/cbkgTRrffn7e8RHvt6D5HQAdeG1tZuXLbgV4/cvNq W6C0yzJxGIbC2KDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1649704491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vuyo4djDGFAyu41JCIhR1jeziKD1osQTVA9br3/CGKU=; b=c+82aFc4q6mKKBqKdMXJLXl5b+ZFlo2dof0Sy/nM5HetT1q8LEHy1rWAwwBcZ39NkY2Xzr Dg+3kDbwyoIgO4xdL4IWV27qSyi7n/FTe6YEeMCgG7vUOBJ6cFdVt0VBdulG6huQUCmERd Sr94W57TquWh1I0J14QJKZMPpU+7KtKjyJf6TC4Na2TRSaUvEscqCxbiH6hkqooU5ijVzl IFqzd8LxxwK1tFXYywdy7IVJJ8Q7ohNPCFbCYSHKsSlGl0Lu3wydodw8y62Znx0XqND+i4 9px0rbdUaHe6sCNIXJug6jrtlpV+/0MYUTQxPchGwrl7T6sEQ3QzIkXaKv49ow== Message-ID: <9e744e7b-4d05-032c-791f-52a69f334c2a@ipfire.org> Date: Mon, 11 Apr 2022 19:14:43 +0000 MIME-Version: 1.0 Content-Language: en-US To: "IPFire: Development" From: =?utf-8?q?Peter_M=C3=BCller?= Subject: [PATCH] Core Update 167: Replace /etc/mtab by symlink to /proc/self/mounts X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" mount, as updated via util-linux, no longer writes /etc/mtab, causing programs to rely on this file's content (such as the check_disk Nagios plugin) to stop working. /proc/self/mounts contains all the necessary information, so it is fine to replace /etc/mtab by a symlink to it. Fixes: #12843 Signed-off-by: Peter Müller --- config/rootfiles/core/167/update.sh | 4 ++++ lfs/cdrom | 4 ++-- lfs/stage2 | 3 ++- src/initscripts/system/mountfs | 6 ------ src/initscripts/system/partresize | 6 ------ 5 files changed, 8 insertions(+), 15 deletions(-) diff --git a/config/rootfiles/core/167/update.sh b/config/rootfiles/core/167/update.sh index fdcb843cf..a9be60a1d 100644 --- a/config/rootfiles/core/167/update.sh +++ b/config/rootfiles/core/167/update.sh @@ -337,6 +337,10 @@ hardlink -c -vv /lib/firmware # Regenerate all initrds dracut --regenerate-all --force +# Replace /etc/mtab by symlink as mount no longer writes it +rm -vf /etc/mtab +ln -vs /proc/self/mounts /etc/mtab + # Rebuild IPS rules perl -e "require '/var/ipfire/ids-functions.pl'; &IDS::oinkmaster();" /etc/init.d/suricata reload diff --git a/lfs/cdrom b/lfs/cdrom index f35ff6a35..d84f8c23c 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2021 IPFire Team # +# Copyright (C) 2007-2022 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -149,7 +149,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) # Clear mtab (prevents .journal problems) rm -vf /etc/mtab - echo > /etc/mtab + ln -s /proc/self/mounts /etc/mtab # Create filelist for packaging. BUILDTARGET="$(BUILDTARGET)" BUILD_ARCH="$(BUILD_ARCH)" KVER="$(KVER)" \ diff --git a/lfs/stage2 b/lfs/stage2 index 9f93babe2..39697a848 100644 --- a/lfs/stage2 +++ b/lfs/stage2 @@ -87,7 +87,8 @@ endif cp -rvf $(DIR_SRC)/config/etc/* /etc; [ ! -d "$(DIR_SRC)/config/etc-$(BUILD_ARCH)" ] || cp -rvf $(DIR_SRC)/config/etc-$(BUILD_ARCH)/* /etc cp -rvf $(DIR_SRC)/config/lib/* /lib; - touch /etc/{fs,m}tab + touch /etc/fstab + ln -s /proc/self/mounts /etc/mtab echo "$(NAME) v$(VERSION) - $(SLOGAN)" > /etc/issue echo "===============================" >> /etc/issue echo "\n running on \s \r \m" >> /etc/issue diff --git a/src/initscripts/system/mountfs b/src/initscripts/system/mountfs index b1533d6a2..81ed729c1 100644 --- a/src/initscripts/system/mountfs +++ b/src/initscripts/system/mountfs @@ -31,12 +31,6 @@ case "${1}" in # Remove fsck-related file system watermarks. rm -f /fastboot /forcefsck - boot_mesg "Create /etc/mtab..." - > /etc/mtab - mount -f / || failed=1 - (exit ${failed}) - evaluate_retval - # This will mount all filesystems that do not have _netdev in # their option list. _netdev denotes a network filesystem. boot_mesg "Mounting remaining file systems..." diff --git a/src/initscripts/system/partresize b/src/initscripts/system/partresize index 7605b9e2b..147405e1e 100644 --- a/src/initscripts/system/partresize +++ b/src/initscripts/system/partresize @@ -30,12 +30,6 @@ case "${1}" in mount -o remount,rw / > /dev/null evaluate_retval - boot_mesg "Create /etc/mtab..." - > /etc/mtab - mount -f / || failed=1 - (exit ${failed}) - evaluate_retval - # check if serial console enabled scon="off"; if [ ! "$(grep "console=ttyS0" /proc/cmdline)" == "" ]; then