Docker로 한글2008 구동 시스템을 만들어 구동하기 (한글2008 배포판 가리지 않기!)
http://moordev.tistory.com/180 [MoorDev의 우분투사용 분투기]
위 글을 참고하여 현재 사용 중인 리눅스 환경에서 한글 2008 리눅스 체험판을 설치해보았습니다.
저는 64비트와 32비트 환경을 모두 사용하기 때문에, 두 환경에서 모두 진행했습니다.
먼저 64비트 환경에서는 Docker Community Edition을 설치하였습니다.
1번 OS : 리눅스민트 18.2 64비트 (우분투 16.04 기반)
2번 OS : 리눅스민트 18.2 32비트 (우분투 16.04 기반)
sudo apt remove --purge docker docker-engine docker.io -y && \
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" && \
sudo apt update && \
sudo apt install docker-ce -y
우분투 16.04 환경이기 때문에, xenial 을 넣었습니다. 사용하는 우분투 버전이 다르면 다른 문자가 필요하죠^^
&& \ 을 이용하여 한 번에 복사하여 터미널에 집어 넣었습니다. 편해서 자주 애용하는 명령어(?)입니다. ㅎㅎ
Docker 설치 후에, 사용 중인 커널이 4.10이라서 혹시 몰라 daemon.json 도 만들었습니다.
sudo nano /etc/docker/daemon.json
{
"storage-driver": "overlay2"
}
이제 MoorDev 님이 만드신 HWP-Docker.tar.gz 을 다운로드하여 다음과 같이 압축을 풀고 작업을 시작합니다.
저는 다운로드한 압축파일을 홈 폴더에 넣어서 작업했습니다.
tar -xvzf HWP-Docker.tar.gz && \
cd HWP-Docker && \
sudo docker build ./ -t hwp7
64비트 환경에서는 정상적으로 실행이 됩니다!
오예~
문제는 32비트 환경인데요...
32비트용 Community Edition을 제공해주지 않습니다 ㅠㅠ
그래서 우분투에서 Universe 저장소를 통해 제공하는, 조금 오래된 버전인 것으로 추정하는 Docker를 사용합니다.
amd64, arm64, armhf, s390x 네 종류만 제공하더라구요. 여기서 amd64가 흔히 말하는 64비트입니다.
그리고 arm64는 내용상 존재는 하는데 실제로는 파일이 없는 것으로 보입니다;;;
sudo apt-get install docker.io -y && \
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
daemon.json 도 만들었습니다.
그런데...
위와 같이 빨간색의 오류 메시지가 나오면서 중단됩니다 ㅠㅠ
상세한 내용은 다음과 같습니다.
Sending build context to Docker daemon 172.6 MB
Step 1 : FROM ubuntu:10.04
---> e21dbcc7c9de
Step 2 : RUN cd /etc/apt && sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
---> Running in c34a303c3325
panic: standard_init_linux.go:178: exec user process caused "exec format error" [recovered]
panic: standard_init_linux.go:178: exec user process caused "exec format error"
goroutine 1 [running, locked to thread]:
panic(0x835c0c0, 0x975ee800)
/usr/lib/go-1.6/src/runtime/panic.go:481 +0x326
github.com/opencontainers/runc/vendor/github.com/urfave/cli.HandleAction.func1(0x975e7968)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/vendor/github.com/urfave/cli/app.go:478 +0x2c1
panic(0x835c0c0, 0x975ee800)
/usr/lib/go-1.6/src/runtime/panic.go:443 +0x3fd
github.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization.func1(0x975e75f0, 0x9754e8f8, 0x975e7678)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/libcontainer/factory_linux.go:259 +0xfd
github.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization(0x97574f60, 0x86bb8d70, 0x975ee800)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/libcontainer/factory_linux.go:277 +0x474
main.glob.func8(0x9758e460, 0x0, 0x0)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/main_unix.go:26 +0x57
reflect.Value.call(0x8302400, 0x842f600, 0x13, 0x838d5b8, 0x4, 0x975e7928, 0x1, 0x1, 0x0, 0x0, ...)
/usr/lib/go-1.6/src/reflect/value.go:435 +0xeeb
reflect.Value.Call(0x8302400, 0x842f600, 0x13, 0x975e7928, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/lib/go-1.6/src/reflect/value.go:303 +0x8c
github.com/opencontainers/runc/vendor/github.com/urfave/cli.HandleAction(0x8302400, 0x842f600, 0x9758e460, 0x0, 0x0)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/vendor/github.com/urfave/cli/app.go:487 +0x25f
github.com/opencontainers/runc/vendor/github.com/urfave/cli.Command.Run(0x838fac8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x840dfa0, 0x51, 0x0, ...)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/vendor/github.com/urfave/cli/command.go:191 +0xda7
github.com/opencontainers/runc/vendor/github.com/urfave/cli.(*App).Run(0x9759c240, 0x97540070, 0x2, 0x2, 0x0, 0x0)
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/vendor/github.com/urfave/cli/app.go:240 +0x92b
main.main()
/build/runc-jpw_eJ/runc-1.0.0~rc2+docker1.12.6/_build/src/github.com/opencontainers/runc/main.go:137 +0xaf3
The command '/bin/sh -c cd /etc/apt && sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list' returned a non-zero code: 2
뭐가 문제인지 막막하군요 ㅠㅠ
시간을 두고 천천히 연구해봐야 할 듯합니다.
'IT & Security > 리눅스 :: 정보' 카테고리의 다른 글
리눅스 커널 4.13 출시, 어떤 새로운 것들이? (0) | 2017.09.09 |
---|---|
우분투에서 리브레오피스 5.4를 설치/업그레이드하는 방법 (0) | 2017.09.07 |
우분투(리눅스) 크로미움(Chromium) 60.0.3112.78 발표 (0) | 2017.08.10 |
우분투 18.04 LTS의 기본 앱에 대한 설문조사 진행 중! (2) | 2017.07.24 |
우분투 (리눅스) 16.10 지원종료 - 2017년 7월 20일 (0) | 2017.07.20 |