학부 졸업 작품으로 무엇을 하면 좋을까 고민하다가 만든 안드로이드 리듬 음악 게임이다.

원리는 MP3을 읽어 들여 wav로 바꾼 후 특정 시간 동안 가장 큰 위치에 두더지가 나오는 것이다.

항상 그렇듯 프로젝트는 용두사미가 되어 처음에 계획했던 것을 모두 구현하지 못하였다.


이것 때문에 얼마나 고생을 했던지.

안드로이드 소스 코드도 올리고 싶으나 첨부 용량의 한계로 올릴 수가 없다.


드랍박스 링크로 대체.

소스코드 받기.



첫 화면.



음악을 선택한다.



MP3 -> wav 변환 중. 소프트웨어로 변환 하는 중이기 때문에 속도가 엄청 느리다.



잘 느끼면서 플레이 하면 음악에 맞춰서 두더지가 올라온다.

는 희망.


그래도 만들고 나서 뿌듯했음.

졸작 1등 한 건 자랑.

상으로 포켓포토 받은 것도 자랑

퀄리티가 후진 건 안자랑

virtualbox의 구성이 완료되었는데 마지막으로 원격으로 ssh접속 하게 끔 꾸며 보았다.



먼저 위의 링크에서 처럼 ssh 서버를 설치하고 ip를 확인한다.


1. virualbox에 포트포워딩 규칙 생성.

VMware 의 네트워크 구성과 연결의 이해

위의 링크가 버추얼 머신의 네트워크 구성 설명이 잘 되어 있다.


우선 해당 os의 네트워크 설정을 확인한다.


위와 같이 NAT으로 설정되어 있으면 된다.


고급을 누르고 포트 포워딩을 누른다.


오른쪽에 새 규칙 추가하기를 누르고


포트 포워딩 규칙을 목적에 맞게 적용한다.

목적은 쉘 접속이므로 이름을 적당히 지어주고 호스트 IP는 내 pc의 IP를 입력하고 호스트 포트는 22로 설정하였다. 게스트 IP는 우분투의 ip를 입력하고 ssh가 사용하는 포트인 22번을 게스트 포트로 입력한다.


확인을 누르면 윈도우 방화벽 경고창이 뜨는데 허용을 눌러주어야 한다.!

그래야 외부에서도 우분투로 접속이 가능하다.


방화벽 문제가 해결되고 나서 호스트 포트번호를 바꿔 주자. 나는 기억하기 쉽게 10022로 해주었다. 



이제 외부에서 내 IP:10022로 접속하면 우분투에 접속할 수 있다.

1. Sun/Oracle JDK 다운로드 및 설치
위 페이지에서 Sun/Oracle JDK를 설치 하는 방법을 알아냈다.
여기서 알려주는 것은 버전 7이지만 안드로이드가 요구 하는 것은 버전 6이므로 아래와 같이 입력한다.

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java6-installer

마지막 java6를 설치할 때 라이선스 동의만 OK로 해주면 된다.


'linux > 기타등등' 카테고리의 다른 글

gcc 특정파일 옵션 설정.  (0) 2014.08.07
리눅스 무료 HTML5 편집기 Aptana  (0) 2014.08.02
이미지 편집 프로그램 김프  (0) 2014.08.02
java version 변경  (0) 2014.07.15
linux 파일 redirection  (0) 2014.05.19

gdb로 디버깅을 할 때 소스코드를 보면서 하고 싶을 때가 있다. 그것을 위한 방법.


아래와 같이 하면 gdb화면이 쪼개져서 소스코드가 보인다.

(gdb) layout split


화면 설정도 여러가지로 지원하는데 방법은 다음과 같다.

(gdb) layout next



빠져 나오는 방법.

ctrl + x + a


한 가지 단점이라면 속도가 느리다는 점. 가끔 필요할 때만 사용하도록 하자.

'linux > gdb' 카테고리의 다른 글

multi thread gdb, 특정 thread 디버깅 하기  (0) 2014.07.08

http://source.android.com/source/downloading.html

안드로이드 빌드를 위한 사전 작업을 마쳤다면 이제 안드로이드 소스코드를 받을 차례이다.
위의 링크에서 설명한대로 차례 차례 진행해 보도록 하자.


1. repo 설치


소스코드는 어디 홈페이지에서 받는 것이 아니라 repo라는 것의 도움받는다.

다음을 입력해 repo를 위한 폴더를 만들로 폴더를 PATH에 등록한다.

$ mkdir ~/bin

$ PATH=~/bin:$PATH


