2013년 8월 16일 금요일

VirtualBox에서 저장소 확장하기


VirtualBox로 작업을 하다보면 저장소의 용량이 부족한 경우가 있다.
이런 경우에는 저장소를 필요한 만큼 새로 만든 후에 동일한 경로로 마운트할 수 있다.

http://download.oracle.com/otn/vm/bi/v305/SampleAppv305_UserGuide.pdf?AuthParam=1376637137_863fb9c6ed350180a7c24383fe6f994b

위 파일에서 2.6 How to increase disk space on the VM 절을 보면 자세히 설명되어 있다.

이렇게 하려면 Logical Volumn Manager가 필요한데, 혹시 설치가 되어 있지 않으면 아래와 같이 실행한다.

# yum install system-config-lvm

자세한 내용은 아래와 같다.
http://www.oracle-base.com/articles/linux/linux-logical-volume-management.php




2013년 8월 15일 목요일

ubuntu 에서 특정 버전의 패키지 설치하기


apt-get install 명령어를 사용하면 대부분 ubuntu에서 관련 패키지를 설치하는데 어려움이 없다.
unzip 프로그램을 설치하려고 아래와 같이 명령어를 타이핑했으나 관련 파일을 찾을 수 없다는 에러가 떴다.


emillian@jupiter:~/raspberry_pi$ sudo apt-get install unzip
[sudo] password for emillian:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  zip
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded.
Need to get 156kB of archives.
After this operation, 360kB of additional disk space will be used.
Err http://kr.archive.ubuntu.com intrepid/main unzip 5.52-11ubuntu1
  404 Not Found
Failed to fetch http://kr.archive.ubuntu.com/ubuntu/pool/main/u/unzip/unzip_5.52-11ubuntu1_i386.deb  404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?


웹브라이저로 확인해 보니 unzip_5.52-11ubuntu1_i386.deb 파일은 없고 unzip_5.52-10ubuntu1_i386.deb 파일이 있었다.

wget 명령어를 이용해서 패키지를 수동으로 내려 받았다.
> wget ftp://kr.archive.ubuntu.com/ubuntu/pool/main/u/unzip/unzip_5.52-10ubuntu2_i386.deb


내려 받은 패키지를 수동으로 설치하였다.
>  sudo dpkg -i unzip_5.52-10ubuntu2_i386.deb







2013년 8월 5일 월요일

Maven WAR Package 시 webapp/META-INF/MANIFEST.MF 파일 지정하기



webapp/MEATA-INF/MANIFEST.MF 파일을 생성해서 저장해도 아래와 같이 지정하지 않으면 maven이 디폴트로 생성하는 내용으로 MANIFEST.MF 파일이 overwrite 됩니다.
pom.xml 파일을 열어서 plugins 에 아래와 같이 추가하면 특정파일로 MANIFEST.MF 파일을 사용할 수 있습니다.


<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <archive> <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> </plugin>  



 

MANIFEST.MF 파일 예제

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: Apache Ant
Extension-List: WeblogicSpring
WeblogicSpring-Extension-Name: weblogic-spring
WeblogicSpring-Specification-Version: 12.1.2.0.0
WeblogicSpring-Implementation-Version: 12.1.2.0.0

2013년 2월 13일 수요일

FileVisitor 를 이용한 긴 이름 파일 지우기

Abstract

JDK 7에 포함된 java.nio.file 패키지의 FileVisitor를 이용하여 Window7 에서 긴 파일명을 삭제하지 못해 디렉터리를 삭제할 수 없을 경우에 아래와 같이 사용하면 된다.
Visitor 패턴의 대표적인 유즈케이스인 디렉터리를 리커시브하게 둘러치며 파일 찝적대는 프로그래밍하던 수고를 JavaSE 1.7 안에 포함시켰다.

DerectoryDelete

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

package toughguy.nicholas.utils.file;

import java.io.File;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

public class DirectoryDelete extends SimpleFileVisitor {

private final File basedir;

public DirectoryDelete(File basedir) {
super();

this.basedir = basedir;
}



@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
throws IOException {

if(attrs.isRegularFile()) {
System.out.println("delete file: " + file.getFileName());
Files.delete(file);
}

return FileVisitResult.CONTINUE;
}



@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc)
throws IOException {

System.out.println("delete directory: " + dir);
Files.delete(dir);
return FileVisitResult.CONTINUE;
}



public void delete() throws IOException {
Path path = Paths.get(this.basedir.toURI());
Files.walkFileTree(path, this);
}


}
------------------------------------------------------------------

테스트 코드

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

package toughguy.nicholas.utils.file;

import java.io.File;

import org.junit.Test;


public class DirectoryDeleteTest {

@Test
public void testDirectoryDelete() throws Exception  {
File dir = new File("C:/WebCenterSites");
DirectoryDelete directoryDelete = new DirectoryDelete(dir);
directoryDelete.delete();
}
}

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




Resources: