Hi All, I was trying to remove Ruby Gems on my lucid distro (ubuntu 10.04). I thought of posting it here for my own reference. Some of you might find useful.

First thing we need to find out is the exact location that the Ruby installs it’s libraries. In the terminal program, You can type the following command to find out the exact location.

ruby -e 'puts $:'

You’ll get list of paths. This is the output that I got in my machine.

/usr/local/lib/site_ruby/1.8
/usr/local/lib/site_ruby/1.8/i486-linux
/usr/local/lib/site_ruby/1.8/i386-linux
/usr/local/lib/site_ruby
/usr/lib/ruby/vendor_ruby/1.8
/usr/lib/ruby/vendor_ruby/1.8/i486-linux
/usr/lib/ruby/vendor_ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i486-linux
/usr/lib/ruby/1.8/i386-linux
.

Next we need to change our directory in to /usr/local/lib/site_ruby/1.8 and type following command to list the files.

ls -la
drwxr-xr-x 5 root root   4096 2009-07-15 12:15 .
drwxr-xr-x 3 root root   4096 2009-07-15 12:14 ..
-rw-r--r-- 1 root root   1415 2009-07-15 12:15 gauntlet_rubygems.rb
drwxrwsr-x 2 root staff  4096 2009-07-15 12:14 i486-linux
drwxr-xr-x 2 root root   4096 2009-07-15 12:15 rbconfig
drwxr-xr-x 6 root root   4096 2009-07-15 12:15 rubygems
-rw-r--r-- 1 root root  29116 2009-07-15 12:15 rubygems.rb
-rw-r--r-- 1 root root    268 2009-07-15 12:15 ubygems.rb

Now we are ready to remove the gems. Type

rm -r rubygems.rb ubygems.rb rubygems

If you wish to remove all gems installed in your computer, first find out the location by executing following commands

which gem gem1.8

Next you can remove them by using following commands. That’s it!

rm -r /usr/local/bin/gem
rm -r /usr/bin/gem1.8

All the best.

[CentOS] Ruby on Rails + Redmine + PostgreSQL

1. Ruby 설치.
yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc


2.  ruby gems 설치
다운로드 : http://rubyforge.org/frs?group_id=126&release_id=37073

# tar xvf rubygems-1.3.5.taz
# cd rubygems-1.3.5
# ruby setup.rb


3. rails 설치.
참고 : http://www.redmine.org/wiki/redmine/RedmineInstall

위 주소에서 요구하는 rails 버전 설치.

# gem install -v=2.2.2 rails --include-dependencies

4. redmine 설치
다운로드 : http://rubyforge.org/frs/?group_id=1850&release_id=34563
or http://www.redmine.org/wiki/redmine/Download

# tar xvf redmine-0.8.7.tar.gz

5. postgresql 설치

# yum install postgresql postgresql-devel
# gem install pg    <-- ruby 와 연결.


6. postgresql 설정
# su - postgres
$ createuser -s -l redmine
$ createdb redmine
$ psql
postgres=# alter user redmine with encrpted password 'redmin';
ALTER ROLE
postgres=# alter database redmine owner to redmine;
ALTER DATABASE
postgres=# \q


7. redmine 환경 설정.

# cd /usr/local/redmin   <- redmin 압축을 푼 디렉토리
# cp config/databases.yml.example config/databases.yml
# vi databases.yml

production 으로 뛰울것이므로 production 만 수정.

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


8. db 복사.
# rake db:migrate RAILS_ENV="production"
# rake redmine:load_default_data RAILS_ENV=”production


9.  서버 실행
# ruby script/server -e production


localhost:3000 으로 뛰워서 뜨면 성공

기본 관리자 계정.
id : admin
pwd : admin

출처 : http://srue.net/

'Dev > RedMine' 카테고리의 다른 글

레드마인 설치하기  (0) 2011.12.07

http://rubyforge.org/frs/download.php/74722/redmine-1.1.3.tar.gz

ruby-1.8.7-p352.tar.gz (ruby 다운로드)
rubygems-1.3.7.tgz (rubygem 다운로드)

<루비 설치>
ruby-1.8.7-p352.tar.gz 압축을 해제
./configure --prefix=/usr/local/ruby
make
make install

vi ~/.bash_profile
path 추가 /usr/local/ruby/bin
source ~/.bash_profile

<루비젬 설치>
cd /rubygems-1.3.7 이동후
ruby setup.rb (rubygem설치)

gem install rails -v=2.3.5
gem install rack -v=1.1.1

gem install -v=0.4.2 i18n
gem install mysql