repo를 받고 실생 가능한 파일로 만들어 준다.

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo


2. 안드로이드 소스코드 다운로드.


안드로이드를 위한 폴더를 만들어 주자.

$ mkdir Android_project

$ cd Android_project


repo를 이용해 source code를 받자.

$ repo init -u https://android.googlesource.com/platform/manifest


위와 같이 적용하니 다음과 같은 메세지가 나온다.

error.GitError: manifests var: 

*** Please tell me who you are.


Run


  git config --global user.email "you@example.com"

  git config --global user.name "Your Name"


to set your account's default identity.

Omit --global to set the identity only in this repository.


fatal: unable to auto-detect email address (got 'nold@nold-VB.(none)')


나의 email 주소를 모르겠단다.
저기 나와 있는 대로 명령어를 실행하고 다시한번 repo init을 하자.
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
$ repo init -u https://android.googlesource.com/platform/manifest

https://android.googlesource.com/platform/manifest

여기에 들어가면 여러 버젼이 나온다. 나는 4.4.2_r2를 사용하기로 했으니 다음과 같이 입력한다.

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r2


이제 정말 소스를 받도록 하자.

$ repo sync


이것은 시간이 많이 걸린다. 가서 밥이나 먹고 오자



3. 디바이스를 위한 드라이버 다운로드


nexus5에 안드로이드를 올리기 위해서는 디바이스 드라이버도 필요하다.

http://source.android.com/source/building-devices.html

위 페이지 중간부분에 

Picking and building the configuration that matches a device

밑에 드라이버 다운로드를 위한 링크가 있다.

https://developers.google.com/android/nexus/drivers

여기에 들어가서 Binaries for Nexus 5 (GSM/LTE) ("hammerhead") 밑의 Android 4.4.2 (KOT49H)를 눌러보자.



위와 같이 장치 드라이버가 나온다. 

드라이버를 다운로드 받기 위한 폴더를 만들자.

$ mkdir ~/android_driver

$ cd ~/android_driver


드라이버를 wget을 이용해서 다운 받는다. 

각각의 Link에 대해 다음을 수행한다.

$ wget "Link 우클릭 -> 링크주소복사"


다음과 같은 세 개의 파일이 받아졌다.

broadcom-hammerhead-kot49h-a670ed75.tgz

qcom-hammerhead-kot49h-518133bf.tgz

lge-hammerhead-kot49h-e6165a67.tgz


이 파일들의 압축을 해제 하자.

$ tar zxvf broadcom-hammerhead-kot49h-a670ed75.tgz

$ tar zxvf qcom-hammerhead-kot49h-518133bf.tgz

$ tar zxvf lge-hammerhead-kot49h-e6165a67.tgz


다음과 같이 세개의 파일이 생겼다.

extract-qcom-hammerhead.sh

extract-broadcom-hammerhead.sh

extract-lge-hammerhead.sh



4. 장치 드라이버 설치


안드로이드 소스코드가 있는 곳으로 이동한다.

$ cd ~/android_4.4.2_r2


이 폴더에서 아까 받은 파일들을 실행한다.

$ ~/android_driver/extract-broadcom-hammerhead.sh


The license for this software will now be displayed.

You must agree to this license before using this software.


Press Enter to view the license


엔터를 입력하자.

   1.  Special Definitions


      a.  The term "Android" means the open source mobile platform, software

          stack, operating system, middleware, application programming

          interfaces and mobile applications under the trade-name "Android"

          distributed at Android.com.


      b.  The term "Android Applications" means a software application or

          open-source contribution developed by You, designed to operate with

          Android that does not contain or incorporate any of the Software.

--More--

위와 같이 나오는데 스페이스 바를 눌러 끝까지 진행한다.
      e.  Entire Agreement. This Agreement completely and exclusively states
          the agreement between You and Licensor regarding this subject
          matter.

Type "I ACCEPT" if you agree to the terms of the license:

커서가 깜빡 거리는 데, I ACCEPT를 입력하면 된다.
세 개의 파일 모두 같은 방식으로 진행한다.


5. 안드로이드의 타겟 설정

안드로이드 소스코드 폴더로 이동한다.
$ cd ~/android_4.4.2_r2

다음을 입력해 빌드를 위한 세팅을 한다.
$ . build/envsetup.sh

