리눅스 시스템에서 다른 리눅스 버전 사용하기 (마이클라우드)

category 서버/리눅스 서버 2018.11.15 23:49

안녕하세요. 마이클라우드 데비안 올려서 사용하고 있으나, 패키지 버전이 너무 낮은.. 위지 버전입니다.


데비안 8 을 올려보고자.. 현재 시스템을 그대로 두고 chroot 를 통해서 작업해 보겠습니다.


그리고 rootfs 로 잡힌 하드디스크의 파티션이 2GB 라 컴파일을 하거나 하면, 용량이 부족할 수 있기 때문에 기본 서비스만 본래 운영체제에 올리시고 chroot 에 개발환경과 이것저것 테스트를 해보시면 됩니다.


root@MyCloud:/media/volume/debian# df -h

Filesystem      Size  Used Avail Use% Mounted on

rootfs          1.9G  1.4G  476M  74% /

/dev/root       1.9G  1.4G  476M  74% /

tmpfs            23M  708K   22M   4% /run

tmpfs           5.0M  8.0K  5.0M   1% /run/lock

tmpfs            10M  4.0K   10M   1% /dev

tmpfs           144M     0  144M   0% /run/shm

tmpfs            64M     0   64M   0% /tmp

/dev/sda4       1.9T   99G  1.8T   6% /media/volume

tmpfs            10M  4.0K   10M   1% /media/volume/debian/dev





1. 데비안 8 설치하기


mkdir /media/volume/debian

apt-get install debootstrap

debootstrap --arch=armhf jessie /media/volume/debian http://httpredir.debian.org/debian


상기 명령어로 하드디스크의 특정 폴더에 데비안 ROOTFS 를 만드시면 됩니다.


시간이 조금 걸립니다.


(이 방식으로 U5PVR 도 리눅스가 구동되고 있습니다.)


현재, debootstrap 버전이 낮아서 jessie 까지 설치가 되는것 같습니다. 높은 버전을 설치하고 싶으시면 debootstrap 패키지를 수동으로 설치하시면 되겠습니다.


설치가 완료되면 아래와 같이 폴더 구성이 됩니다.


root@MyCloud:/media/volume/debian# ls

bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var


다음으로 이 /media/volume/debian 에 구축한 debian8 rootfs 쉘로 접근해 보겠습니다.


root@MyCloud:/media/volume/debian# cd ..  

root@MyCloud:/media/volume# chroot debian/ /bin/bash

root@MyCloud:/#


무언가 변함이 없는것 같습니다? 만.. 


버전을 확인해 보면 8로 구성되어 있습니다. 8에서 사용하는 패키지도 사용 가능합니다.


root@MyCloud:/# cat /etc/issue

Debian GNU/Linux 8 \n \l


root@MyCloud:/#


여기서 exit 을 누르시면 본래 데비안7로 돌아옵니다.


root@MyCloud:/# exit

exit

root@MyCloud:/media/volume# 





2. 하드웨어를 사용할 수 있도록 마운트 작업


proc 과 sysfs 를 마운트 그리고 /dev 는 바인딩을 하시길 바랍니다. (아래의 쉘은 본래 쉘입니다. 데비안 8 쉘이 아닙니다.)


root@MyCloud:/media/volume/debian# mount -t proc proc proc/

root@MyCloud:/media/volume/debian# mount -t sysfs sysfs sys/

root@MyCloud:/media/volume# mount -o bind /dev dev/





3. 데비안 8 백포트에서 설치가능한 shairport-sync 설치


그리고 shairport-sync 를 설치해 봅니다... ㅠㅠ 이 패키지를 컴파일 하기 싫다보니 이렇게 가게 되네요. ㅎㅎ


sid 저장소나 jessie 저장소를 데비안7에서 억지로 추가해서 사용할 수 있겠지만, 그렇게 하게 되면 운영체제가 꼬일 수 있기 때문에 이렇게 사용하게 되네요.


root@MyCloud:/# apt-get install -t jessie-backports shairport-sync

Reading package lists... Done

Building dependency tree... Done