<mysql 계정 생성>
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';

<redmine datasource 설정>
redmine 경로의 config/database.yml을 열어 DB 접속 정보를 수정한다.
Example for a MySQL database:
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: 패스워드

<디비 복원, 콘텍스트 설정>
레드마인 설치디렉토리로 이동
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

-> 에러나면
gem uninstall rake
gem install rake -v= 0.8.3

DB 스키마 생성후 언어를 물어볼때 ko를 타이핑!

<권한 설정>
mkdir tmp public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets

<WEBrick web server 실행>
ruby script/server webrick -e production

<아파치 연동>
아파치 연동을 하려면 passenger 모듈 설치
gem install passenger
passenger-install-apache2-module

#vi /etc/httpd/conf/httpd.conf를 열어 다음을 추가한다.

LoadModule passenger_module usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.7
PassengerRuby /usr/local/ruby/bin/ruby

'Dev > RedMine' 카테고리의 다른 글

[CentOS] Ruby on Rails + Redmine + PostgreSQL  (1) 2011.12.07
확장자가 "a"인 라이브러리 파일이

SVN에 커밋하거나 임포트할 때 적용이 안된다.

해결을 하기 위하여 터미널에서 아래의 명령어를 활용하면 된다.

 

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo

 

svn add "file" --no-ignore

 

svn status --no-ignore


svn add "library.a" --no-ignore
사용 방법은 아래 링크를 활용하세요
출처 : http://blog.naver.com/rich_happy/30124595833

'Dev > SVN' 카테고리의 다른 글

svnsync 명령을 이용해 SVN mirroring 하기  (0) 2013.01.02
using svnsync  (0) 2013.01.02

Examples Using the VMware Virtual Disk Manager

The following examples illustrate how to use the virtual disk manager. You run the virtual disk manager from a command prompt.

Creating a Virtual Disk

To create a new virtual disk, use a command like the following:

vmware-vdiskmanager -c -t 0 -s 40GB -a ide myDisk.vmdk

This creates a 40GB IDE virtual disk named myDisk.vmdk. The virtual disk is contained in a single .vmdk file. The disk space is not preallocated.

Converting a Virtual Disk

To convert a virtual disk from preallocated to growable, use a command like the following:

vmware-vdiskmanager -r sourceDisk.vmdk -t 0 targetDisk.vmdk

This converts the disk from its original preallocated type to a growable virtual disk consisting of a single virtual disk file. The virtual disk space is no longer preallocated, and the virtual disk manager reclaims some disk space in the virtual disk so it is only as large as the data contained within it.

Expand the Size of an Existing Virtual Disk

To expand the size of a virtual disk, use a command like the following:

vmware-vdiskmanager -x 40GB myDisk.vmdk

This increases the maximum capacity of the virtual disk to 40GB.

Renaming a Virtual Disk

To rename a virtual disk, first remove it from any virtual machine that contains the disk (choose VM > Settings > <virtualdisk>, then click Remove).

Then use the following:

vmware-vdiskmanager -n myDisk.vmdk myNewDisk.vmdk

To rename the disk and locate it in a different directory, use:

vmware-vdiskmanager -n myDisk.vmdk ..\<new>\<path>\myNewDisk.vmdk

Note: The paths used in these examples assume a Windows host.

To locate the disk in a different directory but keep the same name, use:

vmware-vdiskmanager -n myDisk.vmdk ..\<new>\<path>\myDisk.vmdk

After you rename or relocate the virtual disk, add it back to any virtual machines that use it. Choose VM > Settings, click Add, then follow the wizard to add this existing virtual disk.

Defragmenting a Virtual Disk

To defragment a virtual disk, use a command like the following:

vmware-vdiskmanager -d myDisk.vmdk

Remember, you cannot defragment a virtual disk if you allocated all the disk space when you created the virtual disk. You cannot defragment a physical disk.

Preparing a Virtual Disk for Shrinking

Before you can shrink a virtual disk, you must prepare each volume on the disk (C: or D:, for example) for shrinking. To prepare a volume, it must be located on a Windows host. First you must mount the volume. To mount the volume, use the VMware DiskMount Utility, available as a free download from the VMware Web site. For information about downloading and using VMware DiskMount, see Shrinking Virtual Disks with VMware Virtual Disk Manager.

VMware DiskMount mounts individual volumes of a virtual disk. For the best results when you shrink a virtual disk, you should mount all the volumes and shrink them.

After you mount a virtual disk volume, use the virtual disk manager to prepare the disk for shrinking. To prepare the volume mounted as the M: drive for shrinking, use the following command:

