it-swarm.dev

Nautilus처럼 명령 줄에서 마운트하는 방법은 무엇입니까?

우분투 리눅스 박스에서 USB 연결 드라이브 나 CDROM을 쉽게 마운트 할 수 있습니다. 데스크탑에서 찾을 수있는 장치 아이콘을 클릭하면됩니다.

예를 들어 USB 연결 드라이브 아이콘을 클릭하면 다음과 같은 일이 발생합니다.

  • / media/LABEL 디렉토리가 자동으로 생성됩니다. 여기서 LABEL은 디스크의 레이블이며 디스크마다 다를 수 있습니다.
  • 장치의 파일 시스템은/media/LABEL에 마운트됩니다.

이 프로세스는 mount 명령을 사용한 마운트와 크게 다릅니다. 특히:

  • 루트가 아니어도됩니다 (또는 일반 사용자가 장치를 마운트 할 수 있도록/etc/fstab을 수정할 필요가 없습니다).
  • / media/LABEL 디렉토리가 자동으로 생성됩니다.
  • 디렉토리 이름은 볼륨 레이블에 따라 변경됩니다.

Gnome GUI 마운팅 기능처럼 작동하는 명령 줄 명령이 있습니까?

36
Andrea Francia

사용법 정보는 pmount 명령을 참조하십시오.

9
phihag

찾고있는 것은 gio mount입니다 (최근 gvfs-mount를 대체 한 gnome-mount를 대체했습니다).

여기에 맨 페이지 또는 gio help mount를 입력하여 자세한 내용을 볼 수 있습니다.

기본 사용법은 다음과 같습니다.

gio mount --list --detail 마운트 및 마운트 가능한 볼륨 목록 가져 오기

gio mount [-u] <volume>을 (를) [마운트 해제]합니다 (예 : gio mount smb://server/share 또는 gio mount WINDOWS.

안타깝게도 "오류 마운트 위치 : 볼륨이 마운트를 구현하지 않음"메시지가 볼륨 이름으로 마운트하려고하는 버그가있는 것 같지만 gvfs-mount -d /dev/<devicename>가 작동 할 수 있습니다.

41
mwx

최신 배포판에서 HAL은 더 이상 사용되지 않으며 pmount는 여전히 존재하지만 더 이상 사용되지 않습니다 .... 사용 :

udisks --mount /dev/sdXN
22
noname

네, 있습니다. ivman 이라고하며 모든 HAL 이벤트를 처리합니다. ion 실행할 때 시작합니다. ivman을 데몬 프로세스로 시작하지만 sudoers 파일에 프로그램을 추가했습니다.

cat /etc/sudoers
[...]
ivman {hostname}=(root) NOPASSWD: /sbin/init, /usr/sbin/hibernate
[...]

전원 설정도 관리 할 수 ​​있습니다.

1
Steen

"devkit-disks --mount /dev/sdxx "여기서 xx는 마운트 할 파티션의 문자와 번호입니다 ...

0
Samuel Audet

USB 장치를 연결하고 "gnome-volume-manager"를 입력하면 필요한 작업을 수행하는 것 같습니다.

0
vinc456

나는 Gnome 자체가 마운팅을 처리한다고 생각하지 않습니다. HAL입니다. 따라서 HAL이 실행중인 경우 자동 마운트 할 수 있어야합니다. 나는 pmount이 어떻게 든 HAL과 통신한다고 가정하고 그것이 마운트 해제를 처리하는 방법 일 것입니다. 적어도 이것이 당신이 시작되기를 바랍니다.

0
Paul Fisher

명령 줄에서 마운트/마운트 해제하는 데 gnome-mount를 사용할 수도 있습니다.

0
bluebrother

나는 당신이 원하는 것을 할 스크립트가 있습니다.

#!/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
#====================================================================
0
maxdev137