그리고 타겟을 설정하기 위해 다음을 입력한다.
$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_x86-eng
     3. aosp_mips-eng
     4. vbox_x86-eng
     5. mini_mips-userdebug
     6. mini_armv7a_neon-userdebug
     7. mini_x86-userdebug
     8. aosp_mako-userdebug
     9. aosp_hammerhead-userdebug
     10. aosp_grouper-userdebug
     11. aosp_tilapia-userdebug
     12. aosp_deb-userdebug
     13. aosp_flo-userdebug
     14. aosp_manta-userdebug

Which would you like? [aosp_arm-eng] 

여기서 적당한 것을 입력하면 된다.
xxx_yyy-zzz 다음과 같은 형식인데, xxx는 소스코드의 형식이고, yyy는 안드로이드가 올라가는 타겟 디바이스이다. zzz는 안드로이드의 빌드 형식을 나타낸다.

nexus5는 hammerhead이고 개발자 입장에서 빌드를 할것이기 때문에 zzz는 eng를 선택한다.
 aosp_hammerhead-eng

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.2
TARGET_PRODUCT=aosp_hammerhead
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=KVT49L
OUT_DIR=out
============================================

결과를 보면 많은 정보를 알 수 있다.

그리고 대망의 빌드를 하자. 이 또한 시간이 많이 걸린다.

$ make -j 2
뒤의 숫자는 자신의 코어 수 만큼만 주면 된다.

Checking build tools versions...
************************************************************
You are attempting to build with an unsupported JDK.
 
You use OpenJDK but only Sun/Oracle JDK is supported.
Please follow the machine setup instructions at
************************************************************
build/core/main.mk:152: *** stop.  Stop.
위와 같은 메세지를 뱉어 내고 죽어버렸다.
링크된 페이지에 가면 open JDK를 사용 하라고 나와 있는데.... sun/oracle의 JDK를 사용하라고 한다.

위 링크에서 sun/oracle jdk를 설치하는 방법을 설명해 놓았다.
설치 후 다시 한번 빌드 해보자.

$ make -j 2


'Android' 카테고리의 다른 글

android art 디버깅 하기 (dex2oat)  (0) 2015.02.03
nexus 5를 위한 Android 4.4 빌드하기 1. 빌드 환경 설정.  (0) 2014.07.08
android IP 확인  (0) 2014.05.19

사용자의 입력에 따라 출력이 바뀌게 끔 스크립트를 작성하고 싶을 때 사용할 수 있는 예제 코드이다.

#!/bin/sh   
yes_or_no(){
    echo "parameters are $*"
    while true
    do
            echo -n "Enter yes or no"
            echo ""
            read x
            case "$x" in
            y | yes ) return 0;;
            n | no  ) return 1;;
            *) echo "Answer yes or no"
            esac
    done
}

echo "Origina parameters are $*"

if yes_or_no "is your name $1"
    then
        echo "Hi $1"
    else
        echo "Never mind"
    fi

exit 0

$ ./test.sh

test.sh 파일을 만들고 실행을 하면 아래와 같은 결과를 얻을 수 있다.


1. yes를 입력한 경우

Origina parameters are 

parameters are is your name 

Enter yes or no

yes

Hi 

2. n을 입력한 경우

Origina parameters are 

parameters are is your name 

Enter yes or no

n   

Never mind


nexus 5를 위한 Android 4.4 빌드하기 1. 빌드 환경 설정.

nexus 5를 위한 Android 4.4 빌드하기 2. 소스코드 다운로드


http://source.android.com/source/initializing.html


안드로이드를 직접 빌드 해서 올려볼 일이 있어서 하게 된 작업.

위의 링크에 나와있는 대로 순서대로 진행해 보자.


나의 작업 환경은 다음과 같다.

ubuntu 14.04

64bit


시작해 보자.


1. JDK 설치


우선 JDK를 설치해야 한다. 안드로이드는 자바 기반이기 때문이다.

최신의 안드로이드라면 java7을 설치 하라고 한다.

시키는 대로 설치하도록 하자.

$ sudo apt-get update

$ sudo apt-get install openjdk-7-jdk


2. 필수 패키지 설치 (12.04)


안드로이드 빌드를 위해서는 여러가지 라이브러리 같은 것들이 필요하다. 그래서 이것들을 설치해야만 한다.

안드로이드는 우분투 12.04를 강추하기때문에 14.04버전을 위한 추천은 없다.

하지만 14.04나 12.04나 거기서 거기겠지... 그래도 따라한다.

맨 위에 build-essential은 이미 설치 했다면 필요 없다.

sudo apt-get install build-essential

sudo apt-get install git gnupg flex bison gperf build-essential \

  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \

  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \

  libgl1-mesa-dev g++-multilib mingw32 tofrodos \

  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


