2024년 11월 23일 토요일

스타트업이면 긴 계획보다는 빠른 실행, 그렇다면 그에 걸맞는 개발 문화는 무엇인가?

https://www.youtube.com/watch?v=aWP2MRQ2B1g

마냥 무계획으로 실행부터 할 수는 없지만 큰 상위계획이 잡히면 일단 착수해서 맞춰나가는 게 스타트업에는 여러모로, 특히 투자면에서도 유리하다는 얘기. 물론 적극 동감한다.

 

하지만 그동안 내가 해온 주된 역할에 맞춰 생각해보면 '설사 한두 가지 놓치더라도 빠르게 가시적인 결과물을 뽑아내는' 개발조직을 꾸리고 그 개발조직의 일부가 되어야 하는데 어떻게 그걸 가능하게 할지 선뜻 답이 나오지 않는다.


머릿속에 PoC, MVP, PMF 같은 약어들이 등장하고 애자일, 린 같은 용어도 떠오르지만 이 단계도 실무 상황이 되면 휘발되는 경우가 많아 오히려 만트라에 가까운 느낌이었다.

오히려 팀원들에게 제공되어야 하는 건 자리에 앉아서 일간, 주간, 월간의 일정을 소화하다 보면 자연히 효과가 나올 수 밖에 없는 개발도구, 개발문화, 배포도구, 추적도구 쪽의 층위에 더 가깝지 않을까?

2024년 11월 7일 목요일

ZFS로 부팅하면서 Grub을 쓰는 모험

결론부터 말하자면, 일단은 실패다. 가볍게 시작한 거였기 때문에 깊게 파고들지도 않았다.

 

발단은 여차저차한 이유로 NVMe가 놀고 있던 본체에 우분투를 깔면서였다. 24.10이 정식 배포된 시점이니 당연히 최신 iso를 받아서 USB로 부팅했고, 해본 적 없던 ZFS 설치를 선택했다.

 

설치한 직후에는 원래 하려던 세팅을 마쳤는데, 생각해보니 이 새 우분투는 ZFS면서 Grub이 설정되어 있는 거였다. 뭐 대단한 게 있을까 싶어서 dpkg -l 명령으로 zfs니 grub이니 걸러보고, /boot 영역 아래에 특별히 더 모셔진 게 있을까도 봤지만 그렇지 않았다.


https://gist.github.com/bcfurtado/6e4d1d4953cfbc28f4a1d482392db348 도 보고,

https://liatas.com/posts/root-zfs/ 도 봤는데, 내용 중에서 

$ grub-install --target=x86_64-efi --efi-directory=/boot/efi \
      --bootloader-id=ubuntu --recheck --no-floppy

이 대목이 눈에 띄어서, 아 이대로 target 같은 것만 잘 구분해주면 그냥도 되는 걸까? 하는 마음에 따라해보았다.

그 와중에 hostdisk not found 어쩌구 하는 에러를 만나기도 했는데 그건 grub-install 시도에 sudo를 붙이지 않아서 그런 거고 에러가 오해를 일으키게 나온다는 https://superuser.com/a/1195919 글을 보고 sudo를 붙여서 hostdisk 에러 자체는 지나갔다.

하지만 grub-install: error: unknown filesystem. 에러가 나왔고, https://askubuntu.com/a/1131970 여기서 안내하는 grub-probe로 fat라고 잘 나오는 걸 봐서 뭐가 문제라는 건지 이해를 못한 상태로 멈췄다.


이 과정에서 MBR이던 USB를 GPT로 바꿨다가 뭔가 부팅이 안 되어서 https://docs.zfsbootmenu.org/en/latest/general/portable.html 설명대로 EFI/BOOT/BOOTX64.EFI 기본 경로에 파일을 넣고서야 부팅이 되었다. 아마 앞서 설정했던 EFI/ZBM/... 경로는 GPT로 넘어가는 과정에서 USB 쪽에서 정보가 없어졌거나 UEFI 시스템 쪽에서 인식 못하는 방식으로 USB가 바뀌거나 했을 것 같은데 더 자세히 파고 들고 싶지는 않았다.

 

UEFI 환경에서의 부팅은 바이오스 단계에서 인식되는 최소한의 디스크만 있으면 되고 USB 정도면 충분하고, grub-install 같은 건 대충 레거시 시스템을 위한 거라는 정도로 이해했다. 지금 시스템도 ZFS 쪽에는 zfsbootmenu 정보만 적어줬을 뿐 실질적으로 뭘 바꾼 건 없으니까 아주 틀린 이해는 아닐 거라고 생각한다.


다음에 또 땡기면 다시.