¸®´ª½º °ü·Ã °Á¶õ |
---|
Á¦¸ñ | RPM ¸¸µé±â #2 1998/05/08 (10:15) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 26 |
Á¶È¸ | 297 |
º»¹® |
¿¹¸¦ µé¸é %install cd src make SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install # For some reason this doesn't want to make install properly sometimes make -C interfaces/libpgtcl SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install make -C interfaces/libpq++ SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install # make -C bin/pgtclsh SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install install -m755 bin/pgaccess/pgaccess.tcl /usr/bin/pgaccess install -m 0644 $RPM_SOURCE_DIR/postgresql /etc/sysconfig/postgresql install -m 0755 $RPM_SOURCE_DIR/postgres.init /etc/rc.d/init.d/postgres.init install -m 0755 $RPM_SOURCE_DIR/postgresql.sh /etc/profile.d/postgresql.sh for I in 0 1 2 6; do ln -sf ../init.d/postgres.init /etc/rc.d/rc$I.d/K10postgres done for I in 3 5; do ln -sf ../init.d/postgres.init /etc/rc.d/rc$I.d/S90postgres done strip /usr/bin/postgres /usr/bin/postmaster /usr/bin/pg_id \ /usr/bin/pg_version /usr/bin/psql /usr/bin/pg_dump \ /usr/bin/pg_dumpall /usr/bin/cleardbdir /usr/bin/createdb \ /usr/bin/createuser /usr/bin/destroydb /usr/bin/destroyuser \ /usr/bin/initdb || : mkdir -p /var/lib/postgresql/data chown -R pgsql.pgsql /var/lib/postgresql chmod -R a-rwx,u=rwX /var/lib/postgresql ln -sf libpq.so.1 /usr/lib/libpq.so sh $RPM_SOURCE_DIR/initdb.sh chmod -R go-rwx /var/lib/postgresql # perl5 interface cd interfaces/perl5/ make install cp README ../../../README.perl5 # JDBC interface cd ../jdbc/ mkdir -p /usr/share/java/ cp postgresql.jar /usr/share/java/ cp README ../../../README.JDBC # contrib cd ../../.. mkdir -p /usr/share/postgresql/ tar cf - contrib | (cd /usr/share/postgresql/; tar xf -) ¾Æ¸¶ ¿©±â±îÁö º¸½Å ºÐµéÁß¿¡ Æ÷±âÇÏ´Â ºÐµéµµ ÀÖÀ» °Ì´Ï´Ù. ±×¸¸Å °£´ÜÇÑ ¹®Á¦´Â ¾Æ´Ï¶ó´Â ¾ê±âÀÔ´Ï´Ù. %clean ¸» ±×´ë·Î, ÀνºÅç±îÁö ¸ðµÎ ¸¶ÃÆÀ¸¸é ÄÄÆÄÀÏÇÑ ¼Ò½º¸¦ Á¦°ÅÇ϶ó´Â ¸í·ÉÀÔ´Ï´Ù. Áï /usr/src/redhat/BUILD¿¡ Ç®·ÁÁø ¼Ò½ºÆÄÀϵéÀ» ±ú²ýÇÏ°Ô Áö ¿ö¹ö¸³´Ï´Ù. %post [ÆÐÅ°Áö¸í] ÆÐÅ°Áö¸¦ ÀνºÅç(¾÷±×·¹À̵å)ÇÑ ÈÄ¿¡ ½ÇÇàÇÏ´Â ¸í·ÉÀ» ³ª ¿ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é %post devel ldconfig ¶ó°í Çß´Ù¸é, ÆÐÅ°Áö¸¦ ÀνºÅçÈÄ¿¡ ldconfig¶ó´Â ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù. %unpost ÆÐÅ°Áö¸¦ Áö¿î´ÙÀ½ ½ÇÇàÇÏ´Â ¸í·ÉÀÔ´Ï´Ù. %files [ÆÐÅ°Áö ¸í] ¾Æ¸¶ °¡Àå ±ÍÂúÀº ºÎºÐÁßÀÇ Çϳª°¡ µÇ´Â ¹®ÀåÀÏ °ÍÀÔ´Ï ´Ù. ¿Ö³Ä±¸¿ä? ±× ¿¹¸¦ º¸ÁÒ. %files devel /usr/include/postgres /usr/man/man3/catalogs.3 /usr/man/man3/libpq.3 /usr/man/man3/libpq++.3 /usr/man/man3/pgbuiltin.3 /usr/man/man3/large_objects.3 /usr/man/man3/oracle_compat.3 /usr/lib/libpq.a /usr/lib/libpgtcl.a /usr/lib/libpq++.a %files perl5 %dir /usr/lib/perl5/site_perl/i386-linux/auto/Pg /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.bs /usr/lib/perl5/site_perl/i386-linux/auto/Pg/.packlist %dir /usr/lib/perl5/site_perl/auto/Pg /usr/lib/perl5/site_perl/auto/Pg/autosplit.ix /usr/lib/perl5/site_perl/Pg.pm /usr/lib/perl5/man/man3/Pg.3 À§ÀÇ ³»¿ë°ú °°ÀÌ »ç¿ëµÉ¼ö Àִµ¥, ¿©±â¼´Â ÆÐÅ°Áö¾È¿¡ µé¾î°¥ ÆÄÀϵéÀ» ³ª¿ÇÏ¸é µË´Ï´Ù. <Âü°í ½ÃÀÛ> ¸¸¾à¿¡ ¿©·¯ºÐµéÀÌ specÆÄÀÏÀ» ¸¸µé¶§ BuildRoot:¶ó´Â Çʵ带 »ç¿ëÇÏ¿´´Ù ¸é rpmÀº BuildRoot:·Î Á¤ÀÇµÈ °æ·Î¸¦ '/'·Î ÀνÄÇÏ¿© À§ÀÇ ÆÄÀϵéÀ» ã À» °Ì´Ï´Ù. <Âü°í ³¡> BuildRoot¸¦ »ç¿ëÇÏ¿´´Ù¸é %install °úÁ¤¿¡¼ ÆÄÀϵéÀ» $RPM_BUILD_ROOTÀÇ È¯°æº¯¼ö¸¦ »ç¿ëÇÏ¿© ÆÐÅ°Áö¸¦ BuildRoot:·Î Á¤ÀÇµÈ ÇÏÀ§ µð·ºÅ丮·Î Àνº ÅçÇϱ⠹ٶø´Ï´Ù. ±×¸®°í ¿©±â¼ ºÎ¼öÀûÀ¸·Î »ç¿ëµÇ´Â ¸í·ÉÀÌ Àִµ¥ ¹Ù·Î %doc ÀÔ´Ï´Ù. ÀÌ´Â ÆÐÅ°ÁöÀÇ ¹®¼ ÆÄÀÏÀ» Á¤ÀÇÇÏ´Â ºÎºÐÀε¥ ÀÌ·¸°Ô Á¤ÀÇµÈ ÆÄÀÏÀº /usr/doc/NAME-VERSION-REVERSION¾È¿¡ ÀνºÅçµË´Ï´Ù. ÀÌ ¿Ü¿¡ %config¶ó´Â °Íµµ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ÆÐÅ°ÁöÀÇ È¯°æ ¼³Á¤ ÆÄÀÏÀ» Áö Á¤ÇÏ´Â ºÎºÐÀε¥ %config·Î Á¤ÀÇµÈ ÆÄÀÏÀº ÀνºÅç ½Ã¿¡¸¸ ÆÄÀÏÀÌ ÀνºÅçµÇ °Ô Çϸç, ¾÷±×·¹À̵å½Ã´Â ¹«½ÃÇÏ°Ô µË´Ï´Ù. ¸¶Áö¸·À¸·Î %dirÀº µð·ºÅ丮¶ó´Â °ÍÀ» ³ªÅ¸³»´Â ¸í·ÉÀÔ´Ï´Ù. ±×·¯¸é %config¿Í %docÀÇ »ç¿ë¿¹¸¦ º¾½Ã´Ù. %doc COPYRIGHT HISTORY INSTALL README doc migration %config /etc/rc.d/init.d/postgres.init ÀÚ ±×·¯¸é ÀÌÁ¦²¯ ¾Ë¾Æº» ¸í·ÉÀ» »ç¿ëÇÏ¿© ¸¸µç ÀüüÀûÀÎ specÆÄÀÏÀ» º¸±â ·Î ÇսôÙ. ¾Æ¸¶ ±×·¸°Ô °£´ÜÇÏÁö´Â ¾ÊÀ» °Ì´Ï´Ù. Summary: Relational Data Base Management System(2Byte Patch Version) Name: postgresql Version: 6.2.1 Release: 3J Source0: ftp://ftp.postgresql.org/pub/postgresql-%{PACKAGE_VERSION}.tar.gz Source1: postgres.init Source2: postgresql Source3: postgresql.sh Source4: initdb.sh Source5: README-6.2.1 Source6: README Source7: README.jp Source8: PST8PDT.redhat Source9: Makefile.custom URL: http://www.postgresql.org/ Patch: postgresql-6.2-1.patch Patch1: postgresql-6.2-2.patch Patch2: postgresql-6.2-shlib.patch Patch3: postgresql-6.2.1.tutorial.patch Patch4: v6.2.1_p1 Patch5: v6.2.1_p2 Patch6: v6.2.1_p3 Patch7: 6.2.1jpPL1.patch Patch8: Makefile.patch Patch9: pqcomm.patch Group: Applications/Databases Copyright: Copyright (c) 1994-6 Regents of the University of California, \ distributable %package devel Summary: Libraries/header files for developing Postgresql applications Group: Development/Libraries Requires: postgresql = %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} %description devel This package includes the libraries and header files necessary to develop postgresql applications in C. # when building from sources, remember to remove older versions of PG # libraries lying around -- otherwise it won't build. %package perl5 Summary: Perl interface module for PostgreSQL Group: Development/Libraries/Perl Requires: postgresql = %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} Requires: perl >= 5.002 %description perl5 This is version 1.6.3 of pgsql_perl5 (previously called pg95perl5). Pgsql_perl5 is an interface between Larry Wall's language perl version 5 and the database PostgreSQL (previously Postgres95). This has been done by using the Perl5 application programming interface for C extensions which calls the Postgres programmer's interface LIBPQ. Pgsql_perl5 tries to implement the LIBPQ-interface as close as possible. You have the choice between two different interfaces: the old C-style like interface and a new one, using a more Perl-ish like style. The old style has the benefit, that existing Libpq applications can easily be ported to perl. The new style uses class packages and might be more familiar for C++- programmers. %package jdbc Summary: Java JDBC interface module for PostgreSQL Group: Development/Libraries/Java Requires: postgresql >= 6.2, jdk >= 1.1 %description jdbc Java ARchive (.jar) of the Java database interface driver for PostgreSQL. This is a JDBC driver to interface Java applications to the PostgreSQL Data Base Management System (formerly known as Postgres, then as Postgres95). This driver will work on ALL platforms that support the JDK 1.1 api or\ later. %package contrib Summary: Group: Development/Libraries %description contrib The unmodified contrib directory of the PostgreSQL source distribution. %package pgaccess Summary: Graphical user interface program for PostgreSQL Url: http://www.flex.ro/pgaccess Group: Applications/Databases AutoReqProv: no Requires: postgresql, tcl >= 7.6, tk >= 4.2 %description pgaccess This is version 0.61 (14 October 1997) of pgaccess. pgaccess is written in Tcl/Tk by Constantin Teodorescu <teo@flex.ro>, and consist in a graphical interface for PostgreSQL where you can manage your tables, edit them, define queries, sequences and functions. %description PostgreSQL Data Base Management System (formerly known as Postgres, then as Postgres95). This rpm contains the version 6.2 release of the PostgreSQL database server. The server is not ANSI SQL compliant, but it gets closer with every release. WARNING: If you are upgrading an existing system then back up your database. The database format is liable to change every few weeks with no notice besides a quick comment in the HACKERS mailing list. It is therefore a bad idea to skip this step. Have a look at the INSTALL file for instructions. If you rebuild the source rpm you should deinstall postgresql first and make sure there is no /var/lib/postgresql directory. (built with flex-2.5.4, see README.flex) %prep %setup %patch -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p0 %patch5 -p0 %patch6 -p0 %patch7 -p1 %patch8 -p1 %patch9 -p1 %build cd src # # 2Byte Makefile.custom cp -f $RPM_SOURCE_DIR/Makefile.custom \ $RPM_BUILD_DIR/postgresql-6.2.1/src/ # # Configure echo -e '\n' | ./configure --prefix=/usr --with-template=linux-elf \ --includedir=/usr/include/postgres --enable-hba --enable-locale \ --host=${RPM_ARCH}-redhat-linux-gnu # # Make make HEADERDIR=/usr/include/postgres SRCDIR="`pwd`" \ DATADIR=/var/lib/postgresql # # perl5 interface ln -s libpq lib cd interfaces/perl5/ sh -c "export POSTGRESBUILDDIR=\"`pwd`/../..\"; perl Makefile.PL; make \ OPTIMIZE=\"${RPM_OPT_FLAGS}\"" # JDBC interface cd ../jdbc/ make %install cd src make SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install # For some reason this doesn't want to make install properly sometimes make -C interfaces/libpgtcl SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install make -C interfaces/libpq++ SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install # make -C bin/pgtclsh SRCDIR="`pwd`" DATADIR=/var/lib/postgresql \ HEADERDIR=/usr/include/postgres install install -m755 bin/pgaccess/pgaccess.tcl /usr/bin/pgaccess install -m 0644 $RPM_SOURCE_DIR/postgresql /etc/sysconfig/postgresql install -m 0755 $RPM_SOURCE_DIR/postgres.init /etc/rc.d/init.d/postgres.init install -m 0755 $RPM_SOURCE_DIR/postgresql.sh /etc/profile.d/postgresql.sh for I in 0 1 2 6; do ln -sf ../init.d/postgres.init /etc/rc.d/rc$I.d/K10postgres done for I in 3 5; do ln -sf ../init.d/postgres.init /etc/rc.d/rc$I.d/S90postgres done strip /usr/bin/postgres /usr/bin/postmaster /usr/bin/pg_id \ /usr/bin/pg_version /usr/bin/psql /usr/bin/pg_dump \ /usr/bin/pg_dumpall /usr/bin/cleardbdir /usr/bin/createdb \ /usr/bin/createuser /usr/bin/destroydb /usr/bin/destroyuser \ /usr/bin/initdb || : mkdir -p /var/lib/postgresql/data chown -R pgsql.pgsql /var/lib/postgresql chmod -R a-rwx,u=rwX /var/lib/postgresql ln -sf libpq.so.1 /usr/lib/libpq.so sh $RPM_SOURCE_DIR/initdb.sh chmod -R go-rwx /var/lib/postgresql # perl5 interface cd interfaces/perl5/ make install cp README ../../../README.perl5 # JDBC interface cd ../jdbc/ mkdir -p /usr/share/java/ cp postgresql.jar /usr/share/java/ cp README ../../../README.JDBC # contrib cd ../../.. mkdir -p /usr/share/postgresql/ tar cf - contrib | (cd /usr/share/postgresql/; tar xf -) %files %doc COPYRIGHT HISTORY INSTALL README doc migration %config /etc/rc.d/init.d/postgres.init /etc/rc.d/rc3.d/S90postgres /etc/rc.d/rc5.d/S90postgres /etc/rc.d/rc0.d/K10postgres /etc/rc.d/rc1.d/K10postgres /etc/rc.d/rc2.d/K10postgres /etc/rc.d/rc6.d/K10postgres /etc/profile.d/postgresql.sh /etc/sysconfig/postgresql /var/lib/postgresql /usr/bin/postgres /usr/bin/postmaster /usr/bin/pg_id /usr/bin/pg_version /usr/bin/pg_passwd /usr/bin/psql /usr/bin/pg_dumpall /usr/bin/cleardbdir /usr/bin/createdb /usr/bin/createuser /usr/bin/destroydb /usr/bin/destroyuser /usr/bin/initdb /usr/bin/pgtclsh /usr/bin/pgtksh /usr/man/man1/cleardbdir.1 /usr/man/man1/createdb.1 /usr/man/man1/createuser.1 /usr/man/man1/destroydb.1 /usr/man/man1/destroyuser.1 /usr/man/man1/initdb.1 /usr/man/man1/ipcclean.1 /usr/man/man1/monitor.1 /usr/man/man1/pg_dump.1 /usr/man/man1/pg_dumpall.1 /usr/man/man1/pg_passwd.1 /usr/man/man1/pgintro.1 /usr/man/man1/postgres.1 /usr/man/man1/postmaster.1 /usr/man/man1/psql.1 /usr/man/man5/bki.5 /usr/man/man5/page.5 /usr/man/man5/pg_hba.conf.5 /usr/man/manl/abort.l /usr/man/manl/alter_table.l /usr/man/manl/begin.l /usr/man/manl/close.l /usr/man/manl/cluster.l /usr/man/manl/commit.l /usr/man/manl/copy.l /usr/man/manl/create_aggregate.l /usr/man/manl/create_database.l /usr/man/manl/create_function.l /usr/man/manl/create_index.l /usr/man/manl/create_operator.l /usr/man/manl/create_rule.l /usr/man/manl/create_sequence.l /usr/man/manl/create_table.l /usr/man/manl/create_trigger.l /usr/man/manl/create_type.l /usr/man/manl/create_version.l /usr/man/manl/create_view.l /usr/man/manl/declare.l /usr/man/manl/delete.l /usr/man/manl/drop.l /usr/man/manl/drop_aggregate.l /usr/man/manl/drop_database.l /usr/man/manl/drop_function.l /usr/man/manl/drop_index.l /usr/man/manl/drop_operator.l /usr/man/manl/drop_rule.l /usr/man/manl/drop_sequence.l /usr/man/manl/drop_trigger.l /usr/man/manl/drop_table.l /usr/man/manl/drop_type.l /usr/man/manl/drop_view.l /usr/man/manl/end.l /usr/man/manl/explain.l /usr/man/manl/fetch.l /usr/man/manl/grant.l /usr/man/manl/insert.l /usr/man/manl/listen.l /usr/man/manl/load.l /usr/man/manl/move.l /usr/man/manl/notify.l /usr/man/manl/purge.l /usr/man/manl/rename.l /usr/man/manl/reset.l /usr/man/manl/revoke.l /usr/man/manl/rollback.l /usr/man/manl/select.l /usr/man/manl/set.l /usr/man/manl/show.l /usr/man/manl/sql.l /usr/man/manl/update.l /usr/man/manl/vacuum.l /usr/lib/libpgtcl.so.1 /usr/lib/libpq.so /usr/lib/libpq.so.1 /usr/lib/libpgtcl.so %files devel /usr/include/postgres /usr/man/man3/catalogs.3 /usr/man/man3/libpq.3 /usr/man/man3/libpq++.3 /usr/man/man3/pgbuiltin.3 /usr/man/man3/large_objects.3 /usr/man/man3/oracle_compat.3 /usr/lib/libpq.a /usr/lib/libpgtcl.a /usr/lib/libpq++.a %files perl5 %dir /usr/lib/perl5/site_perl/i386-linux/auto/Pg /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.bs /usr/lib/perl5/site_perl/i386-linux/auto/Pg/.packlist %dir /usr/lib/perl5/site_perl/auto/Pg /usr/lib/perl5/site_perl/auto/Pg/autosplit.ix /usr/lib/perl5/site_perl/Pg.pm /usr/lib/perl5/man/man3/Pg.3 %files jdbc /usr/share/java/postgresql.jar %files contrib /usr/share/postgresql/contrib %files pgaccess /usr/bin/pgaccess Á¤¸» ±æÁÒ? ±×·¯¸é ÀÌ·¸°Ô ¸¸µé¾îÁø ÆÄÀÏÀ» ÄÄÆÄÀÏ(¾ö¹ÐÈ÷ ¸»Çϸé build) Çغ¸±â·Î ÇսôÙ. <Âü°í ½ÃÀÛ> À§ ÆÄÀÏÀ» È®ÀåÀÚ¸¦ specÀ¸·Î Çؼ ÀúÀåÇÏ¸é µË´Ï´Ù. ÆÄÀÏ À̸§°ú ¹öÀüÀ¸ ·Î º¸¾Æ Àüü ÆÄÀÏÀ̸§À» postgresql-6.2.1.spec¶ó°í ÇÏ¸é µÇ°Ú±º¿ä. ÀÌ ÆÄ ÀÏÀº SPECS¶ó´Â µð·ºÅ丮¿¡ ÀúÀåÇÏ¸é µË´Ï´Ù. <Âü°í ³¡> # rpm -ba postgresql-6.2.1.spec [Enter] ÆÄÀϵéÀÇ ¾ÐÃàÀ» Ç®°í, ÆÐÄ¡¸¦ ÇÏ°í.. ÄÄÆÄÀÏ.. ÀνºÅçÇÏ°í.. ¸¶Áö¸·À¸·Î ÆÐŰ¡À» ÇÏ°Ô µË´Ï´Ù. ¿©±â¼ »ç¿ëµÈ "b" ¿É¼ÇÀÌ specÆÄÀÏÀ» buildÇ϶ó´Â ¸í·ÉÀε¥ ºÎ¼öÀûÀ¸·Î »ç ¿ëµÉ¼ö ÀÖ´Â ¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù. p ¼Ò½ºÀÇ ¾ÐÃàÀ» Ç®°í ÆÐÄ¡ÇÏ´Â °úÁ¤±îÁö¸¸ ¼öÇàÇϵµ·Ï ÇÕ´Ï´Ù. l %files·Î Á¤ÀÇµÈ ÆÄÀϵéÀ» °Ë»çÇÕ´Ï´Ù. c ÄÄÆÄÀÏÀ» ÇÕ´Ï´Ù.(p¿É¼Ç Æ÷ÇÔ) i ÀνºÅçÀ» ÇÕ´Ï´Ù.(c¿Í p¿É¼Ç Æ÷ÇÔ) b rpmÆÐÅ°Áö¸¦ »ý¼ºÇÕ´Ï´Ù.(i¿Í c, p¿É¼ÇÀ» Æ÷ÇÔ) a ÀϹÝÀûÀÎ rpmÆÐÅ°Áö »Ó¸¸ ¾Æ´Ï¶ó .src.rpmÆÐÅ°Áöµµ ÇÔ²² »ý¼ºÇÕ ´Ï´Ù. 3.23.9 RPMÀÌ ¾ø´Âµ¥¿ä? ¸¸¾à¿¡ ¿©·¯ºÐµéÀÌ ·¹µåÇÞ ¸®´ª½º¸¦ ¼³Ä¡Çؼ »ç¿ëÇÏÁö ¾Ê°í µ¥ºñ¾ÈÀ̳ª ½½ ·¢¿þ¾î¸¦ ¼³Ä¡Çؼ »ç¿ëÇÑ´Ù¸é RPMÀ» »ç¿ëÇÏÁö ¸øÇÒ°ÍÀÔ´Ï´Ù. ±×·¯³ª °ÆÁ¤ÇÏ Áö ¸¶¼¼¿ä. RPM ÆÐÅ°Áö ¸¸À» µû·Î ±¸Çؼ »ç¿ëÇÏ¸é µÇ°Åµç¿ä. Áï ½½·¢¿þ¾î³ª µ¥ºñ¾È¿¡ RPM ÆÐÅ°Áö¸¦ ¼³Ä¡Çؼ RPMÀ» »ç¿ëÇÏ¸é µË´Ï´Ù. ±×·¯¸é À̹ø¿¡´Â ½½·¢¿þ¾î³ª µ¥ºñ¾È »ç¿ëÀÚ¸¦ À§Çؼ RPM ÆÐÅ°Áö¸¦ ¼³Ä¡ÇØ º¸°Ú½À´Ï´Ù. RPM ÆÐÅ°Áö´Â Á¦°øµÇ´Â µÎ ¹ø° CDÀÇ RPM µð·ºÅ丮³»¿¡ ÀÖ½À´Ï´Ù. <Âü°í ½ÃÀÛ> RPMÀ» ¼³Ä¡ÇÏÁö ¾Ê°í ´ÜÁö RPMÀ¸·Î ¸¸µé¾îÁø ÆÐÅ°Áö¸¸À» ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ÀÖ À»¶§¿¡´Â ºÎ·ÏÀ¸·Î Á¦°øµÈ µÎ ¹ø° CD¾ÈÀÇ RPM µð·ºÅ丮¿¡ ÀÖ´Â È®ÀåÀÚ°¡ tgz ÆÄÀÏÀ» ¼³Ä¡ÇÏ¸é µË´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº RPM ÆÄÀÏÀ» tar.gz Çü½ÄÀ¸·Î º¯È¯ÇØ Áְŵç¿ä. ÀÌ ÆÄÀÏÀ» ·çÆ®·Î º¹»çÇÑ ´ÙÀ½¿¡ ¾ÐÃàÀ» Ç®°í # rpm2targz <RPM ÆÄÀÏ> [Enter] # À§¿Í °°Àº Çü½ÄÀ¸·Î »ç¿ëÇÏ¸é ¶È°°Àº ÆÄÀÏÀ̸§¿¡ tar.gzÀÎ ÆÄÀÏÀÌ »ý¼ºµË ´Ï´Ù. ±×·± ´ÙÀ½¿¡ ÀÌ ÆÄÀÏÀ» ·çÆ®·Î À̵¿ÇÏ°í ¾ÐÃàÀ» Ç®¸é µË´Ï´Ù. <Âü°í ³¡> ÇÊÀÚ´Â ½½·¢¿þ¾î 3.4¿¡ RPMÀ» ¼³Ä¡ÇØ º¸°Ú½À´Ï´Ù. # mount -t iso9660 /dev/cdrom /cdrom [Enter] # cp /cdrom/RPM/rpm-2.3.11.tar.gz / [Enter] # umount /cdrom [Enter] # gzip -cd rpm-2.3.11.tar.gz | tar xvf - [Enter] # cd rpm-2.3.11 [Enter] # ¾ÐÃàÀ» Ç®°í »ý¼ºµÈ µð·ºÅ丮·Î À̵¿Çß½À´Ï´Ù. º¸¸é ¾Ë°ÚÁö¸¸ ¼Ò½ºÃ¼ ÀÖÀ» °Ì´Ï´Ù. ¿©·¯ºÐµéÀÌ ÄÄÆÄÀÏ ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. # ./configure [Enter] # make [Enter] # make install [Enter] # ÄÄÆÄÀÏÀ» ÇÏ°í »ý¼ºµÈ ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ÇØ´ç µð·ºÅ丮¿¡ ¼³Ä¡ÇÏ´Â °úÁ¤ÀÔ´Ï ´Ù. # cd /usr/local [Enter] # mkdir src [Enter] # cd src [Enter] # mkdir redhat [Enter] # cd redhat [Enter] # mkdir SPECS SOURCES SRPMS RPMS BUILD [Enter] # mkdir RPMS/i386 [Enter] # mkdir /var/local [Enter] # mkdir /var/local/lib [Enter] # mkdir /var/local/lib/rpm [Enter] ÇÊ¿äÇÑ µð·ºÅ丮¸¦ ¸¸µé¾î ÁÖ°í ÀÖ½À´Ï´Ù. ·¹µåÇÞ ¸®´ª½º¸¦ »ç¿ëÇÒ¶§¿¡´Â /usr/src ¾È¿¡ redhat µð·ºÅ丮°¡ ÀÖ¾úÁÒ? /usr/local ¾È¿¡ °°Àº Çü½ÄÀ¸·Î µð·ºÅ丮¸¦ ¸¸µé¾î ÁÖ°í ÀÖ½À´Ï´Ù. ¶ÇÇÑ /var/local/lib/rpm À̶ó´Â µð·º Å丮µµ ¸¸µé¾î ÁÝ´Ï´Ù. ÀÌ°ÍÀ¸·Î ½½·¢¿þ¾î 3.4¿¡¼ RPMÀ» ¼³Ä¡Çß½À´Ï´Ù. ÀÌÁ¦ RPM ÆÐÅ°Áö¸¦ ¸¶À½µ¥·Î ¼³Ä¡Çصµ µË´Ï´Ù. °£´ÜÇÏÁÒ? <Âü°í ½ÃÀÛ> µ¥ºñ¾È¿¡µµ ³ª¸§µ¥·Î ÆÐÅ°Áö °ü¸® ¹æ½ÄÀÌ ÀÖ½À´Ï´Ù. ÀÌ¹Ì µ¥ºñ¾È ¼³Ä¡ ºÎºÐ ¿¡¼µµ ¾Ë¾Æ º¸¾Ò°ÚÁö¸¸ È®ÀåÀÚ°¡ DEB·Î ³¡³ª´Â ÆÄÀÏÀÌ ¹Ù·Î µ¥ºñ¾È ÆÐÅ°Áö ¸Å´ÏÁ®¸¦ ÀÌ¿ëÇؼ ¸¸µç ÆÄÀÏÀÔ´Ï´Ù. µ¥ºñ¾È »ç¿ëÀÚ°¡ DEBÀÇ È®ÀåÀÚ¸¦ °¡Áø ÆÐÅ°Áö¸¦ ¾ò¾ú´Ù¸é dpkg¶ó´Â ¸í·É¾î¸¦ ÀÌ¿ëÇؼ ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ¸é µË´Ï´Ù. dpkg ¸í·É¾îÀÇ »ç¿ë¹æ¹ýÀº µµ¿ò¸»À» º¸±â ¹Ù¶ø´Ï´Ù. # dpkg --help Usage: dpkg -i|--install <.deb file name> ... | -R|--recursive <dir> ... dpkg --unpack <.deb file name> ... | -R|--recursive <dir> ... dpkg -A|--record-avail <.deb file name> ... | -R|--recursive <dir> ... dpkg --configure <package name> ... | -a|--pending dpkg -r|--remove | --purge <package name> ... | -a|--pending dpkg --get-selections [<pattern> ...] get list of selections to stdout dpkg --set-selections set package selections from stdin dpkg --update-avail <Packages-file> replace available packages info dpkg --merge-avail <Packages-file> merge with info from file dpkg --clear-avail erase existing available info dpkg --forget-old-unavail forget uninstalled unavailable pkgs dpkg -s|--status <package-name> ... display package status details dpkg --print-avail <package-name> ... display available version details dpkg -L|--listfiles <package-name> ... list files `owned' by package(s) dpkg -l|--list [<pattern> ...] list packages concisely dpkg -S|--search <pattern> ... find package(s) owning file(s) dpkg -C|--audit check for broken package(s) dpkg --print-architecture print target architecture (uses GCC) dpkg --print-gnu-build-architecture print GNU version of target arch dpkg --print-installation-architecture print host architecture (for inst'n) dpkg --compare-versions <a> <rel> <b> compare version numbers - see \ below dpkg --help | --version show this help / version number dpkg --force-help | -Dh|--debug=help help on forcing resp. debugging dpkg --licence print copyright licencing terms Use dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field| -x|--extract|-X|--vextract|--fsys-tarfile on archives (type dpkg-deb --help\ .) For internal use: dpkg --assert-support-predepends | --predep-package | --assert-working-epoch Options: --admindir=<directory> Use <directory> instead of /var/lib/dpkg --root=<directory> Install on alternative system rooted elsewhere --instdir=<directory> Change inst'n root without changing admin dir -O|--selected-only Skip packages not selected for install/upgrade -E|--skip-same-version Skip packages whose same version is installed -G=--refuse-downgrade Skip packages with earlier version than installed -B|--auto-deconfigure Install even if it would break some other package --largemem | --smallmem Optimise for large (>4Mb) or small (<4Mb) \ RAM use --no-act Just say what we would do - don't do it -D|--debug=<octal> Enable debugging - see -Dhelp or --debug=help --ignore-depends=<package>,... Ignore dependencies involving <package> --force-... Override problems - see --force-help --no-force-...|--refuse-... Stop when problems encountered Comparison operators for --compare-versions are: lt le eq ne ge gt (treat no version as earlier than any version); lt-nl le-nl ge-nl gt-nl (treat no version as later than any version); < << <= = >= >> > (only for compatibility with control file syntax). Use `dselect' for user-friendly package management. # <Âü°í ³¡> |