apple m1(os big sur)에서 CMS open data with docker 이슈

버들비·2021년 5월 25일
0

TLDR : M1 으로 하지말고 x86 cpu 노트북으로 해라

reference

https://apple.stackexchange.com/questions/395508/can-i-mount-the-root-system-filesystem-as-writable-in-big-sur

사용자가 유닉스 계열 머신에서 파일에 접근하려면 그에 앞서 파일을 포함하고 있는 파일 시스템을 mount 명령어를 이용하여 마운트된 상태여야 한다. mount는 SD 카드, USB 저장소, DVD, 기타 이동식 저장소에 자주 사용된다.

mount 명령어는 운영 체제에게 파일 시스템이 사용 준비가 되어있음을 지시하고 이를 전반 파일 시스템 계층 구조(마운트 지점)에 있는 특정 지점에 연결시킨 다음, 접근에 관련한 옵션을 설정한다. 마운트를 통해 파일 시스템, 파일, 디렉터리, 장치, 특수 파일을 사용자가 사용할 수 있게 한다. 이와 반대되는 명령어인 umount는 운영 체제에게 파일 시스템을 마운트 지점으로부터 연결을 해제할 것을 지시하며 컴퓨터로부터 분리되어 더 이상 접근을 하지 못하게 한다.

윈도우즈는 자동으로 마운트 해주지만 macOS 는 자동으로 안해주니 mount 명령어를 통해 수동으로 해줘야 한다.

root 디렉토리에서 다음과 같은 mount 작업을 하려니 read-only 라는 에러가 뜬다.

sudo mount -t cvmfs cms.cern.ch /cvmfs/cms.cern.ch

이하는 해결법.

  1. 맥 설정에 가서 File Vault 를 끈다.
  2. macOS 리커버리모드로 진입(컴퓨터 종료후 전원키를 계속 꾹 누르고 있으면 리커버리 모드로 진입한다)
  3. 리커버리모드에서 터미널을 열고
    csrutil disable
    csrtuil authenticated-root disable
  4. 컴퓨터 재부팅.
  5. 재부팅 후 터미널에서 mount 입력. 이중 read-only 로 되어있는 디스크 명을 찾는다. /dev/disk1s2s3 이렇게 적혀있다면, /dev/disk1s2 를 기억해 둘것.
  6. 다음 명령어를 입력한다.
    mkdir -p -m777 ~/mount
    sudo mount -o nobrowse -t apfs /dev/disk1s2 ~/mount
  7. 이제 macFuse와 cvmfs 를 새로 설치하고, root 디렉토리에서 sudo mount -t cvmfs cms.cern.ch /cvmfs/cms.cern.ch 명령어를 입력하면 아까와 같은 문제는 없어진다.

stackexchange 댓글로는 위와같은 해결법을 사용하면 File Vault 를 다시는 사용할 수 없다고 하는데, 각자 판단하시길.

+++ 추가

위와같이 mount 문제를 해결한다 해도, scram 이라는 빌드 프로그램이용시 amd64 x86 계열의 cpu 컴파일러를 요구하기 때문에 apple m1 으로는 cms opendata 를 돌릴수 없다.

0개의 댓글