Sponsored Content
Top Forums Shell Programming and Scripting Help with UUID replacement in fstab and menu.lst Post 302512054 by mirni on Friday 8th of April 2011 09:20:57 AM
Old 04-08-2011
AFAIK awk doesn't support in-place editing. A workaround is needed. If anyone knows how to deal with this with the original "awk < (sed file1) file2" design, please post.

Code:
miro@miro-ntb:Downloads$ cat fstab.txt 

#
# /etc/fstab
# Created by anaconda on Mon Feb 14 16:03:26 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=10cb97f9-e52e-472b-a20b-c1e90c6d561b /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
miro@miro-ntb:Downloads$ { rm fstab.txt && awk '
BEGIN{while ( (getline < "partlist.txt")>0) { 
gsub(/\r|"/,""); a[$3]=$2;}
}
{
for(i in a) { if($2==i){$1="UUID=" a[i]}}; 
print $0;
}' > fstab.txt; } < fstab.txt
miro@miro-ntb:Downloads$ cat fstab.txt 

#
# /etc/fstab
# Created by anaconda on Mon Feb 14 16:03:26 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f75b104c-678e-4f80-a618-70d4bf4a3ede / ext4 defaults 1 1
UUID=psb8767c-678e-4f80-a618-70d4bf4a3ede /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

This workaround is adapted from here: https://www.unix.com/shell-programmin...line-edit.html. You can find an explanation how this '{ rm file && awk > file ; } < file' construct works.
Cheers
mirni
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

menu.lst, boot options?

Hi all, I would like to have some details on menu.lst!! the reason is ,if i am trying to add my own boot option where do i need to add it? is it in menu.lst only or elsewere(am referring to unix os) because i tried adding a unique boot option and it was not reflected when the system booted?... (8 Replies)
Discussion started by: wrapster
8 Replies

2. Shell Programming and Scripting

shell script to alter grub menu.lst

Hi folks, I have a dual-boot Ubuntu/Windows machine and I wanted to create a script to change the menu.lst file so it will change the default boot partition (this is so I can reload the machine remotely and allow it to boot to the Windows partition). Today I have to sudo cp a template file I... (1 Reply)
Discussion started by: ppucci
1 Replies

3. UNIX for Advanced & Expert Users

Generate UUID for a host

Hello Experts, Is there a way to generate Universally Unique identifiers on all Unix flavours such as Solaris, RHELinux,Suse Linux, MacOS,HP UX etc? If i can get a system command or a system call or an algorithm/script/program to generate a unique identifier, it will be helpful. Thanks in... (1 Reply)
Discussion started by: GajendraSharma
1 Replies

4. SuSE

Need to edit the menu.lst so it can work

I am trying to install three OS (Windows VISTA, OpenSUSE 11.3 & Solaris 11 Express) on a single drive of a laptop. However when I go to edit the /rpool/boot/grub/menu.lst to put the entry so it can boot the OpenSUSE 11.3 I get errors some of which result into starting all over again. I have also... (0 Replies)
Discussion started by: Tenyhwa
0 Replies

5. Solaris

Need to create a menu.lst for Solaris 11 Express, OpenSUSE 11.3 & Windows Vista

I have partitioned and installed Windows Vista, OpenSUSE and Solaris 11 Express on a LapTop hardDrive. However I am not able to boot OpenSUSE 11.3 although I have it in menu.lst which I put in a Solaris partition directory /rpool/boot/grub. Could someone tell me how to go about it. See what I did... (2 Replies)
Discussion started by: Tenyhwa
2 Replies

6. Boot Loaders

Help Me edit the menu.lst !

I am trying to install three OS (Windows VISTA, OpenSUSE 11.3 & Solaris 11 Express) on a single drive of a laptop. However when I go to edit the /rpool/boot/grub/menu.lst to put the entry so it can boot the OpenSUSE 11.3 I get errors some of which result into starting all over again. I have also... (3 Replies)
Discussion started by: Tenyhwa
3 Replies

7. UNIX for Dummies Questions & Answers

Missing menu.lst file in Ubuntu

I am not able to find menu.lst in /boot. During the Linux Kernel Compilation I installed the kernel using make install. Next I created an initrd image. I had to modify the Grub configuration file - /boot/grub/menu.lst which I am not able to find. Any resolution for the issue? (3 Replies)
Discussion started by: rupeshkp728
3 Replies

8. Shell Programming and Scripting

Script to unmount and mount by UUID

Hi, Need a bit of help on this one as I am a scripting noob. I have a linux based NAS that mounts USB hard drives in an inconsistent location and to make matters worse, seems to lose the mount for an unknown reason and doesn't remount automatically unless the drive is removed and re-inserted.... (4 Replies)
Discussion started by: gtr33m
4 Replies

9. BSD

Find Partition/Slice UUID

I thought I had figured this out at one point, but I can't remember. Is there a way/command to get the UUIDs of a disk's partitions/slices in FreeBSD? Linux has the blkid command, which doesn't seem to be available. (2 Replies)
Discussion started by: AntumDeluge
2 Replies
tmpfs(5)						   Debian Administrator's Manual						  tmpfs(5)

NAME
tmpfs - variables that configure tmpfs filesystems mounted during boot DESCRIPTION
The /etc/default/tmpfs file contains variable settings in POSIX format: VAR=VAL Only one assignment is allowed per line. Comments (starting with '#') are also allowed. This file is for the configuration of tmpfs filesystems mounted in early boot, before filesystems from /etc/fstab are mounted. This cur- rently includes the filesystems /run, /run/lock, /run/shm and /tmp. /run is required to be a tmpfs on systems supporting tmpfs mounts. /run/lock and /run/shm may be separate tmpfs mounts, useful for enforcing separate size limits. /tmp is not required to be a tmpfs, but is mounted as a tmpfs by default. /run Previously configured using RAMRUN in /etc/default/rcS, /run is now always mounted as a ram file system (tmpfs). The size of the tmpfs can be controlled using TMPFS_SIZE and RUN_SIZE. If desired, the defaults may also be overridden with an entry in in /etc/fstab, for example: tmpfs /run tmpfs nodev,nosuid,size=10%,mode=755 0 0 The contents of /run will always be lost on system reboot, and it it is no longer explicitly cleaned at boot. Packages can not expect directories in /run to exist after boot. Packages expecting this are buggy and need to be fixed. Note that /run was previ- ously /var/run, and a compatibility symlink or bind mount will be created to allow the old path to continue to function. /run/lock Previously configured using RAMLOCK in /etc/default/rcS. Configured using RAMLOCK, TMPFS_SIZE and LOCK_SIZE. If desired, the defaults may also be overridden with an entry in in /etc/fstab, for example: tmpfs /run/lock tmpfs nodev,noexec,nosuid,size=52428800,mode=1777 0 0 Note that irrespective of these settings, /run/lock will be located on a tmpfs, either one mounted on /run/lock (if RAMLOCK=yes) or one mounted on /run (if RAMLOCK=no), and as a result the contents of /var/lock will always be lost on system reboot, and it it is no longer explicitly cleaned at boot. Packages can not expect directories in /var/lock to exist after boot. Packages expecting this are buggy and need to be fixed. Note that /run/lock was previously /var/lock, and a compatibility symlink or bind mount will be created to allow the old path to continue to function. /run/shm Previously configured using RAMSHM in /etc/default/rcS. Note that the setting in /etc/default/rcS, if present, will still be used, but the setting in /etc/default/tmpfs will take precedence if enabled. Configured using RAMSHM, TMPFS_SIZE and SHM_SIZE. If desired, the defaults may also be overridden with an entry in in /etc/fstab, for example: tmpfs /run/shm tmpfs nosuid,nodev,size=40%,mode=1777 0 0 Packages can not expect directories in /run/shm to exist after boot. Note that /run/shm was previously /dev/shm, and a compatibil- ity symlink or bind mount will be created to allow the old path to continue to function. If an fstab entry for /dev/shm exists instead of /run/shm, then /dev/shm will continue to be used; note that this is only needed for users of newer versions of the Oracle database, which contain a buggy check for /dev/shm. /tmp Previously configured using RAMTMP in /etc/default/rcS. Note that the setting in /etc/default/rcS, if present, will still be used, but the setting in /etc/default/tmpfs will take precedence if enabled. Configured using RAMTMP, TMPFS_SIZE and TMP_SIZE. If desired, the defaults may also be overridden with an entry in in /etc/fstab, for example: tmpfs /tmp tmpfs nodev,nosuid,size=20%,mode=1777 0 0 Packages can not expect directories in /tmp to exist after boot. OPTIONS
The following variables can be set. Enabling or disabling tmpfs mounts The following options enable specific mounts (with the exception of /run) to be enabled or disabled. Note that the addition of an entry to /etc/fstab for any of the following will enable the mount unconditionally, overriding the setting here. RAMLOCK Mount /run/lock as a tmpfs (separately from /run). Defaults to yes; set to no to disable (/run/lock will then be part of the /run tmpfs, if available). RAMSHM Mount /run/shm as a tmpfs (separately from /run). Defaults to yes; set to no to disable (/run/shm will then be part of the /run tmpfs, if available). RAMTMP Mount /tmp as a tmpfs. Defaults to no; set to yes to enable (/tmp will be part of the root filesystem if disabled). /tmp may also be configured to be a separate mount in /etc/fstab, which will override the RAMTMP setting. Configuring size limits for tmpfs mounts The following options configure size limits for tmpfs mounts. Note that the addition of an entry to /etc/fstab will override any of the limits specified here. The following _SIZE variables are the maximum size (in bytes) that tmpfs filesystems can use. The size will be rounded down to a multiple of the page size, 4096 bytes. If no size is set, TMPFS_SIZE will be used as the default. More complex mount options may be used by the creation of a suitable entry in /etc/fstab. For example: tmpfs /run tmpfs size=10% 0 0 is equivalent to RUN_SIZE=10% and will override the RUN_SIZE setting. This will allow additional options such as nr_blocks and nr_inodes to be used, and also adjustment of the mode, nodev, nosuid, noexec options should any change from the defaults be necessary. TMPFS_SIZE Maximum size for all tmpfs filesystems if no specific size is provided. The default is 20%VM (20% of virtual memory, including swap space). If no value is provided here, the kernel default (50% RAM) will be used. Note that the "%VM" suffix may be used in this and all the _SIZE settings below, but may not be used in /etc/fstab (the absolute size is calculated by the init scripts). RUN_SIZE Maximum size of /run (was previously /var/run). The default is 10% core memory; the size required varies widely depending upon the demands of the software being run; this heuristic scales /run usage on system size. Samba in particular has been seen to use at least 50MiB in a large heavily used server. Typical usage is hundreds of KiB, maximum is tens of MiB. LOCK_SIZE Maximum size of /run/lock (was previously /var/lock). Defaults to 5242880 (5 MiB). Typical usage: tens of KiB; maximum hundreds of KiB. The default of 5 MiB should ensure the limit is never reached. SHM_SIZE Maximum size of /run/shm (was previously /dev/shm). No default size; the size required varies widely depending upon the demands of the software being run. TMP_SIZE Maximum size of /tmp. No default size. Emergency overflow /tmp If the amount of free space on the root filesystem falls below a certain size, a tmpfs will be mounted on /tmp (irrespective of the RAMTMP setting, which this overrides). This is to permit logins when there would otherwise be too little free space for this to be possible. TMP_OVERFLOW_LIMIT Mount a tmpfs on /tmp if the amount of free space on the root filesystem is below the specified limit at boot time (default 1024 KiB). AUTHOR
Roger Leigh <rleigh@debian.org> SEE ALSO
mount(8), rcS(5). 18 Feb 2012 tmpfs(5)
All times are GMT -4. The time now is 08:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy