
예전에는 문제가 되지 않았지만 이제는 문제가 되었습니다. 중요한 내용을 변경하지 않았으므로 업데이트로 인해 문제가 발생한 것 같습니다.
VeraCrypt를 실행하면 루프 장치를 설정할 수 없다고 불평하고 modprobe fuse
. 실행하면 작동하지 않습니다. 그러나, 달리는modprobe fuse
그리고 modprobe loop
다음에 다시 시작할 때까지 문제를 해결합니다.
부팅 시 이러한 모듈이 자동으로 로드되어서는 안 되나요? 왜 안 돼? 어떻게 만드나요?
답변1
fuse
loop
요청 시 자동으로 로드될 수 있습니다 .
검색해 보니grsecurity 커널이 이를 차단할 수 있습니다.. 따라서 이것이 얼마나 좋은 아이디어인지에 대해서는 약간의 의견 차이가 있습니다. :-) 그러나 저는 이것이 대부분의 배포판에서 사용된다고 믿습니다.
자동 로딩에 일시적인 버그가 있는 경우, 부팅 시 fuse
로딩 해도 괜찮습니다 . loop
자동 로딩 메커니즘과 충돌이 발생하지 않습니다. 모든 모듈 옵션은 누가 호출하든 상관없이 options
의 줄 에 따라 설정되어야 합니다 ./etc/modprobe.d/
modprobe
loop
예 를 들어 로드되었는지 확인하기 위해
echo 'loop' | sudo tee -a /etc/modules-load.d/modules.conf
자동 로딩은 어떻게 작동하나요? 우선 사용자 공간은 /dev/fuse
모듈 로드 여부에 관계없이 부팅 시 정적으로 생성됩니다. 현재 시스템의 메커니즘은 약간 바로크적입니다 /lib/systemd/system/kmod-static-nodes.service
. 따라서 열려고 시도할 수 있는 장치 노드가 있습니다. 그렇게 하면 커널이 먼저 모듈을 로드하도록 호출합니다.
내 시스템에서 적절한 커널 모듈의 로딩을 트리거할 수 있도록 정적으로 생성된 장치 노드 목록은 다음과 같습니다.
$ cat /run/tmpfiles.d/kmod.conf
c! /dev/fuse 0600 - - - 10:229
c! /dev/btrfs-control 0600 - - - 10:234
c! /dev/loop-control 0600 - - - 10:237
d /dev/net 0755 - - -
c! /dev/net/tun 0600 - - - 10:200
c! /dev/ppp 0600 - - - 108:0
c! /dev/uinput 0600 - - - 10:223
c! /dev/uhid 0600 - - - 10:239
d /dev/vfio 0755 - - -
c! /dev/vfio/vfio 0600 - - - 10:196
c! /dev/vhci 0600 - - - 10:137
c! /dev/vhost-net 0600 - - - 10:238
c! /dev/vhost-vsock 0600 - - - 10:241
d /dev/snd 0755 - - -
c! /dev/snd/timer 0600 - - - 116:33
d /dev/snd 0755 - - -
c! /dev/snd/seq 0600 - - - 116:1
c! /dev/cuse 0600 - - - 10:203
( d
라인은 디렉토리입니다).
답변2
systemd 스크립트를 사용하여 시작 시 명령을 실행할 수 있습니다. 내용이 포함된 파일을 생성합니다.
modprobe fuse
modprobe loop
( ~/Documents/modprobe_startup.sh
또는 저장하고 싶은 곳). 그것을 실행 가능하게 만드는 것을 잊지 마십시오
chmod +x ~/Documents/modprobe_startup.sh
/lib/systemd/system/modprobe_startup.service
이제 내용과 함께 간단한 시스템 서비스 파일을 만듭니다.
[Unit]
Description=runs ~/Documents/modprobe_startup.sh
[Service]
Type=simple
ExecStart=/bin/bash /home/USERNAME/Documents/modprobe_startup.sh
[Install]
WantedBy=multi-user.target
USERNAME을 시스템의 사용자 이름으로 바꾸는 것을 잊지 마십시오.
이제 설치를 하자면,
sudo cp /lib/systemd/system/modprobe_startup.service /etc/systemd/system/modprobe_startup.service
sudo chmod 644 /etc/systemd/system/modprobe_startup.service
systemctl enable modprobe_startup.service
그리고 재부팅하세요.