미니 임베디드 SOC용 리눅스만 파편화를 논하기에는...
- ARMCC
- 조회 수 385
- 2020.11.18. 02:41
x86 리눅스도 파편화에 있어서는 그닥 좋은 소리 듣기 힘듭니다...
대표적으로 배포판별로 일단 데비안 계열과 레드햇 계열로 줄기가 크게 나눠지고.... 거기에서 군소 리눅스 배포판들이 또 있습니다..
데비안 계열에서도 또 이런저런 계열로 나눠집니다. 대표적인게 우분투랑 민트가 있죠...
우분투 내에서도 또(!) 나눠집니다... 우분투 원류인 유니티 UI계열이 있고 마테 같은 게 있죠...
그리고 우분투의 같은 계열에서도 2년 장기지원 버전별로 또 달라집니다. 이게 어느정도로 달라지냐 하면요....
예를 들어 안드로이드 AOSP 소스 빌드 가이드는 아예 우분투 버전별로 일일하 패키지 설치 리스트가 갈립니다.
소스 다운로드에 필수 유틸인 repo 조차도 파이썬 버전별로 두 가지를 제공하고 여기에 apt를 통한 우분투 기본 다운로드 리포지터리 버전이 있고 또다른 설치레포지터리인 snap버전이 또 따로 있습니다.
더욱 고약한 부분은.... 저런 개판같은 파편화가 그나마 지난 10년간 굉장히 나아진 결과라는 거고요.
SOC쪽 리눅스 뿐만 아니라 리눅스 전반의 상황이 30년동안 그따위였습니다.
오죽했으면 버추얼박스나 도커 같은 가상OS 내지는 가상화 컨테이너등을 써서 아예 실행환경을 격리시키는 솔루션까지 등장할 지경입니다. (도커를 찬양하십시오)
괜히 안드로이드가 리눅스쪽에서 어플개발환경으로 원탑 먹는 게 아니에요. 이쪽은 거의 안드로이드 정책 위주로 신경쓰면 끝이거든요.
아니면 아예 웹UI로 가든지요. 요즈음은 웹브라우저가 사실상 OS화 되었답니다. 브라우저만 어떻게든 띄우면 웹앱 구동이 되죠.
리눅스에서는 x86안에서도 서로 안되는 건 많고 많아요... 사실 그렇기 때문에 그거 끼워맞추는 걸로 먹고 살 수 있는 것이기도 하고요...
저장소의 레포지터리를 말하는 게 아니라 git-repo 유틸을 이야기하는 겁니다.
많이 쓰이는 것들은 거의 다 apt 레포에 있다는 건 저도 잘 알고 아주 편하게 숨쉬듯이 써먹고 있는데 이번에 20.04 오면서 apt 레포에서 git-repo가 삭제되고 snap에만 남았습니다. 그래서 apt가 OS버전에 따른 종속성이 발생한 상황이에요.
OS버전에 따른 대응을 일일히 일선에서 따로 대응해서 가야 하는 상황이 바로 파편화 그 자체고요.
그리고 패키지매니저가 다르다고 다른 OS로 취급할 수도 없고요. 윈도우 앱스토어만 돌아가는 윈도버전과 앱스토어 자체가 없던 구 윈도우7이 다른 IS는 아니죠
그냥 레포라고만 하고 거기에 스냅까지 말하면 당연히 Repository라고 생각하죠...
세상에 한 번 만들기만하면 영구적으로 돌아가는 그런 운영체제가 있다면 그건 그냥 deprecated된거 혹은 모던 운영체제가 아닐뿐입니다. 별거 아니어보이는 연 업데이트에 변경점이 엄청납니다. 특히 리눅스 특성상 어떤 레거시를 유지하느냐 제거하느냐도 항상 핫한 이슈고요. 파편화 적은 OS로 항상 꼽히는 iOS도 업데이트마다 계속 수정해줘야 돌아갑니다.
비스타부터 NT커널 쓴다고 윈도 비스타부터 윈도 10까지 같은 OS라고 부르나요? 애초에 리눅스는 커널 개념이지 OS개념이 아닙니다.
전 수서로 밥 벌어먹고 살고 있습니다.
차이는 그래도 하드웨어 제조사의 협조가 없더라도 어떻게든 쓸 수 있느냐 아니면 그 가능성 자체가 원천봉쇄되어있느냐죠. 그 부분에서 ARM SoC 제조사들은...