Mac OS X의 ext4 파일 시스템에서 읽고 쓸 수있는 안전하고 안정적인 응용 프로그램이 있습니까?
그렇지 않다면 Mac OS X에서 ext4 파일 시스템의 내용에 액세스하는 가장 좋은 방법은 무엇입니까?
답변
대답은 상용 소프트웨어에 투자하려는 의지에 달려 있습니다.
당신이 상용 제품에 돈을 지출 괜찮다면 , 파라곤의 Mac 용 extFS은 읽고 EXT2 / EXT3 / ext4 파일 시스템에 쓰기 액세스를 제공 할 것입니다. 현재 버전은 10.10 이상에서 모든 버전의 OS X / macOS를 지원합니다.
무료 솔루션을 찾고 있다면 Linux 가상 머신을 설정하고 볼륨을 마운트 한 후 Samba 또는 (S) FTP 를 통해 공유 할 수 있습니다 . 이 게시물 에는 무료 가상 머신 애플리케이션 인 VirtualBox를 사용하여이를 달성하는 방법에 대한 세부 사항이 있습니다. 사전 구축 된 VirtualBox VM 을 사용하여 Linux 배포판을 처음부터 설치 및 구성 할 필요가 없더라도이 솔루션은 가벼운 솔루션이 아닙니다 .
답변
Ken의 대답을 바탕으로 : fuse4x 및 fuse-ext2를 성공적으로 사용 했으며 ext4fuse 보다 fuse-ext2를 권장합니다.
ext4fuse는 수동 컴파일이 필요하고 액세스 제어를 설정할 수있는 fuse4x 옵션을 지원하지 않기 때문에 번거 롭습니다. fuse-ext2는 다운로드 가능한 패키지를 제공하며 0.0.7 버전은 정상적으로 작동했습니다. 문제없이 몇 가지 큰 ISO를 복사했습니다.
답변
brew 명령 줄 패키지 관리자 를 통해 OSXFUSE를 완전히 설치할 수도 있습니다 .
brew install homebrew/fuse/ext4fuse
설치시 특정 명령을이 외에도 ‘sudo’로 실행해야합니다.
요세미티와 함께 이것에 대해 더 잘 살펴보십시오 . 그런 다음 이 작업을 수행하여 사용자가 디렉토리를 읽을 수 있는지 확인하십시오 . 그것이 작동하려면 다음과 같이 휠 그룹을 사용해야했습니다.
sudo dscl . append /Groups/wheel GroupMembership $(whoami)
답변
최근에 homebrew가 변경되면 다음과 같이 간단해야합니다.
brew cask install osxfuse
brew install ext4fuse
재부팅해야 할 수도 있습니다.
ext4fuse 는 불행히도 읽기 전용입니다. 그리고 일반 사용자로 작동하려면 플래그 를 사용해야 할 수도 있습니다 .
이 질문을 보는 다른 사람들은 libguestfs에 관심이있을 수 있습니다 . OS X 포트는 모르지만 VirtualBox에 API가 있다고 생각하면 문제가되지 않습니다.
Linux 커널 파일 시스템 코드를 사용자 공간 / 퓨즈에서 실행할 수 있도록 호환성 계층을 작성한 사람이없는 이유가 궁금합니다. 아니면 누군가가 있습니까?
답변
퓨즈와 ext2fuse를 사용하여 ext4 파티션을 마운트하는 명령 줄이 무엇인지 궁금하다면 (예 : MacPorts를 사용하여 설치 할 때 port install ext2fuse
) Linux 파티션이 어디에 있는지 알아 내야합니다.
diskutil list
여기에는 모든 디스크의 모든 파티션이 나열되며 그 중 TYPE 열 아래에 관련 파티션이 Linux로 표시됩니다. / dev / diskXsY와 같이 diskX와 파티션 번호 Y를 결합하십시오. 예 :
mount -t fuse-ext2 /dev/disk1s2 ~/my_mount_point
로그 파일에 쓸 수 없다고 불평 할 수 있지만 여전히 파티션을 홈 마운트 지점에 마운트해야합니다. 그러나 파티션을 시스템 디렉토리에 마운트하려면 루트로 실행해야합니다. 예 :
sudo mount -t fuse-ext2 /dev/disk1s2 /sys_mount_point
그래도 작동하지 않으면 다음을 시도하십시오.
sudo ext2fuse /dev/disk1s2 /sys_mount_point
업데이트 : 최근에 fuse-ext2에 특정 최신 ext4 기능에 문제가 있음을 발견했습니다. 대신 ext4fuse ( port install ext4fuse
또는 brew install ext4fuse
) 를 사용하는 것이 좋습니다 . ext4fuse 명령을 직접 사용하십시오.
ext4fuse /dev/disk1s2 ~/mount_point
또한 주석에서 Timothy가 언급 한 것처럼 sudo
홈 디렉토리 외부에 마운트하거나 디스크 (/ dev / diskX)가 루트로만 액세스 할 수있는 경우에만 사용해야합니다.
sudo ext4fuse /dev/disk1s2 /sys_mount_point
마운트 된 파일 시스템에만 루트 / 스 도로 액세스 할 수 있습니다. 예 :
sudo ls /sys_mount_point
파일 시스템을 마운트 해제하려면 일반적인 umount
명령을 사용하십시오 (파티션을 마운트하는 데 사용되는 경우 sudo 사용).
umount ~/mount_point
답변
필자는 기록을 위해 MacBook Pro에서 Paragon ExtFS 드라이버 (평가판)를 테스트하여 Linux의 ext4 파티션에 썼습니다. 드라이버가 매우 불안정 fsck
하여 Linux 나 디스크 유틸리티에서 복구 할 수없는 파일 시스템이 손상되었습니다 .
내 생각은 /home
이 Paragon 드라이버를 사용하여 Mac OS X에서 파티션에 액세스하는 것이었지만이 설정을 권장하지는 않습니다. 지금까지 저널링없이 /home
포맷 된 Linux 파티션 이 있고 hfsplus
Mac OS X에서 파일에 액세스 할 수 있습니다. 물론, 때때로 FS에 문제가 있지만 자주는 아닙니다. 그러나, 나는이 설정을 제안하지 않습니다 (적어도 일상적인 작업을위한 최신 백업이 있어야 함).
마지막으로 Paragon이 외부 하드 디스크에 사용하기에 더 적합하다고 생각하지만 라이센스가 비싼 소프트웨어 인 경우에는 그다지 신뢰할 수 없습니다.
업데이트 : 2015 년 5 월 현재 / home을 ext4로 포맷했으며 퓨즈 X를 OS X 용 FUSE와 함께 사용하여 파일 시스템을 마운트합니다. ext4 파티션에 액세스하여 읽고 쓸 수 있습니다. 위에서 설명한 것보다 더 견고한 설정입니다.
답변
Vagrant를 사용하여 OS X에서 Linux VM을 빠르게 부팅 할 수 있습니다 . 사이트에서 .dmg 파일을 통해 또는 brew cask를 사용하여 VirtualBox 및 Vagrant 와 같은 VM 공급자를 설치해야합니다 .
vagrant
명령이 설치 되면 선택한 폴더에서이를 실행하십시오.
vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
Vagrantfile
구성 파일과 .vagrant
폴더 가 생성됩니다 .
몇 분 내에 Linux 박스를 부팅 할 수 있습니다 ( Atlas Hashicorp 저장소 에서 다운로드 ).
그런 다음 상자에 연결 명령을 통해 : vagrant ssh
및 장치를 탑재하려고 리눅스 내부.
기본적으로 현재 폴더는 /vagrant
VM의 폴더 와 동기화됩니다 . 고급 옵션의 경우 Vagrantfile
필요한 구성으로 수정할 수 있습니다.
따라서 파일 시스템을 /vagrant
폴더에 마운트하면 자동으로 macOS에 다시 동기화됩니다.
또는 VirtualBox 를 설치 하고 GUI 앱을 실행하고 위에서 설명한 것과 동일한 것을 달성하기 위해 Ubuntu 와 같은 최소 버전의 Linux를 설치하고 부팅해야 합니다.
위의 비원시 솔루션은 이상적이지 않지만 적어도 시스템 충돌을 일으킬 수있는 불안정한 커널 확장을 설치하는 것보다 macOS가 더 안정적입니다.