일단 여기까지 하면 빌드를 위한 사전 작업은 완료이다.


우분투에서 apt-get install로 패키지를 설치할 때가 있다.

이때 서버에서 파일을 다운로드 받은 후 설치를 하게 되는데 기본으로 설정되어 있는 서버는 속도가 느리다.

따라서 이를 바꿀 필요가 있다.


아래 명령어를 입력해서 저장소가 무엇으로 되어 있는지 확인해 보자.

sudo cp /etc/apt/sources.list /etc/apt/sources.list-ori

sudo gedit /etc/apt/sources.list

만일을 대비해 원본을 복사해 두었다.

#deb cdrom:[Ubuntu 14.04 LTS _Trusty Tahr_ - Release amd64 (20140417)]/ trusty main restricted


# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to

# newer versions of the distribution.

deb http://kr.archive.ubuntu.com/ubuntu/ trusty main restricted

deb-src http://kr.archive.ubuntu.com/ubuntu/ trusty main restricted

텍스트 창이 열리며 위와 같은 내용이 들어 있음을 확인 할 수 있다.

자세히는 모르지만 서버의 주소는 http://kr.archive.ubuntu.com/ubuntu/임을 확인할 수 있다.


여기서 ctrl+h를 눌러 바꾸기를 열고, kr.archive.ubuntu.com를 ftp.daum.net로 바꾸도록 하자.

추가로 extras.ubuntu.com와 security.ubuntu.com도 ftp.daum.net로 바꾸자.


ctrl+s를 눌러 저장을 하고 빠져나오면 서버의 주소가 바뀌었다.


마지막으로 바뀐 서버로 update와 upgrade를 하도록 하자.

sudo apt-get update

sudo apt-get upgrade


'linux > ubuntu' 카테고리의 다른 글

우분투 14.04 삼바 설치  (0) 2014.07.10
우분투 ssh 서버 설치  (0) 2014.07.10

Thread-Specific Breakpoints


프로그램을 디버깅 할 때 멀티 쓰레드로 동작하는 경우 애를 먹는 경우가 많다.

나는 test_method에서 디버깅을 시작했는데 다른 스레드에서 다시 test_method를 만나는 경우가 대표적일 것이다.

혹은 특정 함수 조건에서 break를 걸고 한참 뒤의 함수에서 멈추고 싶은 경우 특정 thread에 대해서 만 break를 걸어야 한다.


그럴 때는 다음과 같은 방법을 사용하자.


break linespec thread threadno

break linespec thread threadno if …


'linux > gdb' 카테고리의 다른 글

GDB 소스코드 보기  (0) 2014.07.09

1. virtualbox에 새 하드 드라이브 추가.



하드를 추가하고자 하는 os를 선택하고 설정->저장소->컨트롤러->하드디스크 추가하기를 클릭한다.



새 디스크 만들기를 클릭하고



하드 드라이브 파일 종류를 선택해야 하는데 그냥 기본으로 두었다.



하드 드라이브에 용량이 넉넉하므로 고정 크기로 생성하자.



하드디스크 파일이 저장될 위치를 선택하고 용량을 정하도록 하자.



그러면 새로운 디스크가 생성된다.



저장소에 50GB의 extrakHdd가 생성된 것을 볼 수 있다.


2. 우분투에 HDD 설정 하기.


2.1 파티션 잡기.


우분투에서 터미널을 실행하자.

터미널에 다음과 같이 입력한다.

$ sudo fdisk -l


그러면 다음과 같은 정보를 보여준다.


Disk /dev/sdb: 53.7 GB, 53687091200 bytes

255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disk identifier가 0으로 되어 있다. 왠지 0이면 안될 것 같다.

새로운 하드 드라이브라서 그런걸까..


어쨋든 새로운 하드에 파티션을 잡아주도록 하자.


$ sudo fdisk /dev/sdb

위와 같이 명령을 치면 아래와 같은 창이 나온다.

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x06690ba0.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.


Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

m을 입력하면 도와준다고 하니 m을 입력해보았다.

그러니 여러 명령어들이 나오는데 그중에 우리가 할 것은 파티션을 나누는 것이니 n을 누르도록 하자.


Command (m for help): n


Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended


파티션 타입을 입력하란다. p를 입력한다.


Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-104857599, default 2048): 2048

Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): 

Using default value 104857599


Command (m for help): w

그 다음부터는 그냥 엔터만 눌러서 기본 설정으로 진행하도록 했다.



