Skip to main content
Nowadays normally Ubuntu mounts external hard drives without the executable bit set as a precaution against dangerous scripts from running automatically. Without the executable bit set it becomes impossible to run scripts from external hard drives. However, setting the executable bit is not as hard but little bit laborious. So I wrote a small script to decrease the load.


In order to set the executable bit for the normal user the specific partition has to be unmounted as root and then remounted by the normal user with SSID and setting the executable bit so that he has execution permission. The normal remounting process could be done in the userspace so it is all included in the script but the unmounting requires root privilege. Since, sudden unmount can freeze open files and cause data loss if the mount point is removed forcibly (rm -rf) I have not included it in the script. So the unmounting has to be manually by the user with root privileges. So if using a public computer or a shared one where you do not have root privileges this script will not work. Also, it requires pmount to be installed. If it is not installed by default then install it in Ubuntu by the command.

sudo apt-get install pmount

I have partitions which are names passport-1 , passport-2 , passport-3 ... I would like to mount only yhe partition passport-1 as executable. So I first unmount it as root

su
umount /media/passport-1

Sometimes if passport-1 is manually mounted by the user like what the script does here then there would /media/passport-1 and also /media/passport-1_ because ubuntu could not unmount /media/passport-1 as it was manually mounted so it used /media/passport-1_ to mount the passport-1 partition . If such thing happens then it is easy to see because the /media folder will have both passport-1 and passport-1_ . passport-1 would be empty. Unmount passport-1_ instead of passport-1 and then remove passport-1 by rm -r as root. Be very careful when using this command. Double check that the folder on which it is used is empty. Then happily proceed to execute script. Make sure the script is saved as scriptname.sh and executable chmod 755 scriptname.sh

NOTE - The script fails if the drive has only one partition. Then some modification is necessary. I am sure the reader can figure it out.

================================
#!/bin/bash

# check if the partition is mounted at a alternate location because of a previous failed unmount operation

pp1=`df | grep passport-1_`
if [[ $pp1 ]]; then
echo "passport-1_ exists. Unmount HDD as normal user. Then remove /media/passport as root. Be careful with the rm -rf of the folder. Make sure it is empty. Then reconnect or remount the drive."
exit
fi

#check if the partition is already mounted

pp2=`df | grep passport-1`
if [[ $pp2 ]]; then
echo "umount /media/passport-1 as root."
exit
fi

# check if the drive is connected by looking at another partition called passport-2 which must be mounted. The script fails from here if the drive has only one partition.

pp3=`df | grep passport-2`
if [[ ! $pp3 ]]; then
echo "Error. Connect drive again."
exit
fi

#Get the device id assigned by the kernel.

drive_id=`df | grep passport-2 | cut -d "/" -f3 | cut -c"1-3"`

# Append the partition number to mount at the end of device id. If the device id is sdc then if I want to mount partition no.1 then I append 1 to it and get sdc1.
drive1=$drive_id"1"

# mount it with executable it set

pmount --fmask 077 -d -e /dev/$drive1 passport-1



================================

Comments

Popular posts from this blog

Fastest way to send multiple drafts from gmail

People claim that the fastest way to send multiple email drafts is to use Gmail IMAP with email client like Outlook or Evolution or Thunderbird. But I have found this is not true. Because Thunderbird and Evolution etc. email clients treats the drafts as emails still to be edited. So it is not just simple select all and hit send. Each email draft has to be opened and sent separately. That is a lot of clicks and mouse movements, wasting precious time and energy. I have a better solution which involves minimum keystrokes and mouse usage. Efficiency booster technique for sending emails. If someone is feeling adventurous and want to try it from the Gmail interface itself, here's how to do it in the fastest possible manner. It involves using the mouse once. Select the first draft. Gmail would open a new email box and put the cursor inside the box to write. Press TAB once to go the Send button. Press ENTER to send. Now Gmail sends it and the box is gone but the highlight goes to the last

LYRICS OF CHANDRABINDOO

___________________________________________________________________ SWEET HEART FROM AAR JAANI NAA(T-SERIES) -- SWEETHEART -- Pratham college-er din ta Aajo thik e mone poRey scene ta Dada didi haath dhorey siNRi tei bose poRey Aamar chokh ta ghorey bon bon bon bon Sweetheart, I am seating alone Sweetheart, for me there is none DhoNk gile chole gelo pratham maas Meye dekhlei feli deergho-shwash DhoNk gile chole gelo pratham maas Meye dekhlei othe nabhishwash Meyera bheeshan smart poRey chhoto mini-skirt Aamar e je sheet korey kon kon kon kon Sweetheart, I am seating alone Sweetheart, for me there is none Taarporey kete gelo maas chaar Fuse holo je kato future Bandhura purse khule eke oke taake tole Aamar pran ta korey chon mon chon mon Sweetheart, I am seating alone Sweetheart, for me there is none Ekdin lawn theke beriye Ek tanayaar dike taakiye Hawt korey ki je holo magaj ta ghurey gelo Taar kaaner saamne kori ghyan ghyan ghyan ghyan Sweetheart, I am seating alone Sweethea

Changing the font size of section headings in LaTex

You have several ways to do so: 1.- A direct redefinition of \section: \makeatletter \renewcommand\section{\@startsection{section}{1}{\z@}%                                   {-3.5ex \@plus -1ex \@minus -.2ex}%                                   {2.3ex \@plus.2ex}%                                   {\normalfont\large\bfseries}} \makeatother 2.- By means of the titlesec package: \usepackage{titlesec} \titleformat{\section}{\large\bfseries}{\thesection}{1em}{} 3.- By means of the sectsty package: \usepackage{sectsty} \sectionfont{\large} source : http://www.latex-community.org/forum/viewtopic.php?f=4&t=3245   Now, I would explain the titlesec package a bit more (because it seems easier to me and with more options) : To change the section fonts with this package put the following lines in the preamble - \usepackage{titlesec} \titleformat{\ section }{\ large \ bfseries }{\thesection}{1em}{} Options available are- a> Font size - \normals