fstab - mount on boot linux
¿Cómo montar desde la línea de comandos como lo hace el Nautilus? (9)
En mi Ubuntu Linux Box puedo montar fácilmente unidades USB conectadas o un CDROM haciendo clic en los íconos de los dispositivos que puedo encontrar en el Escritorio.
Por ejemplo, si hago clic en un ícono de unidad de disco USB, suceden las siguientes cosas:
- El directorio a / media / LABEL se crea automáticamente (donde LABEL es la etiqueta del disco y puede variar de un disco a otro)
- el sistema de archivos en el dispositivo está montado en / media / LABEL
Este proceso es significativamente diferente del montaje usando el comando mount
. En particular:
- no necesita ser root (o no necesita modificar / etc / fstab para permitir que el usuario común monte el dispositivo)
- el directorio / media / LABEL se crea automáticamente
- el nombre del directorio cambia según la etiqueta del volumen.
Hay un comando de línea de comando que se comporta como las instalaciones de montaje de Gnome GUI?
No creo que Gnome maneje el montaje, es HAL. Entonces, si HAL se está ejecutando, deberías poder automover. Supongo que pmount
habla con HAL de alguna manera, y esa sería la forma de manejar el desmontaje. Espero que esto te haga comenzar, al menos.
Conecto mi dispositivo USB, escribo "gnome-volume-manager" y parece que hace lo que necesita.
Sí hay. Se llama ivman y maneja todos los eventos HAL. Lo inicio cuando ejecuto ion3 . Simplemente comienzo con ivman
como un proceso de daemon, pero agregué el programa a mi archivo sudoers:
cat /etc/sudoers
[...]
ivman {hostname}=(root) NOPASSWD: /sbin/init, /usr/sbin/hibernate
[...]
para que pueda administrar la configuración de energía también.
También puede usar gnome-mount para montar / desmontar desde la línea de comando.
Supongo que lo que estás buscando es "gfvs-mount" (recientemente reemplazó el "gnome-mount" del que la mayoría de la gente habla, tanto gnome-mount como pmount confían en HAL que se está eliminando).
no hay una página man así que solo escriba "gvfs-mount --help" para los detalles, o lea aquí: Cómo montar sistemas de archivos desde la línea de comandos en Ubuntu 10.04 y 10.10 ; el uso básico es tan simple como puede ser:
"gvfs-mount --list" para obtener una lista de volúmenes montados / montables;
"gvfs-mount [-u]" a [un] mount, por ejemplo "gvfs-mount smb: // server / share" o "gvfs-mount WINDOWS".
lamentablemente, parece haber un error que da como resultado un mensaje "Error al montar la ubicación: el volumen no implementa el montaje" intentando montar por nombre de volumen, pero "gvfs-mount -d / dev /" debería funcionar.
en mi Ubuntu 10.04 puedo montar acciones de smb así pero no en las particiones de Windows, pero podría ser que yo lo hiciera mal, mi necesidad era aumentar las acciones de smb y no me molesté en investigar el problema con las particiones ntfs.
Ver el comando pmount
para información de uso
Eso sería " devkit-disks --mount /dev/sdxx
" donde xx
es la letra y el número de la partición para montar ...
En las distribuciones modernas HAL ya no se usa, aún existe pero desaprobó ... use:
udisks --mount /dev/sdXN
Tengo un script para hacer lo que quieras.
#!/bin/bash
#====================================================================
# udmount.sh - mounts partitons by volume label.
# usage: udmount.sh <label> [rw|ro|u]
# rw - mount read-only (default)
# rw - mount read-write
# u - unmount
#
# Mounts on /media/<label>. Tested on Mint 13 and Fedora 19.
# Use and/or modify at your own risk. Your mileage may vary.
# Caveats:
# * No spaces in volume label. Won''t work.
# * If the mount point (/media/<label>) already exists,
# (usually from an unclean shutdown), udmount will mount
# the volume on /media/<label>_
#
# 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
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# 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 can view the GNU General Public License for this program at
# http://www.gnu.org/licenses/gpl.txt
# Copyright 2013 [email protected]
#====================================================================
BEEP=$''/a''
VLABEL="$1" # volume label
MPOINT="/media" # default mount point for gnome-mount/udisks
YN="" # yes/no string
c_red() { echo -n $(tput setaf 1)$1$(tput sgr0) ; }
c_grn() { echo -n $(tput setaf 2)$1$(tput sgr0) ; }
c_yel() { echo -n $(tput setaf 3)$1$(tput sgr0) ; }
c_blu() { echo -n $(tput setaf 4)$1$(tput sgr0) ; }
c_pur() { echo -n $(tput setaf 5)$1$(tput sgr0) ; }
c_aqu() { echo -n $(tput setaf 6)$1$(tput sgr0) ; }
c_wht() { echo -n $(tput setaf 7)$1$(tput sgr0) ; }
Y="YEP " ; Y_c=$(c_grn "$Y")
N="NOPE" ; N_c=$(c_red "$N")
SNAME=`echo "$0" | sed -e ''s|.*//(.*/)$|/1|''`
#--------------------------------------------------
AMV_LABEL="" # already mounted volume label
MMSG="" # "is mounted on" msg
AMF=0 # already mounted flag
AMV="" # already mounted volume (from "mount -l")
AMV_DETAILS="" # already mounted volume details
AMV_HELPER="" # "uhelper" subsystem for mount/unmount ("hal" or "udisks")
COPT="$2" # command line option
MOPT="ro" # user input for mount option
UOPT="ro" # udisk mount options
#--------------------------------------------------
_usage () { echo "usage: $SNAME LABEL [rw|ro|u]" ; }
_error() { echo "!!! Error: $1. !!!" >&2 ; echo -n "$BEEP"; _usage ; exit 1 ; }
_error_parm() { _error "$2 Parameter Missing [$1]" ; }
_error_parm2() { _error "Command is wrong (only /"rw, ro, or u/") is alowed, not /"$1/"" ; }
_unmount () {
### unmount ###
if [ "$COPT" = "u" ] ; then
MPOINT=`echo "$AMV" | grep "/[$VLABEL/]" |sed -e ''s|^.* /(/.*/) type.*$|/1|''`
#echo "unmount MPOINT = [$MPOINT]"
if [ -z "$MPOINT" ] ; then
echo "$N_c - $VLABEL not mounted."
else
_MSG=`umount "$MPOINT" 2>&1`
_STATUS=$?
if [ "$_STATUS" -eq 0 ] ; then
echo "$Y_c - /"$MPOINT/" is now unmounted"
else echo "$N_c - unmount /"$MPOINT/" failed ($_MSG)"
fi
fi
fi
}
#--------------------------------------------------
[ -n "$VLABEL" ] || _error_parm "$VLABEL" "Volume Label"
### command line option checck
case "$COPT" in
"ro" ) ;;
"rw" ) ;;
"u" ) ;;
* ) _error_parm2 "$COPT" ;;
esac
### is VLABEL already mounted?
AMV=$(mount -l | grep "/[$VLABEL/]")
AMF=$?
### VLABEL is mounted somewhere
if [ $AMF -eq 0 ] ; then
AMV_LABEL=$(echo "$AMV" | sed ''s/^.* /[/(.*/)/]$//1/'')
AMV_DETAILS=$(echo $AMV | sed ''s|^.*on /(.*/) /[.*$|on /"/1/"|'')
AMV_UHELPER=$(echo $AMV | grep uhelper | sed ''s/^.*uhelper=/(.*/)).*$//1/'')
#echo "AMV = [$AMV]"
#echo "AMV_LABEL = [$AMV_LABEL]"
#echo "AMV_DETAILS = [$AMV_DETAILS]"
#echo "AMV_UHELPER = [$AMV_UHELPER]"
### unmount ###
[ "$COPT" = "u" ] && _unmount && exit $?
### mounted on MPOINT (usually /media)
if [ -d "$MPOINT/$VLABEL" ] ; then
MOPT="ro" ; YN="$N_c"
[ -w "$MPOINT/$VLABEL" ] && MOPT="rw"
[ "$MOPT" = "$COPT" ] && YN="$Y_c"
### mounted somewhere else
else
MOPT=$(echo "$AMV_DETAILS" | sed ''s/^.*(/(.*/)).*$//1/'')
fi
echo "$N_c - $VLABEL is already mounted /"$MOPT/" $AMV_DETAILS"
### $VLABEL is not mounted anywhere, decide on "rw" or "ro"
else
if [ "$COPT" = "u" ] ; then
echo "$N_c - /"$VLABEL/" is not mounted"
else
MOPT="ro"
[ "$COPT" = "rw" ] && MOPT="rw"
echo "udisks --mount /dev/disk/by-label/$VLABEL $UOPT"
udisks --mount /dev/disk/by-label/"$VLABEL" --mount-options "$MOPT"
_STATUS=$?
[ $_STATUS -eq 0 ] && echo "$Y_c - $MPOINT/$VLABEL mounted ($MOPT)"
[ $_STATUS -ne 0 ] && echo "$N_c - /"$VLABEL/""
fi
fi
#====================================================================