저는 VirtualBox 6.0.6을 사용하여 Windows 10의 Linux Mint에서 작업하고 있습니다. 프로그래밍 환경에서 USB 드라이브를 사용합니다(포터클). 여기에는 실행 파일(portacle.desktop)이 포함되어 있습니다. 파일을 실행할 수 없다는 것을 알았습니다. 항상 창이 나타납니다.
The application "portacle.desktop" has not been marked as trusted (executable).
"무조건 시작" 또는 "신뢰할 수 있는 것으로 표시"를 클릭해도 아무런 효과가 없습니다. 파일 옵션 "파일을 프로그램으로 실행 허용"이 꺼진 것으로 나타났습니다. 그런데 켜자마자 바로 꺼지더군요. 소유자는 "mint"이고 이를 변경하면 루트로 실행하는 경우에도 "그룹을 변경할 수 없습니다. "portacle.desktop" 그룹을 변경하는 데 필요한 권한이 없습니다"라는 메시지가 나타납니다. 많은 분들이 겪으셨는데요유제여기에서 질문하면 속성/권한을 변경하라는 메시지가 표시됩니다. 권한을 변경해도 문제가 해결되지 않았습니다. 소유자를 루트로 변경하면 오류가 발생합니다.
chown: changing ownership of 'portacle.desktop': Operation not permitted
파일 속성을 보거나 변경하려고 하면 다음과 같은 결과가 발생합니다.
lsattr: Inappropriate ioctl for device while reading flags on portacle.desktop
좀 검색한 끝에 발견한일부 사람들그리고같은 질문, 그러나 그들의 솔루션은 특정 해결 방법이며 제 경우에는 작동하지 않습니다. 또한 USB 드라이브에서 기본 드라이브로 파일을 이동해 보았습니다. 이상한 문제(폴더 크기가 갑자기 140TB로 표시되는 등)를 제외하면 ioctl 문제는 사라지지 않았으며 모든 것이 거의 같은 방식으로 진행됩니다.
파일의 전체 경로:/media/mint/3424-9F51/real-lisp/portacle-linux/portacle.desktop
출력 mount | grep /dev
:
root@mint:/media/mint/3424-9F51/real-lisp/portacle-linux# mount | grep /dev
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1998648k,nr_inodes=499662,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sr0 on /cdrom type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048)
/dev/loop0 on /rofs type squashfs (ro,noatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
/dev/sda1 on /media/mint/3424-9F51 type vfat (rw,nosuid,nodev,relatime,uid=999,gid=999,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
출력 df
:
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1998648 0 1998648 0% /dev
tmpfs 403956 1092 402864 1% /run
/dev/sr0 1927648 1927648 0 100% /cdrom
/dev/loop0 1845760 1845760 0 100% /rofs
/cow 2019772 49900 1969872 3% /
tmpfs 2019772 0 2019772 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 2019772 0 2019772 0% /sys/fs/cgroup
tmpfs 2019772 4 2019768 1% /tmp
tmpfs 403952 28 403924 1% /run/user/999
출력 free
:
total used free shared buff/cache available
Mem: 4039548 1201060 1581880 158384 1256608 2445112
Swap: 0 0 0
출력 du -ks /media/mint/3424-9F51/real-lisp/portacle-linux
:
2496752 /media/mint/3424-9F51/real-lisp/portacle-linux
답변1
문제는 USB 드라이브에 있는 실행 파일을 mount
현재 옵션(직접 설정하지 않은 기본 옵션)으로는 실행할 수 없다는 점입니다. 또한 가상 머신(VM) 내의 루트/메인 파일 시스템에는 파일을 복사하고 실행할 공간이 부족합니다.
따라서 귀하의 옵션은 다음과 같습니다.
- 파일 실행을 허용하려면 USB 드라이브를 다시 마운트하세요.
- 프로그램과 해당 파일을 복사할 수 있도록 하드 드라이브 공간을 늘리십시오.
광고 1 -명령 mount
에는 USB 드라이브가 마운트되었음을 표시하며 실행을 방지하는 옵션이 /media/mint/3424-9F51
포함되어 있습니다 . showexec
이 경우 명령은
mount -o remount,exec /media/mint/3424-9F51
(prepend 와 같이 루트로 실행하면 sudo
) 원하는 결과를 얻을 수 있습니다. 이 파일 시스템은 여전히 Linux 파일 시스템이 아니며 파일 이름 대소문자 구분과 같은 다른 문제가 발생할 수 있습니다.
광고 2 -가상 머신에서 디스크 크기를 조정하려면 다음이 필요합니다.
(a) 호스트에서 적절한 명령을 사용하여 가상 머신이 종료되는 동안 에뮬레이트된 하드 디스크(일반적으로 "qcow2" 파일)의 크기를 조정합니다.
qemu-img resize /var/lib/libvirt/images/linux_mint.qcow2 +2GB
(루트로 다시 실행하여 파일 이름을 바꿉니다.) 그러면 2GB의 가상 하드 드라이브 공간이 추가됩니다. 파일을 복사하려면 최소 2496752k-1969872k(514MB가 약간 넘음)가 필요하지만 나중에 프로그램을 사용하고, 파일을 저장하고, 시스템을 업데이트하려면 하드 드라이브가 가득 차게 됩니다. 최소 1GB 이상, 아마도 10GB와 같이 그 이상일 수도 있습니다.
(b) 가상 머신 외부에서 시뮬레이션된 하드 디스크의 시스템 파티션 크기를 다시 조정합니다. VM의 비정상적인 파티션 설정( /cow
DVD의 오버레이 파일 시스템을 에뮬레이션하는 것 같습니다)을 이해하지 못하기 때문에 알아내려면 더 많은 작업이 필요합니다.
(c) 방금 크기를 조정한 파티션의 파일 시스템 크기를 조정합니다. 이는 다시 설정에 따라 다릅니다.
(d) 새로 추가된 루트/홈 파티션에 파일을 복사합니다. 예를 들어
rsync -uav /media/mint/3424-9F51/real-lisp/portacle-linux /home/mint/
그런 다음 파일을 찾아 /home/mint/portacle-linux
거기에서 작업해 보세요.
2번 (a)~(c) 외에 가상 머신에 추가 디스크를 추가하여 파티션으로 사용함으로써 /home
여유 공간을 확보하여 (d)를 진행할 수 있습니다. 이렇게 하면 설정하기가 더 쉬워집니다. 이에 대한 설명이 필요하면 알려주시기 바랍니다. ( /home
"다시 시작"할 수 없으면 이전 파일을 모두 복사/이동해야 합니다 .)
답변2
하루 늦을 수도 있고 1달러가 부족할 수도 있습니다. 그런데 Mint 19.3에서도 비슷한 문제가 발생했습니다. ("파일을 프로그램으로 실행하도록 허용"이 꺼져 있었는데, 켜자 바로 꺼졌습니다.) .jar 프로그램을 실행하려고 할 때 발생했습니다. 내 USB에. 이 문제를 해결한 방법은 .jar 프로그램을 USB에서 내 문서 폴더로 복사하는 것이었습니다. 클릭하면 바로 실행됩니다. 도움이 되었기를 바랍니다.