vmware-vdiskmanager -p M:

Once the preparations are complete, unmount the volume. Repeat this process for each volume of the virtual disk. After you prepare all the volumes for shrinking, you can shrink the virtual disk.

Shrinking a Virtual Disk

To shrink a virtual disk, it must be located on a Windows host. Before you can shrink the virtual disk, make sure you prepare all the volumes of the virtual disk for shrinking. Then use a command like the following:

vmware-vdiskmanager -k myDisk.vmdk

Remember, you cannot shrink a virtual disk if you allocated all the disk space when you created the virtual disk. You cannot shrink a physical (raw) disk.

If the virtual disk has a snapshot, you cannot shrink the virtual disk. You must remove the snapshot before you shrink the virtual disk.

'virtualization > vmware' 카테고리의 다른 글

vmware server manual  (0) 2011.12.14

1. 문장 끝에 ; 대신 \G 를 사용하면 결과를 세로로 볼 수 있다.
2. select  문장 앞에 explain  키워드를 사용하면  플랜을 볼 수 있다.
explain
select * from User \G 

I. plan 결과 설명
    ※ http://dev.mysql.com/doc/refman/5.5/en/using-explain.html

    1. select_type 값
        - SIMPLE
           . 평범한 SELECT 문장
        - PRIMARY
           . 하위 쿼리나  UNION을 사용할 때 외부(첫 번째) 쿼리
        - UNION
           . UNION 두 번째나 다음 번 쿼리
        - DEPENDENT UNION
           . UNION에서 첫 번째 쿼리에 따른 두 번째나 다음 번 쿼리
        - UNION RESULT
           . UNION 겨로가
        - SUBQUERY
           . 내부 하위 쿼리
        - DEPENDENT SUBQUERY
           . 첫 번째 쿼리에 따른 내부 하위 쿼리(즉, 상관 하위 쿼리)
        - DERIVED
           . FROM 절에서 사용한 하위 쿼리
        - UNCACHEABLE SUBQUERY
           . 그 결과가 캐쉬될 수 없으며 각 행마다 다시 계산되어야 하는 하위 쿼리
        - UNCACHEABLE UNION
           . UNCACHEABLE SUBQUERY에 속한 UNION에서 두 번째나 그 이후의 SELECT

    2. table
        - 쿼리에 응답하는 테이블 명

    3. type
        - 쿼리에서 테이블이 어떻게 조인되는지 설명
        - const 또는 system
           . 테이블이 한 번만 읽어온다. 테이블에 row가 단 하나만 있을 때 일어날 수 있다.
        - eq_ref
           . 조인하는 테이블에서 row 집합을 읽어올 때마다 이 테이블에서 한 row씩 읽는다.
             테이블의 인덱스를 사용할 때 조인이 사용되며 인덱스는 UNIQUE하거나 기본 키이다.
        - fulltext
           . fulltext 인덱스를 사용하여 조인한다.
        - ref
           . 조인하는 테이블에서 row 집합을 읽어올 때마다 이 테이블에서 대응되는 row 집합을 읽어온다.
             조인 조건에 따라서는 한 행만 선택할 수 없을 때, 조인에서 키의 일부분만이 사용되었을 때,
             혹은 키가 UNIQUE 하지 않거나 기본 키가 아닐 때
        - ref_or_null
           . ref 쿼리와 비슷하지만 NULL 인 row 도 찾아본다. (하위 쿼리에서 가장 많이 사용된다)
        - index_merge
           . Index Merge 라는 특별한 최적화 기법이 사용되었다.
        - unique_subquery
           . 유일한 한 줄이 리턴될 때 IN 하위 쿼리에서 ref를 대신하여 사용할 수 있다.
        - index_subquery
           . unique_subquery 와 비숫하지만 인덱스된 유일하지 않은 하위 쿼리에서 사용한다.
        - range
           . 조인하는 테이블에서 row 집합마다 이 테이블 중 특정 범위에 들어가는 row들을 읽어온다.
        - index
           . 모든 인덱스를 읽는다.
        - ALL
           . 이 테이블의 모든 행을 읽는다.

    4. rows
        - 조인을 실행하기 위해 테이블마다 읽어야 하는 row의 수를 대충 계산
          쿼리가 사용하는 총 row의 수를 얻기 위해서는 값들을 곱해야 한다.

    5. possible_keys
        - 테이블을 조인하기 위해 사용할 수 있는 키
        - PRIMARY 는 테이블마다 일반적으로 있기 때문에 대부분 나온다. 

    6. key
        - row 을 조인할 때 실제로 사용하고 있는 키
        - NULL 은 키를 사용하고 있지 않다는 뜻이다.

    7. key_len
        - 사용된 키의 길이를 나타낸다.

    8. ref
        - 테이블에서 row를 선택할 때 사용한 키를 나타낸다.

    9. Extra
        - 어떻게 조인을 실행하는가에 대한 정보
        - Distinct
           . 처음으로 일치하는 줄이 발견되면 끝난다.
        - Not exists
           . LEFT JOIN 을 사용하여 쿼리가 최적화되어 있다.
        - Range checked for each record
           . 조인하는 테이블에서 row 집합을 읽어올 때마다 사용할 수 있는 인덱스를 찾는다.
        - Using filesort
           . 테이터를 정렬하려면 두 번 읽어야 한다. (따라서 시간도 두 배 걸린다)
        - Using index
           . 테이블에 있는 모든 정보를 인덱스에서 얻어왔다. 따라서 실제 row는 읽지 않았다.
        - Using join buffer
           . 조인 버퍼를 사용하여 테이블을 부분적으로 읽어 들인다. 그 후 쿼리를 수행할 때 버퍼에서 각 행을 추출한다.
        - Using temporary
           . 이 쿼리를 실행하는 동안 임시 테이블을 사용하였다.
        - Using where
           . 행을 선택하는 데 where 절을 사용하였다.

