¸®´ª½º °ü·Ã °­Á¶õ

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   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.
#

<Âü°í ³¡>

HomePage Backward Forward Post Reply List
1998 by swindler