만날 모니터링 하다가 꼭 잠시 한 눈 판 사이에 새로운 버전이 올라온다. 우씨...

가장 대표적인 것은 Multi-screen 지원 관련하여 많은 개선이 있었고...
리눅스 관련해서 최신 커널 컴파일 지원이 추가 되었다.

업데이트 해서 작업해본 결과 큰 이상은 보이지 않는다 ^^

   - https://www.virtualbox.org/wiki/Downloads


VirtualBox 4.2.12 (release 2013-04-12)

This is a maintenance release. The following items were fixed and/or added:

•VMM: fixed a Guru Meditation on putting Linux guest CPU online if nested paging is disabled
•VMM: invalidate TLB entries even for non-present pages
•GUI: Multi-screen support: fixed a crash on visual-mode change
•GUI: Multi-screen support: disabled guest-screens should now remain disabled on visual-mode change
•GUI: Multi-screen support: handle host/guest screen plugging/unplugging in different visual-modes
•GUI: Multi-screen support: seamless mode: fixed a bug when empty seamless screens were represented by fullscreen windows
•GUI: Multi-screen support: each machine window in multi-screen configuration should have correct menu-bar now (Mac OS X hosts)
•GUI: Multi-screen support: machine window View menu should have correct content in seamless/fullscreen mode now (Mac OS X hosts)
•GUI: VM manager: vertical scroll-bars should be now updated on content/window resize
•GUI: VM settings: fixed crash on machine state-change event
•GUI: don't show warnings about enabled or disabled mouse integration if the VM was restored from a saved state
•Virtio-net: properly announce that the guest has to handle partial TCP checksums (bug #9380)
•Storage: Fixed incorrect alignment of VDI images causing disk size changes when using snapshots (bug #11597)
•Audio: fixed broken ALSA & PulseAudio on some Linux hosts due to invalid symbol resolution (bug #11615)
•PS/2 keyboard: re-apply keyboard repeat delay and rate after a VM was restored from a saved state (bug #10933)
•BIOS: updated DMI processor information table (type 4): corrected L1 & L2 cache table handles
•Timekeeping: fix several issues which can lead to incorrect time, Solaris guests sporadically showed time going briefly back to Jan 1 1970
•Main/Metrics: disk metrics are collected properly when software RAID, symbolic links or rootfs are used on Linux hosts
•VBoxManage: don't stay paused after a snapshot was created and the VM was running before
•VBoxManage: introduced controlvm nicpromisc (bug #11423)
•VBoxManage: don't crash on controlvm guestmemoryballoon if the VM isn't running (bug #11639)
•VBoxHeadless: don't filter guest property events as this would affect all clients (bug #11644)
•Guest control: prevent double CR in the output generated by guest commands and do NLS conversion
•Linux hosts / guests: fixed build errors on Linux 3.5 and newer kernels if the CONFIG_UIDGID_STRICT_TYPE_CHECKS config option is enabled (bug #11664)
•Linux Additions: handle fall-back to VESA driver on RedHat-based guests if vboxvideo cannot be loaded
•Linux Additions: RHEL/OEL/CentOS 6.4 compile fix (bug #11586)
•Linux Additions: Debian Linux kernel 3.2.0-4 (3.2.39) compile fix (bug #11634)
•Linux Additions: added auto-logon support for Linux guests using LightDM as the display manager
•Windows Additions: Support for multimonitor. Dynamic enable/disable of secondary virtual monitors. Support for XPDM/WDDM based guests
•X11 Additions: support X.Org Server 1.14 (bug #11609)

반응형

최근 들어 우분투와 관련하여 많은 변화가 보이고 있다.
아니 그냥 변화라고 표현하기 보다는 지금까지 해왔던 관습적인 부분에 대한 변경 사항이 자꾸 언급되고 있다.


1. 지원 기간 단축
     - http://www.webupd8.org/2013/03/ubuntu-technical-board-meeting.html
     - LTS 버전은 5년, 그 외 버전은 18개월간 지원을 해왔지만,
     - LTS 판이 아닌 경우 9개월만 지원을 하겠다고 3월에 발표를 했다.
     - 즉, LTS 판이 아닌 경우 9개월 안에 업그레이드를 해야 한다는 말이다. 당연히 많은 반발이.... ^^
     - 이 때 발표를 할 때에 13.04 버전부터 적용이 되어 13.04 버전은 9개월짜리 지원 버전일거라고 했었다 !!

2. WUBI 제외
     - http://www.omgubuntu.co.uk/2013/04/wubi-unlikely-to-be-in-ubuntu-13-04-windows-users-lose-out
     - 윈도우즈용 우분투 설치 프로그램인 WUBI가 13.04 버전부터는 제외가 될거라고 했다.
     - 하지만, 지금 개발중인 내역을 보면 아직 WUBI가 보이기는 하던데... 제대로 설치가 안될 수도 있겠지만...
     - 뭐 여하튼, Windows8 출시와 함께 더 이상은 지원하기가 버겨웠나보다.

3. 13.04 Release
     - https://wiki.ubuntu.com/RaringRingtail/ReleaseSchedule
     - 기존 릴리스 때에는 메인 홈페이지에서 계속 홍보를 해왔었던 것과 비교하면 상당히 다른 분위기다.
     - 기억에 원래 릴리스는 4월 18일이었던 것 같은데, 지금 확인해보니 4월 25일로 되어있다.
     - 릴리스 예정일자 찾는 것 조차도 엄청 힘들다. 12.10 판도 불안정하던데, 13.04 판도 버림받은 것일까?!

4. Rolling Release
     - http://www.omgubuntu.co.uk/2013/02/ubuntu-to-discuss-rolling-release-move-at-next-weeks-uds
     - "수시배포"라고 번역을 하면 되려나 ?
     - 필자 기억에는 2010년도부터 이야기 되어 온 이슈 같은데.... 13.04 이후에는 Rolling Release 하지 않을까 한다.
     - 최종적으로 어떻게 결론이 났는지는 아직 모르겠다.
     - 즉, 이젠 그냥 하나로 주우욱 간다는...


요즘에 다시 확인해보지 않아서 위에서 언급한 것들 중에서 결론이 난 부분도 있을 것 같기는 하지만,
최소한 대중매체에선 아직 뭔가 이야기 된 것은 없는 것 같으니... 그냥 최신 소식으로~ ^^

 

반응형


소스코드의 변경 없이, 즉 아무런 내용 없이 그냥 commit을 하나 만들고 싶을 때에 사용할 수 있는 옵션이 있다. 사실 정말 아무런 쓸모없는 팁이라고 할 수도 있겠지만, 때로는 정말 유용할 수도 있는 팁이다.

$ git commit --allow-empty -m "[empty] this is a empty commit"
[master 4767699] [empty] this is a empty commit


이런 것이 왜 필요할까 싶기도 하겠지만, 무언가 기록을 남기고 싶을 때 사용하면 유용할 수도 있다. 하지만, 그런 용도로 사용하기 위한 tag 기능이 있는데, 왜 이러한 짓을 하나 싶기도 하다.


사실 필자의 경우에는 root commit을 만들 때 정말 유용하게 사용한다.

repository를 이제 막 생성했을 경우에 empty repository에서는 local에도 아무런 branch가 없고 remote에도 아무런 branch가 없는 정말 삭막한... 말 그대로 깡통 저장소 상태이다.

보통은 이때에 root commit을 만들기 위해서
뜬금없이 readme.txt 같은 텍스트 파일 하나 만들어서 "initial commit"이라고 생성을 하곤 한다.

나중에 괜히 지저분하게 다시 쓸데없는 파일을 삭제하는 commit도 생성이 되고.... 좀 마음에 들지 않는 부분이다.

이럴 때에 empty commit을 사용할 수 있으면... 정말 깔끔해질 수 있다 !!!


별 것도 아닌 내용이긴 하지만,
지금도 많은 개발자들을 위해 애쓰고 있는 개발 환경... 인프라 업무 담당자들을 위해서 짧은 팁 하나 남겨본다 ^^

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

3D Version Tree  (0) 2013.04.30
[005] Install GIt (in Ubuntu)  (5) 2013.04.25
git diff : 단어 단위로 변경 내역 확인하기  (0) 2013.03.16
commit을 누가 얼마나 했나요?  (0) 2013.03.16
git log 출력 형식 꾸미기  (0) 2013.03.10

가상데스크탑 유틸리티인 VirtualBox를 조금이라도 사용해본 사람이라면,
Guest OS 설치 후 제일 먼저 해야되는 작업인 Guest Addtion Install 을 알 것이다.

그래픽 드라이버나 입력 장치 등의 개선된 가상 드라이버를 설정해주는...
그냥 쉽게 말해서 상당히 더 쓸만하게 만들어주는 과정이다.

Guest OS로 Ubuntu를 설치하고 나서 Guest Addtion Install을 실행하게 되면
아래와 같은 화면이 나온다.


그런데, 위 화면을 보면 Install 과정이 잘 된 것 같지만,
중간 부분을 보면 아래와 같은 메시지가 있다.

The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

뭔가가 없어서 compile을 실패했단다.
그 뭔가는 바로 현재 사용하고 있는 kernel의 headers이다.

그런데, 실제로 살펴보면
"linux-headers-generic" 패키지를 설치하고자 하면 이미 설치되어있다.

이 문제를 해결하기 위해서는 다른 것을 설치해야 한다.


$ sudo apt-get install virtualbox-ose-guest-dkms
$ sudo apt-get install virtualbox-ose-guest-utils
( $ sudo apt-get install virtualbox-ose-guest-x11 )

즉, 우리의 사랑스럽고 친절한 ubuntu에서 VirtualBox를 위한 패키지를 이미 가지고 있다!!!
위와 같이 그대로 설치하면 된다.


설치 중간에 위와 같이 기존에 이미 존재하는 스크립트에 대한 처리를 묻는다.
그냥 기본값으로 N을 적용하면 된다.

설치가 끝나면 재부팅을 하자.

그리고 나서 다시 한 번 VirtualBox Guest Addtion Install을 실행하자.


이번에는 중간에 뭔가 이상한 것 없이 잘 설치가 되었다.
위 메시지에 나온 것처럼, 재부팅만 한 번 해주면 된다!!!


모두들 즐거운 VirtualBox 생활하세요!!!!!!

반응형

Ubuntu 환경에서 소프트웨어를 설치하다보면 종종 JDK를 요구하곤 한다.

예전에는 리눅스 패키지에 JDK가 포함되어 배포되어서 업데이트도 쉽고 다루기도 쉬웠는데,
라이선스의 이슈때문인지 최근에는 기본으로 포함되어있지는 않다.

물론 많은 수요가 있으니 편한 공급 방법을 제공해주고 있다.


하지만 여기에서는
그냥 정공법으로 공식 배포사이트에서 다운로드를 받아서 설치를 하는 과정을 살펴볼 것이다.


1. Download

     - 오라클의 JDK 공식 배포 사이트를 통해 다운로드 주소를 확인하자.
     - http://www.oracle.com/technetwork/java/javase/downloads/index.html

 


     - 물론 대부분의 상황은 JRE 만으로도 충분하지만, 개발자 마인드를 버리지못한 죄로... 무조건 JDK !!!
     - DOWNLOAD 버튼을 누르자.


     - Accept 해주고 OS에 맞는 다운로드 링크를 통해 저장하자.
     - 소프트웨어에 따라 요구하는 특정 버전의 JDK가 있다. 이 부분은 주의하자.


2. Install

     - JDK 버전에 따라 설치 방법이 살짝 다르다.
     - 여기에서는 가장 최신 버전을 기준으로 설명하겠다.


$ sudo -s tar zxvf jdk-7u5-linux-i586.tar.gz

     - 예전에는 위의 다운로드 링크 주소로 wget 을 통해 다운로드 할 수 있었는데, 요즘엔 안된다.
     - 예전에는 *.tar.gz 가 아니라 *.bin 파일로 다운로드가 되었었다.


$ sudo mkdir -p /usr/local/java
$ sudo -s mv ./jdk1.7.0_05 /usr/local/java/

     - 이전의 *.bin 방식은 그냥 파일에 실행 속성만 주고 실행하면 끝났는데... 이번에는 영~ 귀찮다.



$ sudo nano /etc/environment


PATH=...........:/usr/local/java/jdk1.7.0_05/bin
JAVA_HOME=/usr/local/java/jdk1.7.0_05

 

$ source /etc/environment


     - 환경 설정 (경로) 잡아주고,
     - alternative 관련 설정도 잡아주자.


$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_05/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_05/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.7.0_05/bin/javaws" 1

$ sudo update-alternatives --set java /usr/local/java/jdk1.7.0_05/bin/java
$ sudo update-alternatives --set javac /usr/local/java/jdk1.7.0_05/bin/javac
$ sudo update-alternatives --set javaws /usr/local/java/jdk1.7.0_05/bin/javaws


     - 이렇게 하고 마지막으로 잘 되었는지 확인을 위해서 아래와 같이 버전을 확인해보자.

$ java -version



여기까지~

반응형

Ubuntu에서 부팅할 때에 자동으로 무엇인가를 실행하고 싶은 경우에는 어떻게 해야할까?
과거 DOS 시절에는 AUTOEXEC.BAT (일명: 오토익스큐트 배치파일?! ^^) 파일에 명령어를 입력했었는데...


Ubuntu(리눅스)에서 일반적으로 부팅 時에 무언가를 실행하기 위해서는,
실행을 위한 스크립트 파일들을 /etc/init.d/ 경로 밑에 넣어 놓고
runlevel에 따라 실행할 스크립트 파일을 등록을 해주는 방식을 취한다.

(제가 잘못알고 있다면, 친절하게 설명을 해주시길 바래요 ㅠㅠ)

Ubuntu에서 runlevel에 따라 등록된 내역을 확인 하기 위해서는 /etc/rc0.d/ , /etc/rc1.d/ , /etc/rc2.d/ ... 를 살펴보면 된다.


유저가 원하는 무엇인가를 자동 실행으로 등록하기 위해서는
/etc/init.d/ 경로 밑에 실행을 하기 위한 Script 파일을 만들어 놓고 [ chmod +x 스크립트 ] 명령으로 실행가능토록 해놓고
[ sudo update-rc.d 스크립트 defaults ] 명령을 실행하면 등록이 되어 이후 부팅 時 자동으로 실행을 시킬 수 있다.



이러한 과정이 번거로운 경우 일반적으로 많이 사용하는 것이 /etc/rc.local 파일을 이용하는 것이다.
runlevel과 무관하게 rc.d 실행을 모두 마친 후 수행이 된다는 점을 이용하는 것이다.

사용 방법은 간단하다.

/etc/rc.local 파일을 편집해서 실행하고픈 내용을 적어주면 된다.

이 때 주의할 점은,
/etc/rc.local 실행 권한이 root 라는 점이다.
혹시 특정 사용자 권한이 필요하다면 [ su -사용자 -c 실행파일 ]과 같이 명시해주면 된다.


그리고, 마지막으로 또 하나~!!
/etc/rc.local 파일에 실행파일을 적어줬는데 정상적으로 실행이 되지 않을 때가 있다.

이 때 체크 포인트 !!!
   - 일반적으로 환경 변수 셋팅이 되어 있지 않기 때문에 PATH는 절대 경로를 사용해야 한다.
   - /etc/rc.local 은 [ -e ] 옵션이 되어있다. 즉, 에러 발생하면 그냥 바로 종료다. 번거로우면 [ -e ] 옵션을 지우는... ^^



자동 실행과 관련하여 마지막 사항은... X-Window 프로그램들이다.
X-Window 프로그램을 위와 같이 명시하면 제대로 실행되지 않는 경우가 대부분이다.
문제는 실행 타이밍~ X-Window 관련된 것들이 전부 실행이 된 이후 실행이 되어야 하는데,
그 전에 실행을 하니... 에러....

X-Window 관련 프로그램의 자동 실행은 X-Window의 메뉴들을 보면 시작프로그램 등록하는 다이얼로그가 있다.
그것을 이용하자~!!


반응형

2013-03-19 일자로
2.2.x 버전의 최신판 2.2.4 버전과
새로운 기능과 함께 등장한 2.3.0 버전이 등장했다.

그런데,
2.2.4 버전의 경우 defect과 patch만 반영이 되어있지만,
2.3.0 버전은 새로운 기능들이 많이 추가가 되었다.

그 새롭게 추가된 기능 중에 관심을 확~끌었던 것이 하나 있어서 소개를 하고자 한다.


Redmine의 가장 멋진 메뉴 중 하나인 간트차트에 새로운 기능이 추가가 되었다.

Feature 명칭은 "Show relations in Gantt diagram"인데,
일감(issue)의 관계를 간트차트에서 너무나 예쁘게 출력을 해주는 것이다.

별도의 그림파일이 아님에도 정말 신기하고 정말 너무 예쁘다!!! (혼자서 감동~ @.@)


그런데, 사실 그동안 Redmine을 사용해오면서 일감의 관계를 사용하지 않았었다.
그래서 일감 관계 설정 방법을 몰라서 이번 기능을 테스트해보려 정말 고생을 했다 ^^


본래부터 일감 관계를 사용하시던 분들에게는 당연한 내용이겠지만,
저처럼 모르는 사람을 위한 간단한 기능 소개를 하겠다.


일감의 관계 설정은 [ 새 일감 만들기 ] 때에는 할 수 없다.
일단, 일감을 만든 후에 일감 정보를 보면 [ 연결된 일감 ] 부분에서 "추가"를 통해서 설정이 가능하다.


일감들의 관계는 정말 다양하게 존재한다.
사실 번역이 조금... 익숙한 설명은 좀 아니라서 좀... 하지만, 한 번씩 해보면 알만한 내용이긴 하다.


다들 알겠지만, 일감의 번호를 정확히 알지 못할 때엔 일감의 이름을 살짝 써주면 검색을 해서 선택할 수 있게 보여준다.

이렇게 일감 관계를 설정하면 간트차트에서 그 관계에 따라 예쁜 화살표를 출력해준다 !!!

다들 재미있고 유용하게 사용하면 좋겠다 !!!
반응형

꾸준히 업데이트를 해주고 있는 아름다운 Redmine이 2013.03.19 날짜에 2.3.0 버전과 2.2.4 버전을 배포했다.

기존 install 포스팅으로도 설치에 큰 이슈가 없을 것 같기는 하지만,
그래도 오랜만에 다시 한 번 천천히 설치 과정을 진행해보려고 한다.


01. 버전 호환성 확인하기

   - 정말 다시 한 번 말하지만, Ruby 대중화의 가장 큰 적은 버전 호환성이다 !!!

 Redmine  Supported Ruby  Required Rails  Supported Rack  Supported RubyGems
 2.3.0  ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0
jruby-1.7.2
 Rails 3.2.13  ?  RubyGems <= 1.8
 2.2.4  ruby 1.8.7, 1.9.2, 1.9.3,
jruby-1.6.7
 Rails 3.2.13  ?  RubyGems <= 1.8



02. 기본 패키지 설치

   - Ruby, Redmine 설치를 위해 사전에 필요한 패키지들을 모두 설치하자.

$ sudo apt-get install build-essential libpcre3-dev libruby libssl-dev libcurl4-openssl-dev libpq-dev libreadline-dev libjpeg62-dev libpng12-dev curl openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev libncurses5-dev automake libtool bison pkg-config



03. Ruby 설치

   - Ruby 설치를 위해서는 rvm을 활용해야 한다. (여기에서 root 로 변경 후 뒤에 계속 root로....)

$ sudo su -
$ curl -L https://get.rvm.io | sudo bash -s stable
$ source /etc/profile
$ rvm install 1.9.3
$ rvm use 1.9.3
$ rvm --default use 1.9.3 

   - 이렇게 한 뒤 [ rvm -v ] 명령을 통해 ruby 버전이 확인되면 성공한 것이다.
   - 마지막으로 PATH 설정을 추가로 해주어야 하는데, sudo의 PATH 문제로 인해서 조금 더 해줘야 할 것이 있다.

$ nano /etc/environment


PATH="......:/usr/local/rvm/bin"




04. Rails 설치

   - rails를 설치하자.

$ gem install rdoc
$ gem install rails -v 3.2.13
 


05. PostgreSQL 설치 및 설정

     - 개인적 취향이지만 객관적으로도 꽤 괜찮은 database를 설치하자.
     - 그리고 나서 사용할 계정과 데이터베이스를 만들자.

$ apt-get install postgresql

$ su - postgres
$ psql

# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
# \q

$ exit
$ gem install pg



06. ImageMagick

     - rmagick 설치하기

$ apt-get install librmagick-ruby libmagickwand-dev
$ gem install rmagick




07. Redmine

     - 압축파일로 다운로드 받자.

$ cd /srv/install/
$ wget http://rubyforge.org/frs/download.php/76867/redmine-2.3.0.tar.gz
$ tar zxvf  redmine-2.3.0.tar.gz



08. bundler & install

     - 필요한 패키지들을 한 번에 받을 수 있는 놈이 있다.

$ cd redmine-2.3.0
$ gem install bundler

reboot

$ sudo su -
$ cd /srv/install/redmine-2.3.0
$ bundle install --without development test mysql sqlite



09. Apache2 설치

$ apt-get install apache2 apache2-prefork-dev




10. passenger 설치

$ gem install passenger
$ cd /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/
./bin/passenger-install-apache2-module

     - Passenger 모듈을 Apache2에 올리기 위해서는 화면에 나오는 값을 잘 봐야 한다.

$ nano /etc/apache2/mods-available/passenger.conf

<IfModule mod_passenger.c>
   PassengerUser www-data
   PassengerDefaultUser www-data

   PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19
   PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p392/ruby
</IfModule>

$ nano /etc/apache2/mods-available/passenger.load

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/apache2/mod_passenger.so


$ cd /etc/apache2/mods-enabled
ln -s ../mods-available/passenger.conf ./passenger.conf
ln -s ../mods-available/passenger.load ./passenger.load



11. database 설정값 등록

$ cd /srv/install/redmine-2.3.0
$ nano ./config/database.yml

 

production:
        adapter: postgresql
        database: redmine
        host: localhost
        username: redmine
        password: redmine
        encoding: utf8
        schema_search_path: public


     - 주의 사항으로는 위의 파일 내용을 입력할 때에 Tab 말고 White-Space로 입력해야 한다.



12. 추가 작업

$ rake generate_secret_token
$ RAILS_ENV=production rake db:migrate
$ RAILS_ENV=production rake redmine:load_default_data
   → Select language [ko]
$ mkdir public/plugin_assets


   - 권한 설정이 중요하다 !

$ chown -R www-data:www-data files log tmp public
$ chmod -R 755 files log tmp public/plugin_assets
$ chown -R www-data:www-data ./config/database.yml
$ chmod 600 ./config/database.yml



 

13. 웹설정

$ cd /var/www/
$ ln -s /srv/install/redmine-2.3.0/public ./redmine

$ nano /etc/apache2/sites-available/default


<Directory /var/www/redmine>

        RailsBaseURI /redmine
        RackEnv production
        RailsEnv production
        PassengerResolveSymlinksInDocumentRoot on

</Directory>


$ service apache2 restart


여기까지 진행하고 웹브라우저로 http://127.0.0.1/redmine에 접속을 하면 Redmine을 볼 수 있다.

초기 관리자는 admin/admin 이다.
반응형

+ Recent posts