manywaypark's Blog
개발, 검색, 함수

Ubuntu(Debian) package 관리

tips & tricks/Linux/Unix 2013. 10. 4. 10:16 by manywaypark

박스 A에 설치된 package들을 박스 B에도 그대로 적용하고 싶을 때:

설치 패키지 정보 복사 및 설치:

# box A:

$ dpkg --get-selections > selections.txt

$ scp selections.txt foo@boxB:/tmp/

# box B:

$ dpkg --set-selections < /tmp/selections.txt

$ sudo aptitude install                       # 설치

$ sudo apt-get -u dselect-upgrade


위와 같이하면 설치는 되지만, 의존성 관련 정보(사용자가 깔았는지, 의존성때문에 자동으로 깔렸는지) 등은 소실된다.

이 정보의 복구는 다음과 같이 한다.

# box A:

$ apt-mark showauto > pkgs_auto.lst

$ apt-mark showmanual > pkgs_manual.lst

# box B:

$ sudo apt-mark auto $(cat pkgs_auto.list)

$ sudo apt-mark manual $(cat pkgs_manual.list)


ref: http://askubuntu.com/questions/101931/restoring-all-data-and-dependencies-from-dpkg-set-selections


happy hackin'

bakefile 사용하기

tips & tricks/Linux/Unix 2010. 1. 4. 13:01 by manywaypark
bakefile 사이트에 가보면 다 나오지만, 현재 이상한 인증서 만료 에러도 뜨고 해서 여기에 다시 정리한다.

설치:
  1. apt key 추가
    curl http://apt.tt-solutions.com/key.asc | apt-key add -
  2. /etc/apt/sources.list에 다음 라인 추가
    deb http://apt.tt-solutions.com/debian lenny main
  3. 패키지 설치
    apt-get update
    apt-get install bakefile

사용(linux):
bakefile -f gnu -o Makefile foobar.bkl
make

bakefile 형식:
TBD

refs:
  • https://www.bakefile.org/wiki/Debian
happy hackin'
파일이 삼천만개면 너무 많은 건가? --;

파일들의 개수가 많아지면, 참기 힘들 정도로 속도가 저하된다.
apt-get 등으로 정상적인 시스템 관리(package update 등)하기도 너무 느려서 짜증날 정도다.

관리의 편의를 위해 많은 삽질 끝에 자동으로 대량의 데이터 파일들을 .deb 파일로 만들어서 간편하게 설치하는 방식을 현재 진행중인 프로젝트에 적용했으나, 속도 문제로 다른 방법을 찾아야할 듯하다.

예:
# dpkg -r some-pkg
(Reading database ... 36070717 files and directories currently installed.)
Removing some-pkg ...

위에 보이는 패키지 하나 삭제하는 데에 몇십분은 걸리는 듯하다. Orz.

happy hackin'




"apt-get install devscripts build-essential fakeroot" 으로 대충 build에 필요한 기본 패키지들을 깔고,
만약 less를 빌드한다면 다음과 같이 해서 소스 받고 build에 필요한(의존성이 있는) 패키지들을 깔고

~$ apt-get source less
~$ apt-get build-dep less
빌드한다.
~$ cd less-###/
~$ fakeroot ./debian/rules binary

"../less_###_XXX.deb"가 생성된다.

"dpkg -i less_###_XXX.deb" 로 시스템에 설치할 수 있다.

"dpkg-deb -c less_###_XXX.deb" 로 .deb 파일의 내용을 확인할 수도 있다 (다른 사람이 만들어 놓은 .deb 파일을 구했을 때는 한번 해보는 것이 좋을 듯).

참고: http://www.debian-administration.org/articles/20 (약간 오래된 글이라 ./debian/rules를 사용하지 않는 듯하다.)

happy hackin'
방금 KLDP에 Debian Binary Package Building HOWTO 한글 번역을 올렸다.

happy hackin'

1 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

04-26 06:33