II. sql 쿼리 튜닝
    1. 조인 최적화를 위해 키 분배를 검사
        - myisamchk 유틸리티 사용
            #>myisamchk --analyze <pathtomysqldatabase/table명>
            #>myisamchk --analyze <pathtomysqldatabase/*.MYI>
            #>myisamchk --analyze <pathtomysqldatadirectory/*/*.MYI>
        - Analyze Table 문을 사용
            sql>analyze table customers, orders, order_items, books;

    2. 테이블 최적화
        - 테이블의 단편화를 없앤다.
            sql>optimize table <table명>;
            #>myisamchk -r table
        - 테이블의 인덱스를 정렬하고 인덱스에 맞게 데이터를 재배치 한다.
            #>myisamchk --sort-index --sort-records=1 <pathtomysqldatadirectory/*/*.MYI>


쓴이 : 카폐인(nonots@hanmail.net)
쓴때 : 2009-04-02 나른한 오후
도움 : 바다웹호스팅 http://www.badaweb.co.kr

1. 개요

phpmyadmin 은 많이 쓰지만 거기 있는 고급 기능들은
대부분 거의 안써왔는데.. 얼마전 한 고객이 DB ERD 구조도
보내 달라고 해서 귀찮았던 적이 있다.
원격 DB 서버를 일반적인 ERD 툴로 접속하려면 포트, 아이피 열어주고
방화벽 열어주고.. 귀찮은데.. phpmyadmin 에서 웹모드로 DB Designer
를 구현해 놓아서 편리하다.
..
어제 하루종일 인터넷 검색해봐도 허탕이었는데..
등잔밑이 어두웠다..



2. 미리 할 일

1) phpmyadmin 최신버전 설치한다. 2.5 버전 이상에서 가능하다는데
이왕이면 http://phpmyadmin.net 에서 현재 최신버전 3.1.3 이상을 다운받아 압축풀고
설치한다.


2) scripts/create_tables.sql 파일로 db 와 테이블을 생성한다.
이부분이 중요하다. 고급기능을 위해 필요한 정보를 별도 테이블에 저장해야한다.
이 파일을 보면 phpmyadmin 라는 DB 를 만들고 테이블 여러개를 생성한다.

mysql -uroot -proot_pwd < scripts/create_tables.sql

명령어로 밀어 넣은뒤, 이 DB 에 접근할 사용자
예를 들어, pma 를 추가한후 phpmyadmin 에 접근 권한을 준다.

GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO 'pma'@localhost;


3) config.sample.inc.php 파일을 config.inc.php 로 복사한다.
일반적으로 설치하듯이 직관적으로 세팅한다.
이 파일 마지막 부분에 주석처리된 아래 부분 주석 풀어준다.

....
$cfg['Servers'][$i]['controluser'] = 'pma'; // phpmyadmin DB 에 grant 된 사용자
$cfg['Servers'][$i]['controlpass'] = 'kw1934';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // 사용할 DB, 변경가능할듯
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
....