The following extra packages will be installed:

  avahi-daemon bind9-host dbus geoip-database krb5-locales libalgorithm-c3-perl

  libarchive-extract-perl libasound2 libasound2-data libasyncns0 libavahi-client3

  libavahi-common-data libavahi-common3 libavahi-core7 libbind9-90 libcap-ng0 libcgi-fast-perl

  libcgi-pm-perl libclass-c3-perl libclass-c3-xs-perl libconfig9 libcpan-meta-perl libdaemon0

  libdata-optlist-perl libdata-section-perl libdbus-1-3 libdns100 libexpat1 libfcgi-perl

  libflac8 libgeoip1 libgomp1 libgssapi-krb5-2 libice6 libisc95 libisccc90 libisccfg90

  libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblog-message-perl

  liblog-message-simple-perl liblwres90 libmodule-build-perl libmodule-pluggable-perl

  libmodule-signature-perl libmro-compat-perl libnss-mdns libogg0 libpackage-constants-perl

  libparams-util-perl libpod-latex-perl libpod-readme-perl libpulse0 libregexp-common-perl

  libsm6 libsndfile1 libsoftware-license-perl libsoxr0 libsub-exporter-perl libsub-install-perl

  libterm-ui-perl libtext-soundex-perl libtext-template-perl libvorbis0a libvorbisenc2 libwrap0

  libx11-6 libx11-data libx11-xcb1 libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxml2 libxtst6

  perl perl-modules rename sgml-base tcpd x11-common xml-core

Suggested packages:

  avahi-autoipd dbus-x11 libasound2-plugins alsa-utils geoip-bin krb5-doc krb5-user pulseaudio

  perl-doc libterm-readline-gnu-perl libterm-readline-perl-perl make libb-lint-perl

  libcpanplus-dist-build-perl libcpanplus-perl libfile-checktree-perl libobject-accessor-perl

  sgml-base-doc debhelper

Recommended packages:

  libarchive-tar-perl

The following NEW packages will be installed:

  avahi-daemon bind9-host dbus geoip-database krb5-locales libalgorithm-c3-perl

  libarchive-extract-perl libasound2 libasound2-data libasyncns0 libavahi-client3

  libavahi-common-data libavahi-common3 libavahi-core7 libbind9-90 libcap-ng0 libcgi-fast-perl

  libcgi-pm-perl libclass-c3-perl libclass-c3-xs-perl libconfig9 libcpan-meta-perl libdaemon0

  libdata-optlist-perl libdata-section-perl libdbus-1-3 libdns100 libexpat1 libfcgi-perl

  libflac8 libgeoip1 libgomp1 libgssapi-krb5-2 libice6 libisc95 libisccc90 libisccfg90

  libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblog-message-perl

  liblog-message-simple-perl liblwres90 libmodule-build-perl libmodule-pluggable-perl

  libmodule-signature-perl libmro-compat-perl libnss-mdns libogg0 libpackage-constants-perl

  libparams-util-perl libpod-latex-perl libpod-readme-perl libpulse0 libregexp-common-perl

  libsm6 libsndfile1 libsoftware-license-perl libsoxr0 libsub-exporter-perl libsub-install-perl

  libterm-ui-perl libtext-soundex-perl libtext-template-perl libvorbis0a libvorbisenc2 libwrap0

  libx11-6 libx11-data libx11-xcb1 libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxml2 libxtst6

  perl perl-modules rename sgml-base shairport-sync tcpd x11-common xml-core

0 upgraded, 86 newly installed, 0 to remove and 17 not upgraded.

Need to get 17.1 MB of archives.

After this operation, 55.9 MB of additional disk space will be used.

Do you want to continue? [Y/n]


개꿀입니다. ㅎㅎ



shairport-sync 설정을 살짝 수정합니다.





4. 재시작 후 특정 서비스 실행


#!/bin/bash

mount -o bind /dev /media/volume/debian/dev

mount -t sysfs sysfs /media/volume/debian/sys

mount -t proc proc /media/volume/debian/sys

chroot /media/volume/debian/ /etc/init.d/shairport-sync start


이런식으로 진행됩니다.


급해서 간단하게 작성하고 마치겠습니다.


감사합니다.













댓글을 달아 주세요