간혹 라즈베리파이를 사용하다가 무선랜을 잡아야 할 경우가 있다.

물론 startx를 이용하여 GUI모드로 잡는 방법이 편하지만

이번 포스팅에서는 텍스트모드에서 설정을 하고자 한다.


$lsusb        //USB 장치 목록 확인 

  //무선랜 드라이브가 보이면 연결은 된 상태


$iwlist wlan0 scan    //적용할 SSID  이름을 확인하여야 된다.

$su                 //root권한 획득 필요 (raspberry에서는 그냥 sudo su만 해줘도 super모드로 바뀜)

#wpa_passphrase "SSID_NAME" SSID_PASSWORD >> /etc/wpa_supplicant/wpa_supplicant.conf


#vi /etc/network/interfaces    //네트워크 설정


auto lo


iface lo inet loopback

iface eth0 inet dhcp


allow-hotplug wlan0

auto wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp


#/etc/init.d/networking restart


위에서 했는데 적용이 안된다면


#vi /etc/wpa_supplicant/wpa_supplicant.conf


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev //이부분 추가

update_config=1 //이부분 추가


network={

        ssid="AndroidHotspotxxxx"

        #psk="123456789"

        psk=14775ae036b8204a42cb0e9d6fb7d88f29ff7f4a078c8e29f53e29d5243ce4b9

}


위의 내용은 사용자의 SSID와 Password에 따라 달라진다.


위 내용 적용 후 reboot 하거나 네트워크 재시작하면 된다.

반응형

프로젝트를 하다 라즈베리파이 wheezy version중에 3.18.11을 써야 될 일이 생겼다.


github.com/raspberrypi - linux에 들어가본 결과 3.18.11은 없었다. 

홈페이지를 방문하면 최신 커널소스와 3.18의 경우에는 

1.rpi-3.18.y-rebase

2.rpi-3.18.y 

두 개를 받을 수 있는데 rebase의 경우 3.18.9, rpi-3.18.y의 경우에는 3.18.16이다.

실제로 raspbian wheezy이미지를 받으면 3.18.11이지만 해당 커널 소스를 받을 수가 없었다.


그래서 찾아본 결과 branch를 이용한 방법을 알게되었다.


1. branch  받기

$git clone --depth 500 -b rpi-3.18.y https://github.com/raspberrypi/linux linux-3.18

-> 위의 500의 경우 숫자가 크면 클수록 깊어지지만 시간이 오래걸릴 것임

   뒤의 linux-3.18은 생성되는 폴더명이기 때문에 바꿔도 무관



2. commit id 얻기

라즈베리파이의 sd카드를 리눅스 hostpc에 연결한 후 하는 것이 가장 좋다.

$sudo mount /dev/sdb1 mnt/fat32

$sudo mount /dev/sdb2 mnt/ext4