만약 DB 에 root 권한이 없다면 phpmyadmin 이라는 DB 를 별도 생성을 못하니까,
자신의 DB 로 막바로 해도 될꺼다.
그리고 controluser, controlpass 부분도 db 사용자 와 같게 하면 될꺼 같다.
안해 봐서 모름.


4) 웹브라우저로 설치된 phpmyadmin 에 접속한후 왼쪽 메뉴에서 DB 명 하나를 클릭한 후
오른쪽 본문 상단에 보면 "Designer" 라는 메뉴가 보인다. 클릭하면 된다.
직관적으로 사용하면 된다.
결과를 PDF 파일로 저장도 된다는데 해보지는 않았음.



3. 마무리

오래전에 phpdbdesigner 라는 게 있었는데 더이상 개발이 안되어서 관심을 가지지 않았는데
알고보니 그 기능이 phpmyadmin 에 흡수되었더군요.
..
eyeOS 1.8.5 로 버전업하면서..
웹브라우저로 참 많은짓을 하는구나.. 하는 생각을..
..
나른한 오후.. 졸린다..
..
아참.. php, mysql 옛날버전(?)은 잘 안될겁니다.
#####################################################
## 쓴이 : 카폐인(nonots@hanmail.net)
## 쓴때 : 2009-04-02 나른한 오후
## 도움 : 바다웹호스팅 http://www.badaweb.co.kr
## 제목 : phpMyAdmin 에서 DB Designer 기능 사용하기
#####################################################

1. 개요

phpmyadmin 은 많이 쓰지만 거기 있는 고급 기능들은
대부분 거의 안써왔는데.. 얼마전 한 고객이 DB ERD 구조도
보내 달라고 해서 귀찮았던 적이 있다.
원격 DB 서버를 일반적인 ERD 툴로 접속하려면 포트, 아이피 열어주고
방화벽 열어주고.. 귀찮은데.. phpmyadmin 에서 웹모드로 DB Designer
를 구현해 놓아서 편리하다.
..
어제 하루종일 인터넷 검색해봐도 허탕이었는데..
등잔밑이 어두웠다..



2. 미리 할 일

1) phpmyadmin 최신버전 설치한다. 2.5 버전 이상에서 가능하다는데
이왕이면 http://phpmyadmin.net 에서 현재 최신버전 3.1.3 이상을 다운받아 압축풀고
설치한다.


2) scripts/create_tables.sql 파일로 db 와 테이블을 생성한다.
이부분이 중요하다. 고급기능을 위해 필요한 정보를 별도 테이블에 저장해야한다.
이 파일을 보면 phpmyadmin 라는 DB 를 만들고 테이블 여러개를 생성한다.

mysql -uroot -proot_pwd < scripts/create_tables.sql

명령어로 밀어 넣은뒤, 이 DB 에 접근할 사용자
예를 들어, pma 를 추가한후 phpmyadmin 에 접근 권한을 준다.

GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO 'pma'@localhost;


3) config.sample.inc.php 파일을 config.inc.php 로 복사한다.
일반적으로 설치하듯이 직관적으로 세팅한다.
이 파일 마지막 부분에 주석처리된 아래 부분 주석 풀어준다.

....
$cfg['Servers'][$i]['controluser'] = 'pma'; // phpmyadmin DB 에 grant 된 사용자
$cfg['Servers'][$i]['controlpass'] = 'kw1934';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // 사용할 DB, 변경가능할듯
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
....

만약 DB 에 root 권한이 없다면 phpmyadmin 이라는 DB 를 별도 생성을 못하니까,
자신의 DB 로 막바로 해도 될꺼다.
그리고 controluser, controlpass 부분도 db 사용자 와 같게 하면 될꺼 같다.
안해 봐서 모름.


4) 웹브라우저로 설치된 phpmyadmin 에 접속한후 왼쪽 메뉴에서 DB 명 하나를 클릭한 후
오른쪽 본문 상단에 보면 "Designer" 라는 메뉴가 보인다. 클릭하면 된다.
직관적으로 사용하면 된다.
결과를 PDF 파일로 저장도 된다는데 해보지는 않았음.



3. 마무리

오래전에 phpdbdesigner 라는 게 있었는데 더이상 개발이 안되어서 관심을 가지지 않았는데
알고보니 그 기능이 phpmyadmin 에 흡수되었더군요.
..
eyeOS 1.8.5 로 버전업하면서..
웹브라우저로 참 많은짓을 하는구나.. 하는 생각을..
..
나른한 오후.. 졸린다..
..
아참.. php, mysql 옛날버전(?)은 잘 안될겁니다.

+ Recent posts