"cryptsetup luksOpen" 및 "mount"를 실행하는 단일 명령은 무엇입니까?

"cryptsetup luksOpen" 및 "mount"를 실행하는 단일 명령은 무엇입니까?

현재 다음 스크립트가 있습니다. 설명된 디스크를 마운트해야 할 경우 이 명령을 수동으로 실행합니다. 부팅 시 디스크가 자동으로 마운트될 필요가 없습니다.

disk1="/dev/disk/by-uuid/84ea2a10-abcd-abcd-abcd-06deabcdabcd"
sudo cryptsetup luksOpen "${disk1}" disk1-crypt
sudo mount /dev/mapper/disk1-crypt /mnt/disk1

이 디스크를 마운트하려고 할 때 luksOpen 명령이 자동으로 실행되도록 Linux를 설정할 수 있습니까? 가능하다면 제거 시에도 닫아주세요.

답변1

이것은 우아한 솔루션은 아니지만 귀하의 사용 사례에 적합할 수 있습니다(확실히 제가 직접 해결한 방법입니다).

mount명령을 별칭으로 재정의하고 인수를 확인하고 정확한 인수를 전달할 때 원하는 작업을 수행하고 mount다른 것을 전달할 때 실제 명령으로 돌아가는 bash 스크립트를 만들 수 있습니다 .

이 스크립트를 살펴보십시오.

#!/bin/bash

mount_disk1 () {
    disk1="/dev/disk/by-uuid/84ea2a10-abcd-abcd-abcd-06deabcdabcd"
    sudo cryptsetup luksOpen "${disk1}" disk1-crypt
    sudo mount /dev/mapper/disk1-crypt /mnt/disk1
}

[[ "$@" == "disk1" ]] && mount_disk1 \
|| mount "$@"

여기에 원하는 작업을 수행하는 기능이 있습니다. 전달한 유일한 것이 disk1함수를 실행하는 것뿐이라면, 그렇지 않으면 mount모든 인수를 전달하는 원래 함수를 실행합니다.

~/.bashrc이 스크립트를 폴더에 넣고 또는 ~/.zshrc다음을 사용하여 별칭을 설정할 수 있습니다.

alias mount='<path to script>'

그런 다음 원본을 사용하려면 터미널에서 실행할 mount수 있습니다 .\mount

(다시) 도움이 되기를 바랍니다!

관련 정보