(위의 명령어를 왜 입력하는지 모르는 분들은 http://kkn1220.tistory.com/14 를 보고 오시는 걸 추천드립니다.)


$FIRMWARE_HASH=$(zgrep "* firmware as of" mnt/ext4/usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz | head -1 | awk '{ print $5 }')

  

# get git hash for this kernel

    $KERNEL_HASH=$(wget https://raw.github.com/raspberrypi/firmware/$FIRMWARE_HASH/extra/git_hash -O -)

 

3. checkout

$git checkout $KERNEL_HASH

-> hash값 뜨면서 -b 새로운 브런치 어쩌구 나온다.

$git checkout -b $KERNEL_HASH

-> hash값으로 checkout되었다고 메시지 뜸


4. 소스빌드

$make ARCH=arm CROSS_COMPILE=<tools path>/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- bcm2709_defconfig


$make ARCH=arm CROSS_COMPILE=<tools path>/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- zImage modules dtbs


(tools path의 경우 크로스컴파일용 툴체인으로 역시 http://kkn1220.tistory.com/14 참고)


5. 모듈 설치

$sudo make ARCH=arm CROSS_COMPILE=<tools path>/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install


6. 커널이미지 생성

최신 git clone으로 github linux를 받으면 mkknlimg가 있으나 해당 버전에서는 존재하지가 않는다.

https://github.com/raspberrypi/linux/blob/rpi-3.18.y/scripts/mkknlimg에 들어가서 코드를 복사한다.

혹은 밑의 더보기를 눌러 해당 내용을 복사한다.

해당 스크립트를 linux-3.18/scripts 내에 생성한다.

예)vi linux-3.18/scripts/mkknlimg 에서 해당 스크립트 복사

주의* sudo chmod로 실행권한 줘야됨

예)$sudo chmod 755 linux-3.18/scripts/mkknlimg



$sudo scripts/mkknlimg arch/arm/boot/zImage mnt/fat32/kernel7.img 


7. umount

$sudo umount mnt/fat32

$sudo umount mnt/ext4


8. 확인


기존의 4.0.8-v7에서



3.18.11-v7로 바뀐 것을 확인할 수가 있다.




반응형

참고: http://www.noobslab.com/2015/10/how-to-mirror-your-android-device-in.html


기존에는 윈도우 환경에서 Mobizen을 사용하였지만 우분투환경에서는 exe 실행파일을 사용할 수 없다.

그래서 Wine을 이용하여 실행하려 하였지만 실행이 되지 않았다.

그래서 찾아본결과 adb를 이용한 seven-square를 통해 미러링을 할 수 있는 것을 확인하였다.


테스트환경

1. vmware workstation 11

2. ubuntu 14.04

(Available for Ubuntu 15.04 Vivid/15.10 Wily/14.04 Trusty/12.04 Precise/Linux Mint 17.x/13/other related Ubuntu derivatives)


설치

1. 관련 패키지 설치

sudo apt-get install android-tools-adb qt4-qmake libqt4-dev libqtcore4 libqtgui4


2. 설치파일 다운로드

wget https://github.com/yangh/sevensquare/archive/master.zip


3. 설치파일 압축해제

unzip master.zip


4. 컴파일

$ cd sevensquare-master

$ make

$ sudo make install


5. 실행

$ seven-square & (&는 background 실행, foreground실행은 &안붙이면된다)


단말이 붙지 않았기 때문에 usb로 단말을 연결시킨다.

$adb shell 로 단말 연결되는지 확인


단말을 찾을 수 없다고 에러메시지가 나올경우에는

1. 개발자 옵션이 활성화 되어있는지

2. 장치드라이버가 올바로 설치되어 있는지

3. 위에 두 개가 되었을지라도 지문 등록이 되어야 하기 때문에 단말 홈상태에서 usb 연결 시 이 컴퓨터에는 항상 이용하시겠습니까? 를 체크하였는지 확인해야함



최종적으로 단말이 붙는 것을 확인할 수 있다.



미러링은 되는데 성능은 그닥 좋지는 않은 것 같다..



반응형

리눅스마스터 시험이 끝났다.

15년 2회차 1급 시험을 봤다.

후기를 찾아보던 중 내용이 너무 없어 포스팅 하기로 하였다.

------------------------------------------------------------------------------------------------

필기- 

시험장소: 용산공업고등학교

시험공부기간: 약 1개월

리눅스에 대한 기초는 거의 없었으며 몇가지 명령어밖에 몰랐음

공부방법: 회사 끝나고 집에서 조금씩 했으며 주말은 열공

 리눅스 공인 교재 위주로 빠르게 한번 훑고 12년도 기출을 풀었음

 기출을 풀면서 자주 나오는 문제 유형을 개인이 직접 파악하는 것이 중요하다고 사료됨

 기출을 두 개 정도 풀고 해당 부분을 교재에서 자세하게 한번 정독하고 

 시험 일주일 전에는 13년도, 14년도 기출문제를 풀고 오답을 정리하는 방식으로 공부함

시험결과: 합격(만점을 목표로 하지 않았기에 70점대로 합격하였음)

12년도 1차시험: 48점, 2차 52점. 문제 유형 파악 후 13년도 14년도는 70~80점대 유지




실기-

시험장소: 경기여자공업고등학교(서울역에서 가기 힘듦. 오르막길도 많고 주택 단지에 위치하여 사전에 위치 파악 필요)

시험공부기간: 약 1주일(프로젝트 마감일이 얼마남지않아 공부를 거의못함...)

시험방법: 지각자들 많았음(20분 넘고 들어온사람도 있었음), 도착하면 부팅 USB를 줌. 본체에 USB를 꼽고 부팅 시 F2키를 누르면 아시아눅스4로 부팅가능함. su비밀번호는 따고 없고 퍼미션 권한 파일을 읽을 때에는 sudo vi ** 형식으로 하면 됨. 부팅 USB를 주는 학교도 있고 어느학교는 vmware로 돌리는 곳도 있다고 하는데 경기여자공고는 부팅 USB를 줌

처음에 뭣모르고 startx로 x윈도우 형식으로 시험을 보던 중(터미널을 여러개 띄우기위해) 감독자가 커널로 해야한다고 해서 텍스트모드로 도중에 교체함(사실 규정상 x윈도우를 쓰지말라고 한적도 없고 애초에 안된다면 막아야 되지 않을까..?). 인터넷은 되는데 굳이 다운받을 패키지가 없었음. httpd나 이런것들은 /etc/httpd/conf/httpd.conf에 있고 man 도 되고 하기 때문에(하지만 exports나 zone파일에 들어가는 것들은 외워야 됨). 뭐 bind를 설치하여 document까지 같이 다운로드 되면 그걸 보고 풀 수 있겠지만 이번 시험에서는 나오지 않은 관계로 설치할 필요가 없었음. 시험실 가서 ifconfig치면 eth0 잡힘..^^


공부방법:

책 기준(1장 리눅스 개요, 2장 리눅스 시스템 이해, 3장 네트워크 설정, 4장 일반운영관리, 5장 장치관리, 6장 시스템 보안 및 관리, 7장 네트워크 서비스, 8장 네트워크 보안)으로 보았을 때 시간이 부족하여 4장과 7장을 빼고 나머지는 skip함 

책을 읽기 전 12년도 1회차 기출 문제 풀어봄(물론 망했음)

실기는 나오는 유형이 비슷함.

우선 단답형은 4장에서 거의 나온다고 보면됨

1. usermod, useradd, groupadd 관련하여 세부 옵션

- 이는 man과 --help로 풀 수 있음(교재 4장 1절 사용자 관리편 보면됨)

2. 파일시스템 관리(교재 4장 2절)

- 순서 fdisk->mkfs->fsck->mount 형식으로 각각에 해당하는 옵션들이나 방법등에 대해서는 공부 필요

- man과 --help로 옵션은 풀 수 있으나 명령어를 모르면 풀 수 없기 때문에 알아두어야됨

- 가령 ext2에서 ext3으로 바꾸는 명령어 중 tune2fs 같은 것은 모르면 틀리기 때문에 알아둘 필요가 있음

3. 프로세스 관리(교재 4장 3절)

- ps나 top과 같은 명령어 나올 수 있음

4. S/W설치 및 관리(교재 4장 4절)

- rpm은 단골 문제임. 이번 1502에도 나왔으며 rpm --rebuilddb 같은 문제가 나올 수 있음

-q옵션 중 c, f 세부 옵션같은것은 미리 알아두면 많이 도움이 될 것임


5. 장치관리(교재 5장)

- 컴파일 과정 알아둘 필요있음(make mrproper, make clean, make bzImage, make modules, make modules_install)과 같은 것들이 무슨 역할을 하며 순서를 알아둘 필요가 있음

- 커널 모듈 관련하여 insmod, rmmod, modprobe, depmod, modinfo 도 알아두어야됨

실제로 1502에 나왔으며 modprobe가 자동 부팅 시 로드되는 문제가 나왔는데 틀렸음......

6. 시스템 백업(교재6장)

- dd옵션 많이 나오며 백업관련하여 cpio, 뭐 이런것들 공부할 필요 있음

7. 네트워크 침해유형(교재8장)

- 트로이목마, 웜바이러스, DOS 과 같은 정의 적는 문제 나올 수 있음


작업식(교재7장 8장 참고)

1. httpd (거의 무조건 나온다고 보면됨)

- man문서와 httpd.conf 무조건 보고 가기

ServerName, Listen, Document(정확한 이름 기억 안남..) 등과 같이 해당 name이 무슨 역할을 하는지 무조건 알아가야됨.

2. samba(매우 중요)

- smb.conf 봐야됨

3. NFS(중요)

-exports 설정 내용 봐야됨

4. xinetd(매우 중요)

5. DNS(중요)

6. NIS

7. DHCP

8. iptables(매우 중요)


작업식은 그냥 7장과 8장에서 거의 다 나오며 설정파일은 꼭 한번씩 집에서 실습해보고 가야됨. 

아시아눅스 기본설치기 때문에 설정파일에는 안나오는 경우가 많을 수 있음.

방화벽에서 iptables는 16번 문제 단골문제임(이번역시 나왔는데 이전 시험들과 조금 달라 당황함..)


뭐 팁이라고 하기에는 너무 당연한 것을 적어놓은 것 같아 민망하지만 시험 정보가 너무 없어서 당황했던 저같은 사람이 없었으면 좋겠다는 생각에 글을 남겨보았습니다.


결론

필기: 책 한번 빠르게 훑기 -> 기출문제 2개 정도 풀고 유형 파악하기 -> 책 한번 정독 -> 기출 나머지 풀기 -> 오답 정리

(개인차에 따라 다르겠지만 아무것도 모르는 사람 대상으로 회사일 병행하며 1달이면 충분 할 것으로 판단됩니다.)


실기: 책을 한번 더 보면 좋겠지만 시간 상 2주 정도면 될 것으로 판단됩니다. 

1주: 책 빠르게 훑기. 2주: 기출문제 풀고 오답정리(4장, 7장 중심으로)

vmware로 꼭 직접 실습해보기(아시아눅스 또는 레드햇 계열이면 뭐 무난하다고 판단됩니다)


(아직 결과는 나오지 않았지만 늦어지면 까먹을 것 같아서...)

오늘 아침 답안 나온결과 80점 합격
화이팅!!!!

반응형

지난 시간 리눅스 환경에서 dkms mkdeb을 통한 리눅스 커널 파일을 deb파일로 생성해보았다.

(http://kkn1220.tistory.com/51 참고)

이번에는 라즈베리파이용으로 커널모듈을 deb패키지로 하고자 한다.

(라즈베리파이2 크로스컴파일에 대한 내용은 http://kkn1220.tistory.com/14 를 참고하면됩니다.)


실습환경: vmware11 ubuntu-mate 14.04

타겟단말: 라즈베리파이2

타겟단말 커널버전: 4.0.9-v7+


지난 시간 /usr/src/hello-0.1 에는 리눅스 버전으로 사용하였기 때문에

이번에는 /usr/src/hello-0.2 로 생성한다.


c소스


Makefile 소스 (아래의 내용이 이해가 안가시면 http://kkn1220.tistory.com/14를 참고하시면 됩니다.)


dkms.conf 소스



준비는 끝났다.


이전 강좌와 방식이 똑같다.


1. dkms add

$sudo dkms add -m hello -v 0.2



2. dkms build

$sudo dkms build -m hello -v 0.2



3. dkms install

$sudo dkms install -m hello -v 0.2

(이미 설치하여서 그런건데 할 때 이상없음)


modinfo를 통한 모듈 확인



4. dkms mkdeb

$sudo dkms mkdeb -m hello -v 0.2


deb파일 생성 확인


scp를 통한 타겟 단말에 deb파일 전달

$scp <deb 파일> pi@192.168.0.xx:<path>


raspberry2 단말에서 전송 확인


원래는 repository에 등록하여 apt-get update 및 install을 통해 확인하려고 했으나 

시간 제약 상 dpkg를 이용하여 설치


$sudo dpkg -i hello-dkms_0.2_all.deb


raspberrypi2 단말에서 lsmod를 통하여 모듈이 올라온것을 확인.

만약 안올라올 경우 init에서 모듈이 부팅될 때 자동으로 올라오도록 설정하면됨.



지난시간과 이번시간에는 dkms mkdeb를 통하여 모듈을 deb파일로 패키징하는 것을 해보았습니다.

리눅스 host에서와 타겟 단말의 크로스 컴파일까지 같이 해보았습니다.

다음 번에는 repository 구조에 대해 포스팅하고자 합니다.


반응형

프로젝트를 진행하다 리눅스 커널모듈을 deb파일로 만들 일이 생겼다.

한참을 찾아보다 dkms(dynamic kernel module support) makedeb기능을 알게되었다.


참고: https://wiki.kubuntu.org/Kernel/Dev/DKMSPackaging


1. dkms 설치

$sudo apt-get install dkms


2. Prepare source

커널 모듈 소스를 준비해야하는데 적어도 C file과 Makefile이 포함되어야 한다.


C소스


Makefile소스


위의 두 파일은 /usr/src/<module>-<module-version>에 넣자.

본 예제에서는 /usr/src/hello-0.1 로 생성하였다.


*주의: make: Nothing to be done for `all'. 일경우에는 vi Makefile에서 all: 밑에 명시된 부분을 tab으로 했는

지 띄어쓰기로 했는지 확인할것. tab으로 해야함(clean도 마찬가지)




3. dkms.conf 파일 생성

dkms.conf파일을 생성할 것인데 이 역시 동일 폴더 즉 /usr/src/hello-0.1폴더 내에 생성


패키지 이름과 패키지 버전은 정보를 필요로 하는데 폴더네임의 정보와 동일하게 한다.

폴더이름이 hello-0.1이기 때문에 패키지네임은 hello, 버전은 0.1이 된다.


- clean은 폴더를 clean up하는 명령어로 빌드 전 실행시킨다. make clean을 하면 쏵 지워짐

- make[0]은 커널 객체를 빌드하기 위한 첫번째 커맨드

- dest-module-location은 설치될 때 커널 object를 놓기 위한 장소를 설정

예를들어, /lib/modules/$kernelver/updates 일 때 /updates/dkms에 overrade됨

이것은 결국 /lib/modules/$kernelver/updates/dkms에 놓이는 것을 의미함

비록 이러한 정보들은 overrade될지라도 이것은 여전히 필요한 필드이다.

- autoinstall에서 yes는 부팅될 때 커널 object가 설치되고 빌드를 시도하는 것을 의미하고 이것은 만약 커널에 설치가 되어있을때 리빌트나 리인스톨을 하지 않는다


위의 내용까지 한 결과는 위의 화면과 같다.

dkms를 하기까지 준비과정은 끝났다.


4. dkms add

$sudo dkms add -m hello -v 0.1



dkms add를 하게 되면 /var/lib/dkms/hello/0.1의 폴더가 생성된다.



아직 빌드를 하지 않았기 때문에 build폴더에서 ls를 할 경우 출력되지 않는다.


5. dmks build

$sudo dkms build -m hello -v 0.1 



위의 명령어를 입력하면 위의 화면처럼 completed 된것을 확인할 수 있고 build 폴더에서 ls를 할 경우 파일들이 생성


또한 0.1하위로 uname-r 의 폴더가 생성되고 밑에는 hello.ko 커널 모듈이 생성되는 것을 확인할 수 있음




6. dkms install

$sudo dkms install -m hello -v 0.1


또한 모듈 트리를 확인할 수 있다.


모듈 확인!



모듈을 삭제하고 싶으면

$sudo dkms remove -m hello -v 0.1 --all


다른 버전의 커널을 하고 싶으면!?

$sudo dkms build -m hello -v 0.1 -k 2.6.31-14-generic




7. dkms mkdeb

뭐 위에껀 중요하지 않고 이제 mkdeb을 통해 deb패키지를 만들어보자

$sudo dkms mkdeb -m hello -v 0.1


오류가 발생하였다. 이는 debhelper를 설치하지 않았기 때문이다.

$sudo apt-get install debhelper


debhelper를 설치한 후 다시 

$sudo dkms mkdeb -m hello -v 0.1    를 입력해보자.


mkdeb completed 된 것을 확인할 수 있다.


이 deb파일은 /var/lib/dkms/hello/0.1/deb에 위치한다.


deb파일 상세 확인

$lesspipe hello-dkms_0.1_all.deb



다음번에는 같은 방식으로 raspberry파일로 크로스컴파일을 할 것이다.

반응형

실습환경: vmware 11 ubuntu-mate 14.04


우분투 repository에는 간혹 원하는 패키지들이 존재하지 않을 경우가 있다.

이를 위해 personal repository를 만들어보고자 한다.


참고: https://help.ubuntu.com/community/Repositories/Personal (뭐 사실 동일)

단계

1. Install dpkg-dev

2. Put the packages in a directory

3. Create a script that will scan the packages and create a file apt-get update can read

4. Add a line to your sources.list pointing at your repository


단계를 실시하기전에 apt-get 명령어 정리 참고


1. Install dpkg-dev

$sudo apt-get install dpkg-dev


2. The Directory

패키지를 유지하고 싶은 곳에 디렉토리를 생성. 본 예제에서는 /usr/local/mydebs 경로 사용

$sudo mkdir -p /usr/local/mydebs        //-p는 하위디렉토리까지 생성할 때 쓰인다.

아래의 사진은 /usr/local/mydebs 내에 샘플 deb패키지를 넣음

(http://kkn1220.tistory.com/51 위의 샘플 deb 만드는 방법(커널모듈을 deb파일로 생성함))


3. The script update-mydebs

update-mydebs 스크립트 만들기


위의 매뉴얼을 살펴보면 update-mydebs 스크립트 파일을 ~/bin에 저장하라고 권고

(만약 존재하지 않을 경우 만들라고 까지..... 근데 뭐 사실 그닥 중요하진 않은듯)

-매뉴얼-

Cut and paste the above into gedit, and save it as update-mydebs in ~/bin. 

(the tilde '~' means your home directory. If ~/bin does not exist, create it: Ubuntu will put that directory in your PATH. 

It's a good place to put personal scripts). 


굳이 ~/bin에 넣을 필요를 못느껴서 desktop에 스크립트 파일 생성


다음으로 스크립트를 실행하기 위해서는 권한을 줘야됨

$chmod u+x ~/bin/update-mydebs

(위의 명령은 change mode로 실행권한인 x를 주는 것을 뜻합니다. chmod 764와 같음)

위 명령을 실행하면 아래와 같이 user권한에 rwx로 바꾸는 것을 확인할 수 있다.



위의 스크립트 동작원리

-> dpkg-scanpackages는 생성폴더인 mydebs안에 모든 패키지들을 보고 apt-get update가 읽을 수 있도록 압축하고 쓰여진다.(Packages.gz 파일로)

$./update-mydebs        //스크립트 실행

위의 명령을 실행하면 아래의 사진과 같이 Packages.gz 생성 확인할 수 있다.



$gunzip Packages.gz

$vi Packages    //패키지 확인하기 위해서




이를 웹에 등록하여 apt-get install하는 것도 할 예정




반응형


환경: vmware 11 ubuntu-mate


원래는 테스트용으로 진행하려고 20GB밖에 공간을 할당하였는데 어쩌다보니 계속 진행하게 되어 150GB로 확장한 화면입니다.

노란색 부분을 더블클릭해줍니다.



노란색 Expand부분이 비활성 되어있는것을 확인할 수 있습니다. 이는 스냅샷이 저장되어 있을 경우에 공간늘리는 것이 안된다고 합니다.



스냅샷을 백업하실분들은 내문서에 virtual machine에서 백업을 하시고 스냅샷을 지워줍니다.


스냅샷을 지운결과 Expand가 활성화 되는것을 확인할 수 있습니다.


확장하고 싶은 공간을 입력하고 Expand버튼을 눌러줍니다. 저는 이미 20에서 150으로 늘렸기때문에 10만 더 확장하였습니다.


Expand버튼을 누르면 아래의 화면과 같이 성공적으로 확장됨을 확인할 수 있습니다.




이제 우분투를 실행합니다.

gparted를 설치하여 공간을 확장하고자 합니다.


$sudo apt-get install gparted        //gparted 설치

$sudo gparted                     //gparted 실행



gparted를 실행하면 아래와 같이 unallocated 부분을 확인할 수 있습니다. 저는 어제 혹시모를 것을 대비하여 전체 공간을 할당하지 않았기 때문에 조금 전 추가한 10GB와 나머지공간 18GB로 인해 28GB가 할당되지 않은 것을 확인할 수 있습니다.



여기에서 저는 /dev/sda3 ext4로 추가하는 것이 아닌 sda1의 공간을 늘리고자 합니다.

(개인적으로 여기저기 드라이브가 생기는것을 좋아하지 않아서...)


만약 sda3으로 확장하고 싶으신분들은 unallocated 우측마우스클릭해서 new누르시고


edit탭에서 apply all operations 누르시면 됩니다.



그러면 위의 화면처럼 sda3에 할당되고 재부팅하면 자동 마운트 될 수 있고 안되시는분들은 마운트 시켜주면 됩니다.


저는 sda1에 할당을 하고자 합니다. sda1에 할당을 하려면 


    우측마우스 클릭하여 resize를 누르면 되는데

아래의 화면과 같이 resize 버튼이 비활성화 되어있습니다.

이는 sda2와 sda5 등과 같이 sda1과 unallocated 사이에 파티션이 있어서 그렇습니다.

linux-swap partition을 swapoff 하고 파티션을 삭제해야합니다. 또한 해당 extended 파티션도 삭제해야하는데

데이터가 있을 시 backup 하기시 바랍니다.



위의 화면은 삭제 후의 모습입니다.


공간을 늘리고 싶은만큼 확장한 후 resize버튼을 눌러줍니다.


size가 바뀐것을 확인할 수 있습니다.



이제 아까 지웠던 swap파티션과 extended 파티션을 추가해야합니다.


unallocated 우측마우스 클릭 후 new를 하고 create as에 extended partition을 하고 add를 눌러줍니다.



마찬가지로 우측마우스 클릭 후 논리파티션, 파일시스템은 linux swap으로 맞춰주시고 add를 눌러줍니다.



생성된 모습입니다.


위에서 말씀드린 edit탭에 apply all operations 누르시면 됩니다.

아래는 성공한 후의 모습입니다. 



변경 전 용량


변경 후 용량


위의 두 화면에서 볼 수 있듯이 디스크가 확장된 것을 확인할 수 있습니다.


감사합니다.

반응형

웹 사이트를 복제할 일이 있어서 툴을 찾아보던 중 teleport pro를 알게되어 사용하게 되었다.


다운로드

http://www.tenmax.com/teleport/pro/home.htm

(무료 버전은 개수에 한정될 수 있음. 어둠의 경로를 통해 다운받는것 추천....key generation tool도 있어요~)


위의 링크로 들어가서 다운로드 하면 된다.

설치는 간단하다. 다운로드 받은 파일 설치만 하면 끝.


teleport pro를 실행하면 아래와 같은 화면이 출력된다.



위의 항목에 대해 설명하자면,

1) Create a browsable copy of a website on my hard drive

-> 가장 기초적인 복사 기능으로 단지 특정한 웹사이트를 일괄적으로 복사하여 오프라인에서 사용할 수 있는 장점이 있음

2) Duplicate a website, including directory structure

-> 일괄적 복사라는 데 있어 1)과 유시하지만 트리구조를 포함

3) Search a website for files of a certain type

-> 웹 페이지에 게시된 특정 형식 파일을 하드로 복사함(사운드, 문서, 이미지 등 범위 지정 가능)

4) Explore every site linked from a central site

-> 연결된 사이트에 게시된 파일들을 목록화

5) Retrieve one or more files at known addresses

-> 작성한 URL을 통해 파일들을 다운로드 

6) Search a website for keywords

-> 각 웹페이지에서 특정한 문자열을 통한 검색방법





위의 단계에서 원하는 항목을 선택하고 다음을 누르면 step2로 넘어간다.

이 단계에서는 address를 지정할 수 있다.

up to <black> links from this starting

위의 빈 칸의 숫자는 뎁스를 검색하느냐 설정하는 것인데 높은 값을 주게 될 경우 시간적 낭비와 하드디스크 용량 낭비가 될 수 있으므로 해당 사이트의 구조를 파악한 뒤 하는것이 좋겠다.



다음 단계는 타입을 설정하는 단계로 Add를 누르면 그래픽, 텍스트, 오디오 등 원하는 타입을 설정할 수 있다.

밑에 Account와 Password는 로그인이 필요할 경우에만 사용된다.



ㅊㅋㅊㅋ



마침버튼을 누르면 저장할 곳을 선택하게 된다.

원하는 폴더를 생성한 후 저장을 눌러주자.



스타트 버튼을 눌러주면 생성이 된다.


반응형

express는 node.js에서 가장 유명한 웹 프레임워크 모듈이다.


뭐 유명하다고 하니 사이트 접속       (한글로 번역한 사이트라고 함)

(사이트가 심플하면서 상당히 멋있음)

우측 상단에 github가 있는데 궁금하신분들은 들어가봐도 좋을 것 같음

(https://github.com/strongloop/express)



그렇다면 설치를 해보자.

npm을 이용해서 설치를 할건데 npm이 모르시다면

(http://kkn1220.tistory.com/45)참고


$npm install express        


express를 활용한 js만들기


파일이름: hello_express.js



$node hello_express.js


웹 페이지 확인




HTTP 요청 메소드 GET, POST, PUT, DELETE 등 간단하게 구현 가능




express에서 템플릿을 사용하면 기존 jsp 서버처럼 HTML을 동적으로 생성할 수 있다.


EJS(Embedded javascript)

- 자바스크립트로 동적인 웹페이지 생성을 도와준다.


Express JS 자동 생성 툴 활용

$sudo npm install -g express-generator        //전역 설치로 해야된다.

<테스트폴더>$express --ejs        //--ejs 옵션으로 뼈대 생성

<테스트폴더>$npm install          //package.js에 정의된 모듈 설치


설치된 화면의 모습이다.


$node /bin/www


웹페이지 접속(ip:3000)






$vi www 의 일부 모습



위의 페이지를 변경하고 싶으면

$vi /views/index.ejs


위의 페이지에서 원하는대로 수정하면 된다.

<% %> 태그 안에 자바스크립트 사용 가능

즉 <%= 변수 %> 사용 가능




위의 title의 경우 Express라는 말이 어디 나와있지??

$vi ../routes/index.js



res.render('index', {title: 'Express' }); 확인 가능










반응형

'프로그래밍 > Linux' 카테고리의 다른 글

Linux Personal repository 만들기  (0) 2015.10.22
vmware ubuntu disk 확장(sda1)  (7) 2015.10.22
npm(Node Packaged Modules)  (0) 2015.09.09
ubuntu node.js 설치  (0) 2015.09.09
ubuntu(우분투) rapidsvn 설치  (0) 2015.09.08

+ Recent posts