$ sudo fdisk -l

다시 한번 디스크 정보를 출력해보자.

Disk /dev/sdb: 53.7 GB, 53687091200 bytes

22 heads, 22 sectors/track, 216647 cylinders, total 104857600 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x015ed627


   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048   104857599    52427776   83  Linux

Disk identifier값이 생성된 것을 볼 수 있다.

추가로 /dev/sdb1로 파티션이 생성되었다.



2.2 포맷


파티션을 나누었으니 포맷을 하도록 하자.

아래와 같이 입력하면 sdb1을 포맷 한다.

$ sudo mkfs.ext4 /dev/sdb1


mke2fs 1.42.9 (4-Feb-2014)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

3276800 inodes, 13106944 blocks

655347 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=4294967296

400 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 

4096000, 7962624, 11239424


Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done   



2.3 마운트


하드디스크에 접근을 하려면 마운트를 해야한다.

마운트를 위한 폴더를 하나 생성하자.

$ sudo mkdir /extrahdd


그 다음은 생성한 폴더에 마운트를 하면 된다.

$ sudo mount -t ext4 /dev/sdb1 /extrahdd


/extrahdd에 새로운 하드디스크가 마운트 되었다.



2.4 부팅 할 때 자동으로 마운트 하기.


먼저 하드디스크의 ID를 알아내보자.

$ ls -l /dev/disk/by-uuid/


lrwxrwxrwx 1 root root 10  7월  8 13:17 8ce97b57-c827-49c2-b87b-1343ecc07e25 -> ../../sdb1

lrwxrwxrwx 1 root root 10  7월  8 12:51 c41f4ec9-9190-4416-af0a-9d0365d8b4e7 -> ../../sda1

lrwxrwxrwx 1 root root 10  7월  8 12:51 db00ae6a-9322-4b89-84e7-c1df28049121 -> ../../sda5


우리가 생성한 sdb1의 uuid가 나온다. 이것을 잘 기억해 두었다가 설정 파일에 적어주자.


먼저 설정 파일을 열고

$ sudo vi /etc/fstab


# /extrahdd on /dev/sdb1.

UUID=8ce97b57-c827-49c2-b87b-1343ecc07e25 /extrahdd       ext4    errors=remount-ro 0       1

위와 비슷한 내용이 있을 것이다.

위의 내용을 추가했다.



재 부팅 후 확인.


우분투를 재 부팅 한 후 터미널에 다음과 같이 입력했다.

$ df -h


Filesystem      Size  Used Avail Use% Mounted on

/dev/sda1        95G  3.5G   87G   4% /

none            4.0K     0  4.0K   0% /sys/fs/cgroup

udev            2.0G  4.0K  2.0G   1% /dev

tmpfs           396M  868K  395M   1% /run

none            5.0M  4.0K  5.0M   1% /run/lock

none            2.0G  220K  2.0G   1% /run/shm

none            100M   40K  100M   1% /run/user

/dev/sdb1        50G   52M   47G   1% /extrahdd


/dev/sdb1이 /extrahdd에 잘 마운트 된것이 보인다.


2.5 계정을 위한 폴더 생성.


하드디스크를 추가 한뒤 아무나 쓸 수 있는 것이 아니다. 리눅스는 소유권에 관한 개념이 철저하기 때문에 각각의 사용자에 대해 쓸수 있는 폴더를 만들어 주어야 한다.

nold를 위한 폴더를 하나 만들어 주고 소유권을 주도록 하자.

$ sudo mkdir extrahdd/nold

$ sudo chown nold:nold /extrahdd/nold/


그리고 나서 /extrahdd/nold/에 대한 정보를 보면,

$ ll /extrahdd/


total 28

drwxr-xr-x  4 root root  4096  7월  8 22:38 ./

drwxr-xr-x 26 root root  4096  7월  8 20:37 ../

drwx------  2 root root 16384  7월  8 13:17 lost+found/

drwxr-xr-x  2 nold nold  4096  7월  8 22:38 nold/

위와 같이 nold폴더의 소유권이 nold로 바뀌었다.


확인차 폴더를 하나 만들어 보자.

$ cd /extrahdd/nold/

$ mkdir test

$ ll


total 12

drwxr-xr-x 3 nold nold 4096  7월  8 22:40 ./

drwxr-xr-x 4 root root 4096  7월  8 22:38 ../

drwxrwxr-x 2 nold nold 4096  7월  8 22:41 test/

위와같이 정상적으로 동작 하는 것을 볼 수 있다.


+ Recent posts