Year: 2009

Show romanization ¿Cómo crear o construir de paquetes RPM

Show romanization ¿Cómo crear o construir de paquetes RPM

Introducción —

Herramienta * “rpmbuild” se utiliza para construir los dos …

1) paquete binario ~ utilizado para instalar el software y el apoyo a las secuencias de comandos. Contiene los archivos que componen la aplicación, junto con cualquier información adicional necesaria para instalar y borrar.
Source Package 2) ~ contiene el archivo original comprimido tar de código fuente, los parches y la especificación de archivo.

* ¿Cuál es el gestor de paquetes RPM y RPM?

El Administrador de paquetes (RPM) es una potente línea de comandos del sistema de gestión de paquetes capaz de instalar, desinstalar, verificar, consultar y actualizar los paquetes de software.

Paquete RPM se compone de un archivo de archivos y de meta-datos utilizado para instalar y borrar los archivos. El meta-datos incluyen scripts de ayuda, los atributos de archivo, e información descriptiva sobre el paquete.

* Para construir el paquete RPM, tiene que especificar tres cosas ~

1) Fuente de aplicación – En cualquier caso, no debería modificar las fuentes utilizadas en el proceso de construcción de paquetes.

2) Patches – RPM le da la capacidad para aplicar los parches de forma automática a ellos. El parche soluciona un problema específico para el sistema de destino. Esto podría incluir cambios en archivos make para instalar la aplicación en los directorios adecuados, o la resolución de los conflictos de la plataforma. Parches de crear el entorno necesario para la compilación adecuada.

3) Especificación de archivo – La especificación de archivo se encuentra en el corazón del proceso de construcción de paquetes RPM. Que contiene la información requerida por RPM para construir el paquete, así como instrucciones que le dicen RPM cómo construirla. El archivo de especificación también dicta exactamente qué archivos son una parte del paquete, y donde deben estar instalados.

** Especificación de archivo ~ está dividido en 8 secciones como se muestra a continuación

a) Preámbulo ~ contiene información que se mostrará cuando los usuarios solicitan información sobre el paquete. Ello deberá incluir una descripción de la función del paquete, el número de versión del software, etc

b) Preparación ~ donde el trabajo real de construcción de un paquete de aperturas. Como su nombre lo indica, esta sección es donde se realizan los preparativos necesarios antes de la construcción real del software. En general, si algo hay que hacer a las fuentes antes de construir el software, tiene que suceder en la sección de preparación. El contenido de esta sección es un script de shell corriente. Sin embargo, RPM prevé dos macros para hacer la vida más fácil. Una macro se puede descomprimir un archivo tar comprimido y cd en el directorio de origen. La macro se aplica con facilidad otros parches a las fuentes sin envasar.

c) Construcción ~ Esta sección consta de un script de shell. Se utiliza para realizar cualquier comandos son realmente necesarios para compilar los fuentes, como hacer un solo comando, o ser más compleja si el proceso de construcción así lo requiere. No hay macros disponibles en esta sección.

d) Instalar ~ Esta sección también contiene un script de shell, la instalación de la sección se utiliza para realizar los comandos necesarios para instalar los programas informáticos.

e) Instalación y desinstalación ~ Se trata de secuencias de comandos que se ejecutará, en el sistema del usuario, cuando el paquete es realmente instalados o eliminados. RPM se puede ejecutar un script de pre / post-instalación / desinstalación de paquetes.

f) Verificar Script ~ script que se ejecuta en el sistema del usuario. Que se ejecuta al RPM verifica la correcta instalación del paquete.

g) Sección de Limpieza ~ script que puede limpiar las cosas después de la construcción. Este script se usa raramente, ya que RPM normalmente hace un buen trabajo de limpieza en la mayoría de los entornos de compilación.

h) Lista de archivos ~ consiste en una lista de archivos que componen el paquete. Además, un número de macros se pueden utilizar para controlar los atributos de archivo cuando se instale, así como para denotar que los archivos son la documentación, y que contienen información de configuración. La lista de archivos es muy importante.

*** Requisito de RPM para construir el medio ambiente ~

A] RPM requiere de un conjunto de guías para realizar la construcción. Mientras que los lugares en los directorios y los nombres se pueden cambiar. Diseño predeterminado se muestra a continuación —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 de agosto 2007 FUENTES => Contiene las fuentes originales, revisiones, y archivos de icono
drwxr-xr-x 2 root root 4096 25 de agosto 2007 ESPECIFICACIONES => Contiene los archivos de especificación de
drwxr-xr-x 2 root root 4096 25 de agosto 2007 BUILD => Directorio en el que se desempaquetar las fuentes, y software se construye
drwxr-xr-x 8 root root 4096 28 de mayo 2008 RPMS => contiene el paquete binario de los archivos creados por el proceso de construcción
drwxr-xr-x 2 root root 4096 25 de agosto 2007 SRPMS => contiene el paquete de archivos de código fuente creado por el proceso de construcción

root @ arunsb: ~ #

B] necesidad de exportar pocas variables globales que se utilizan por RPM —

root@arunsb:~# export  RPM_BUILD_DIR=/usr/src/redhat/BUILD/
root@arunsb:~# export  RPM_SOURCE_DIR=/usr/src/redhat/SOURCES/

Paso 1] Crear Specification (especificación) del archivo ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* ¿Cómo se crea la lista de archivos?

Creación de la lista de archivos es un proceso manual. Lo que hice es que me tomó la lista de archivos del directorio de manual de mi prefijo instalado con comando find como se muestra a continuación …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Paso 2] A partir de la Construcción ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Comprobación de archivo sin envasar (s): / usr / lib / rpm / check-archivos de buildroot% ()
Escribió: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Escribió: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 2 de diciembre 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3052868 2 de diciembre 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Fuente y el paquete binario creado!!

** Vamos a ver lo que sucedió en “/ usr / src / redhat / directorio”

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
CONSTRUIR RPMS FUENTES SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0.99-r45 <== Origen extraídos aquí como parte de las instrucciones de construcción de la especificación de archivo, es decir “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls FUENTES /
openlsm-0.99-r45.tar.gz <== openlsm original “-0.99-r45.tar.gz” fuente de los archivos copiados por mí
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat RPMS/i386 # ls /
openlsm-0.99-r45.i386.rpm <== paquete RPM binario creado!
root @ arunsb: / usr / src / redhat SRPMS # ls /
openlsm-0.99-r45.src.rpm <== paquete RPM creado!
root @ arunsb: / usr / src / redhat #

Paso 3] Ahora instale el paquete y probarla ~

root @ arunsb: / usr / src / redhat RPMS/i386/openlsm-0.99-r45.i386.rpm # cp / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
openlsm-0.99-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0.99-r45.i386.rpm
Preparing … ########################################### [100%]
1: ########################################### openlsm [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
etc contrib bin incluyen lib scripts sbin var compartir
root @ arunsb: ~ #

** Desde el servidor openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm arranque redhat
* A partir servidor de administración openlsm: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm estatuto de RedHat
openlsm (pid 21607) está corriendo …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0.99-R45
openlsm-0.99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0.99-R45
..

root @ arunsb: ~ # rpm-openlsm QIV-0.99-R45
Nombre: Movimientos openlsm: (no trasladable)
Versión: 0.99 Distribuidor: IndianGNU.org & openlsm
Versión: R45 Build Date: Wed 02 de diciembre 2009 05:50:54 PM EST
Fecha de instalación: Miércoles 02 de diciembre 2009 06:06:23 PM EST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Grupo: System Environment / Daemons Source RPM: openlsm-0.99-r45.src.rpm
Tamaño: 14877918 Licencia: GPL
Firma: (ninguno)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Resumen: openlsm Server Admin
Descripción:
openlsm Admin Server es libre y Web de código abierto para el panel de control basado en Linux, los sistemas Unix.
root @ arunsb: ~ #

** NOTA ~ Este artículo no contiene información sobre cómo definir micros, cómo copiar documentos, páginas de manual por defecto la ubicación, cómo establecer la propiedad etc Permiso y voy a cubrir estos temas en el próximo artículo sobre RPM.

** Por favor, consulte el artículo de Inglés ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Recuerdos,
Arun Bagul

Cara membuat atau membangun RPM Package

Cara membuat atau membangun RPM Package

Pendahuluan —

* “Rpmbuild” alat ini digunakan untuk membangun kedua …

1) Paket Binari ~ digunakan untuk menginstal perangkat lunak dan mendukung script. Ini berisi file yang terdiri dari aplikasi, bersama dengan informasi tambahan yang diperlukan untuk menginstal dan menghapusnya.
2) Sumber Paket ~ berisi dikompresi asli file tar source code, patch dan Spesifikasi File.

* Apakah yang dimaksud paket RPM & RPM Manager?

RPM Package Manager (RPM) adalah baris perintah handal sistem manajemen paket yang mampu menginstal, menghapus, memverifikasi, query, dan meng-update paket perangkat lunak.

Paket RPM terdiri dari sebuah arsip dari file dan meta-data yang digunakan untuk menginstal dan menghapus file arsip. Meta-data termasuk skrip pembantu, atribut file, dan informasi deskriptif tentang paket.

* Untuk membangun paket RPM Anda harus menentukan tiga hal ~

1) Sumber aplikasi – Dalam setiap kasus, Anda tidak boleh mengubah sumber-sumber yang digunakan dalam proses pembangunan paket.

2) Patch – RPM memberi Anda kemampuan untuk secara otomatis menerapkan patches kepada mereka. Alamat patch khusus untuk masalah sistem target. Ini dapat mencakup perubahan makefiles untuk menginstal aplikasi ke direktori yang sesuai, atau menyelesaikan konflik lintas-platform. Patch menciptakan lingkungan yang tepat diperlukan untuk kompilasi.

3) Spesifikasi File – File Spesifikasi di jantung proses pembangunan paket RPM. Ini berisi informasi yang diperlukan oleh RPM untuk membangun paket, serta instruksi memberitahu RPM bagaimana untuk membangunnya. File spesifikasi juga menentukan file apa yang merupakan bagian dari paket, dan di mana mereka harus diinstal.

File ~ ** Spesifikasi dibagi untuk 8 bagian seperti yang ditunjukkan di bawah ini

a) Pembukaan ~ berisi informasi yang akan ditampilkan ketika pengguna meminta informasi tentang paket. Hal ini termasuk deskripsi paket fungsi, nomor versi dari software dll

b) Persiapan ~ mana karya yang sebenarnya membangun sebuah paket dimulai. Seperti namanya, bagian ini adalah tempat persiapan yang diperlukan sebelum dibuat bangunan yang sebenarnya dari perangkat lunak. Secara umum, jika ada yang perlu dilakukan untuk sumber-sumber sebelum membangun perangkat lunak, hal itu harus terjadi di bagian persiapan. Isi bagian ini adalah shell script biasa. Namun, RPM tidak menyediakan dua macro untuk membuat hidup lebih mudah. Satu makro dapat mengekstrak file tar terkompresi dan cd ke direktori source. Makro lain dengan mudah berlaku membongkar tambalan untuk perbaikan pada sumber-sumber.

c) Membangun ~ Bagian ini terdiri dari sebuah shell script. Hal ini digunakan untuk melakukan perintah apa saja yang diperlukan untuk benar-benar menyusun sumber-sumber seperti perintah make tunggal, atau menjadi lebih rumit jika proses build memerlukannya. Tidak ada macro tersedia dalam bagian ini.

d) Instal ~ Bagian ini juga berisi shell script, install bagian digunakan untuk melakukan perintah yang diperlukan untuk benar-benar menginstal perangkat lunak.

e) Instalasi dan Uninstall Scripts ~ ini terdiri dari skrip yang akan dijalankan, pada pengguna sistem, ketika paket sebenarnya diinstal atau dihapus. RPM dapat mengeksekusi sebuah script pre / post instalasi / penghapusan paket.

f) Verifikasi Script ~ script yang dijalankan pada sistem pengguna. Hal ini dijalankan ketika RPM memverifikasi paket instalasi yang tepat.

g) Bersihkan Bagian ~ script yang dapat membersihkan sesuatu setelah membangun. Script ini jarang digunakan, karena RPM biasanya melakukan pekerjaan yang baik bersih-up di lingkungan yang paling membangun.

h) File Daftar ~ terdiri dari daftar file yang akan terdiri dari paket. Selain itu, sejumlah makro yang dapat digunakan untuk mengontrol atribut berkas ketika diinstal, serta untuk menunjukkan file mana yang merupakan dokumentasi, dan yang mengandung informasi konfigurasi. Daftar file sangat penting.

*** RPM’s persyaratan untuk membangun lingkungan ~

A] RPM memerlukan set direktori untuk melakukan membangun. Sementara direktori ‘lokasi dan nama-nama yang dapat diubah. Layout default ditampilkan di bawah ini —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 Agustus 2007 SUMBER => Berisi sumber-sumber asli, patch, dan ikon file
drwxr-xr-x 2 root root 4096 25 Agustus 2007 Spesifikasi => Berisi file spesifikasi
drwxr-xr-x 2 root root 4096 25 Agustus 2007 BUILD => Direktori di mana sumber membongkar, & perangkat lunak dibangun
drwxr-xr-x 8 root root 4096 28 Mei 2008 RPMS => Berisi file-file paket biner yang diciptakan oleh proses membangun
drwxr-xr-x 2 root root 4096 25 Agustus 2007 SRPMS => Berisi file paket source yang dibuat oleh proses membangun

root @ arunsb: ~ #

B] Perlu untuk mengekspor beberapa variabel global yang digunakan oleh RPM —

root @ arunsb: ~ # export RPM_BUILD_DIR = /usr/src/redhat/BUILD/
root @ arunsb: ~ # export RPM_SOURCE_DIR = /usr/src/redhat/SOURCES/

Langkah 1] Buat Spesifikasi (spec) File ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* Bagaimana Anda membuat File List?

Membuat daftar file adalah proses manual. Apa yang saya lakukan adalah saya mengambil daftar file dari direktori awalan diinstal secara manual dengan perintah find seperti yang ditunjukkan di bawah ini …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Langkah 2] Menjalankan Build ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Unpackaged memeriksa file (s): / usr / lib / rpm / check-files% (buildroot)
Wrote: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Wrote: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi # echo $?
0

root @ arunsb: / usr / src / redhat / Spesifikasi # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 Desember 2 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3.052.868 Desember 2 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / Spesifikasi #

* Sumber dan paket biner dibuat!!

** Mari kita lihat apa yang terjadi di “/ usr / src / redhat /” direktori

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
Spesifikasi SUMBER BUILD RPMS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0,99-R45 <== Sumber diekstrak di sini sebagai bagian dari membangun instruksi dari file spesifikasi yaitu “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls SUMBER /
0,99-openlsm-r45.tar.gz <== asli ‘openlsm-0,99-r45.tar.gz’ file source disalin oleh saya
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
0,99-openlsm-r45.i386.rpm <== Binary paket rpm dibuat!
root @ arunsb: / usr / src / redhat # ls SRPMS /
0,99-openlsm-r45.src.rpm <== Sumber paket rpm dibuat!
root @ arunsb: / usr / src / redhat #

Langkah 3] Sekarang instal paket dan mengujinya ~

root @ arunsb: / usr / src / redhat # cp RPMS/i386/openlsm-0.99-r45.i386.rpm / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
0,99-openlsm-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0,99-r45.i386.rpm
Menyiapkan … ########################################### [100%]
1: openlsm ########################################### [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
contrib bin lib sbin etc termasuk skrip berbagi var
root @ arunsb: ~ #

** Menjalankan server openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat mulai
* Memulai openlsm admin server: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat status
openlsm (pid 21607) is running …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0,99-R45
openlsm-0,99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0,99-R45
..

root @ arunsb: ~ # rpm-Qiv openlsm-0,99-R45
Nama: openlsm Relokasi: (tidak relocatable)
Versi: 0.99 Vendor: IndianGNU.org & openlsm
Release: R45 Build Date: Wed 02 Dec 2009 05:50:54 IST
Instal Tanggal: Wed 02 Dec 2009 06:06:23 IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group: System Environment / Daemon Sumber RPM: 0,99-openlsm-r45.src.rpm
Ukuran: 14877918 License: GPL
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Ringkasan: openlsm Admin Server
Keterangan:
Admin Server openlsm gratis & open source berbasis web panel kontrol untuk Linux, sistem Unix.
root @ arunsb: ~ #

** CATATAN ~ Artikel ini tidak mengandung informasi tentang cara menetapkan mikro, bagaimana untuk menyalin dokumen, halaman manual untuk lokasi default, bagaimana mengatur permision dan kepemilikan dll saya akan mencakup topik-topik ini dalam artikel berikutnya di RPM.

** Silakan merujuk artikel inggris ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Salam,
Arun Bagul

Como criar ou construir pacotes RPM

Como criar ou construir pacotes RPM

Introdução —

Ferramenta * “rpmbuild” é usado para construir tanto …

1) Pacote binário ~ usada para instalar o software e suporte scripts. Ele contém os arquivos que compõem o pedido, juntamente com todas as informações adicionais necessárias para instalar e apagá-la.
Source Package 2) ~ contém o arquivo tar compactados originais do código-fonte, patches e especificação de arquivo.

* Qual é o RPM & gerenciador de pacotes rpm?

O RPM Package Manager (RPM) é uma poderosa linha de comando do sistema de gerenciamento de pacotes capazes de instalar, desinstalar, verificando, consulta e atualização de pacotes de software.

RPM pacote consiste de um repositório de arquivos e meta-dados usados para instalar e apagar os ficheiros de arquivo. A meta-dados inclui scripts auxiliares, os atributos do arquivo, e informações descritivas sobre o pacote.

* Para construir o pacote RPM que você precisa especificar três coisas ~

1) Fonte de aplicação – Em qualquer caso, você não deve modificar as fontes utilizadas no processo de construção do pacote.

2) Patches – RPM lhe dá a capacidade para aplicar automaticamente patches para eles. O patch corrige um problema específico para o sistema alvo. Isto pode incluir mudanças makefiles para instalar o aplicativo para o apropriado diretórios, ou resolução de conflitos plataforma. Patches criar o ambiente necessário para a compilação adequada.

3) Especificação do Arquivo – A especificação é no coração do processo de construção de pacotes RPM. Ele contém informações exigidas pela RPM para construir o pacote, bem como instruções dizendo RPM como construí-lo. O arquivo de especificação também dita exatamente quais arquivos são uma parte do pacote, e onde deve ser instalado.

** Especificação do arquivo ~ é dividido em 8 seções conforme mostrado abaixo

a) Preâmbulo ~ contém informações que serão exibidas quando os usuários solicitarem informações sobre o pacote. Isso pode incluir uma descrição da função do pacote, o número de versão do software, etc

b) Preparação ~ onde o trabalho real de construção de um pacote é iniciado. Como o nome indica, esta seção é onde os preparativos necessários sejam feitos antes de o edifício atual do software. Em geral, se algo precisa ser feito para as fontes antes de construir o software, ele precisa acontecer na seção de preparação. O conteúdo desta secção é um shell script comum. No entanto, RPM prevê duas macros para tornar a vida mais fácil. Uma macro pode descompactar um arquivo tar compactado e CD para o diretório de origem. A macro outros patches facilmente se aplica às fontes de descompactado.

c) Construir ~ Esta secção é constituída por um shell script. Ele é usado para executar qualquer comandos são realmente necessário para compilar os fontes como único comando make, ou ser mais complexo se o processo de criação exige. Não existem macros disponíveis nesta seção.

d) Instalar ~ Esta seção também contém um shell script, a seção de instalação é usada para executar os comandos necessários para realmente instalar o software.

e) Instalar e desinstalar scripts ~ É constituída de scripts que serão executados, no sistema do usuário, quando o pacote é realmente instalados ou removidos. RPM pode executar um script pré / pós-instalação / remoção do pacote.

f) Verificar Script ~ script que é executado no sistema do usuário. É executado quando RPM verifica a instalação correta do pacote.

g) Limpeza Seção ~ script que pode limpar as coisas após a compilação. Este script é raramente usada, desde RPM normalmente faz um bom trabalho de limpeza na maioria dos ambientes de criação.

h) Lista de arquivos ~ consiste de uma lista de arquivos que compõem o pacote. Além disso, um número de macros podem ser usadas para controlar atributos de ficheiro, quando instalado, bem como para indicar quais arquivos são a documentação, e que contêm informações de configuração. A lista de arquivos é muito importante.

Requisito *** RPM’s para ambiente de construção ~

A] RPM requer um conjunto de diretórios para executar a construção. Enquanto os diretórios locais e nomes podem ser mudados. Layout padrão é mostrado abaixo —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 Aug 25 2007 Fontes => contém as fontes originais, patches e arquivos de ícone
drwxr-xr-x 2 root root 4096 Aug 25 2007 SPECS => Contém os arquivos de especificação
drwxr-xr-x 2 root root 4096 Aug 25 2007 Build => Directory em que as fontes são descompactados, e software é construído
drwxr-xr-x 8 root root 4096 28 de maio de 2008 RPMS => Contém o pacote binário arquivos criados pelo processo de construção
drwxr-xr-x 2 root root 4096 Aug 25 2007 SRPMS => contém o pacote de fonte de arquivos criados pelo processo de construção

root @ arunsb: ~ #

B] precisa exportar algumas variáveis globais utilizadas por RPM —

root @ arunsb: ~ # export RPM_BUILD_DIR = /usr/src/redhat/BUILD/
root @ arunsb: ~ # export RPM_SOURCE_DIR =/usr/src/redhat/SOURCES/

Passo 1] Criar especificação (spec) Arquivo ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* Como você criar a lista de arquivos?

Criando a lista de arquivos processo é manual. O que eu fiz é que eu peguei a lista de arquivos do meu diretório prefixo manual instalado com o comando find, como mostrado abaixo …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Etapa 2] A partir do Build ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Verificação de arquivo não embalados (s): / usr / lib / rpm / check-files% (buildroot)
Escreveu: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Escreveu: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 2 de dezembro 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3052868 2 de dezembro 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Fonte e pacote binário criado!

** Vamos ver o que aconteceu em “/ usr / src / redhat / directory”

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
BUILD RPMS SOURCES SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0,99-r45 <== Fonte extraída aqui como parte de construir as instruções do arquivo de especificação ou seja, “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls FONTES /
openlsm-0,99-r45.tar.gz <openlsm == original “-0,99-fonte r45.tar.gz ‘arquivo copiado por mim
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
openlsm-0,99 r45.i386.rpm-<== pacote rpm Binário criado!
root @ arunsb: / usr / src / redhat # ls / SRPMS
openlsm-0,99-r45.src.rpm <== pacote fonte RPM criado!
root @ arunsb: / usr / src / redhat #

Etapa 3] Agora instale o pacote e testá-lo ~

root @ arunsb: / usr / src / redhat # cp RPMS/i386/openlsm-0.99-r45.i386.rpm / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home arunsb / /
root @ arunsb: ~ # ls
openlsm-0,99-r45.i386.rpm
root @ arunsb: ~ # rpm-openlsm ivh-0,99-r45.i386.rpm
Preparando … ########################################### [100%]
1: ########################################### openlsm [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
etc contrib bin incluir partes var / lib sbin scripts
root @ arunsb: ~ #

** Iniciando o servidor openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / start-openlsm redhat
* Iniciando openlsm Server Admin: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm estatuto de redhat
openlsm (pid 21607) is running …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0,99-R45
openlsm-0,99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-openlsm QL-0,99-R45
..

root @ arunsb: ~ # rpm-openlsm qiv-0,99-R45
Nome: Relocations openlsm: (not relocatable)
Version: 0.99 Vendor: IndianGNU.org & openlsm
Lançamento: R45 Build Date: Qua 02 de dezembro de 2009 05:50:54 EST
Instale Data: Wed 02 de dezembro de 2009 06:06:23 IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Grupo: System Environment / Daemons Source RPM: openlsm-0,99-r45.src.rpm
Tamanho: 14877918 Licença: GP
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Resumo: openlsm Admin Server
Descrição:
painel de controle openlsm Admin Server é gratuita e web de código aberto baseado em Linux, Unix.
root @ arunsb: ~ #

** NOTA ~ Este artigo não contém informações sobre como definir micros, como cópia de documentos, páginas de manual para o padrão local, como definir permision e de apropriação vou cobrir esta tópicos no próximo artigo sobre RPM.

** Por favor, consulte o artigo Inglês ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Atenciosamente,
Arun Bagul

Как создать или построить RPM Package

Как создать или построить RPM Package

Введение —

* “Rpmbuild” инструмент используется для создания и …

1) ~ двоичных пакетов для установки программного обеспечения и поддержки сценариев. Он содержит все файлы, составляющие приложение, а также любую дополнительную информацию, необходимую для установки и удаления его.
2) ~ исходного кода содержит оригинальные сжатые TAR файлов исходного кода, патчи и спецификации файла.

* Что такое & RPM RPM Package Manager?

RPM Package Manager (RPM) является мощной командной строки пакета управления системой, способной Установка, удаление, проверка, запросы и обновления программного обеспечения.

RPM пакет состоит из архива файлы и мета-данные, используемые для установки и удаления архивных файлов. Мета-данные включают вспомогательные скрипты, атрибуты файлов, а также описательная информация о пакете.

* Чтобы построить RPM пакет нужно указать три вещи ~

1) Источники приложений – В любом случае, вы не должны изменять источники, используемые в процессе здании пакет.

2) Патчи – RPM дает вам возможность автоматически применять патчи к ним. Патч устраняет проблему, специфичные для целевой системы. Это может включать изменение make-файлы для установки приложения в соответствующие каталоги, либо в решении кросс-платформенный конфликтов. Патчи создания условий, необходимых для надлежащего компиляции.

3) Спецификация файла – это спецификация файла находится в центре процесса строительства RPM пакет. Он содержит информацию, необходимую RPM для сборки пакета, а также инструкции говорить об / мин, как строить. Спецификация файла также диктует, какие именно файлы являются частью пакета, и где они должны быть установлены.

** Спецификации файла ~ делится на 8 разделов, как показано ниже

а) преамбула ~ содержит информацию, которая будет отображаться, когда пользователи запрашивают информацию о пакете. Это будет включать описание функций пакета, номер версии программного обеспечения и т.д.

б) Подготовка ~ когда фактическая работа по созданию пакета начинается. Как следует из названия, этот раздел, где необходимые приготовления сделаны до начала фактического строительства программного обеспечения. В общем, если что-то должно быть сделано для источников до строительстве программное обеспечение, оно должно произойти в подготовке раздела. Содержание данного раздела являются обычными скрипт. Однако, RPM ли предоставить два макроса, чтобы сделать жизнь легче. Один макрос можно распаковать сжатые файлы и смол компакт-диск в исходном каталоге. Другие макро легко применяет патчи к распакованы источников.

с) создать ~ Этот раздел состоит из сценария оболочки. Он используется для выполнения любых команд требуется на самом деле компиляция источников, как сделать одну команду, или быть более сложной, если процесс сборки требует этого. Есть нет макросов доступны в этом разделе.

д) Установить ~ В этом разделе также содержащий сценарий оболочки, в разделе установка используется для выполнения команды необходимо реально установить программное обеспечение.

е) установить и удалить скрипты ~ Она состоит из сценариев, которые будут запущены на компьютере пользователя, когда пакет фактически установлена или удалена. RPM может выполнить скрипт до / после установки / удаления пакетов.

е) Проверить ~ сценария сценарий, который выполняется в пользовательской системе. Он выполняется при RPM проверяет правильность установки пакета.

г) чистый участок ~ скрипт, который может чистыми вещами после сборки. Этот сценарий используется редко, поскольку RPM обычно делает хорошую работу по очистке построить в большинстве сред.

H) Список файлов ~ состоит из списка файлов, который будет включать в себя пакет. Кроме того, количество макросов может быть использована для контроля атрибутов файлов при установке, а также обозначить, какие файлы документации, и которые содержат информацию о конфигурации. Список файлов является очень важным.

*** Из RPM требованием построить окружающей среды ~

] RPM требует набора каталогов для выполнения сборки. Хотя каталоги ‘места и названия могут быть изменены. По умолчанию Схема приведена ниже —

Root @ arunsb: ~ # ls -l /usl/src/redhat/

drwxr-XR-X 2 коренных коренных 4096 25 августа 2007 SOURCES => содержит оригинальных источников, патчи и файлы иконок
drwxr-XR-X 2 коренных коренных 4096 25 августа 2007 ДАННЫЕ => содержит спецификации файлами
drwxr-XR-X 2 коренных коренных 4096 25 августа 2007 BUILD => каталог, в который распаковываются источников, & программное обеспечение построено
drwxr-XR-X 8 корневых корневых 4096 28 мая 2008 RPMS => содержит бинарные пакеты файлов, созданных в процессе построить
drwxr-XR-X 2 коренных коренных 4096 25 августа 2007 SRPMS => содержит исходного кода в файлы, созданные в процессе сборки

Root @ arunsb: ~ #

B] необходимо экспортировать несколько глобальных переменных, используемых RPM —

Root @ arunsb: ~ # export  RPM_BUILD_DIR=/usr/src/redhat/BUILD/
Root @ arunsb: ~ # export  RPM_SOURCE_DIR=/usr/src/redhat/SOURCES/

Шаг 1] Создать Specification (SPEC) файле ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* Как создать список файлов?

Создание списка файлов ручной процесс. Что я сделал: я взял список файлов из моего руководства установлен каталога с префиксом найти команду, как показано ниже …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

Шаг 2] Начиная Build ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
… ..

Проверка упаковки файла (ов): / USR / LIB / RPM / проверить файлы BuildRoot% ()
Написали: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Написали: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
Root @ arunsb: / USR / SRC / RedHat / ДАННЫЕ Эхо # $?
0

Root @ arunsb: / USR / SRC / RedHat / ДАННЫЕ # LS-L / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-RW-R-R-1 коренных коренных 3206 2 декабря 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Root @ arunsb: / USR / SRC / RedHat / ДАННЫЕ # LS-L / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-RW-R-R-1 коренных коренных 3052868 2 декабря 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
Root @ arunsb: / USR / SRC / RedHat / ДАННЫЕ #

* Исходные и бинарные пакеты созданы!

** Давайте посмотрим, что произошло в “/ USR / SRC / RedHat / каталог”

Root @ arunsb: / USR / SRC / RedHat # PWD
/ USR / SRC / RedHat
Root @ arunsb: / USR / SRC / RedHat # Ls
СТРОЙ RPMS ИСТОЧНИКИ ДАННЫЕ SRPMS
Root @ arunsb: / USR / SRC / RedHat # Ls СТРОЙ /
openlsm-0.99-R45 <== исходного здесь добывали как часть инструкции по сборке от спецификации есть файл “openlsm.spec”
Root @ arunsb: / USR / SRC / RedHat # Ls SOURCES /
openlsm-0.99-r45.tar.gz <== оригинал “openlsm-0.99-источник r45.tar.gz ‘файл скопирован мной
Root @ arunsb: / USR / SRC / RedHat # Ls RPMS /
Athlon i386 i486 i586 i686 noarch
Root @ arunsb: / USR / SRC / RedHat # RPMS/i386 Ls /
openlsm-0.99-r45.i386.rpm <== двоичных пакетов / мин создан!
Root @ arunsb: / USR / SRC / RedHat # Ls SRPMS /
openlsm-0.99-r45.src.rpm <== Source RPM пакет создан!
Root @ arunsb: / USR / SRC / RedHat #

Шаг 3] Теперь установите этот пакет и проверить его ~

Root @ arunsb: / USR / SRC / RedHat # RPMS/i386/openlsm-0.99-r45.i386.rpm CP / Home / arunsb /

Root @ arunsb: / USR / SRC / RedHat # CD / Home / arunsb /
Root @ arunsb: ~ # Ls
openlsm-0.99-r45.i386.rpm
Root @ arunsb: ~ # RPM-ВЖК openlsm-0.99-r45.i386.rpm
Подготовка … ########################################### [100%]
1: openlsm ########################################### [100%]
Root @ arunsb: ~ # Ls / USR / местные / openlsm /
и т.д. бен Contrib включать Lib долю sbin сценарии VAR
Root @ arunsb: ~ #

** Начиная openlsm сервере ~

Root @ arunsb: ~ # / USR / местные / openlsm / Contrib / openlsm-Redhat начало
* Запуск сервера openlsm Admin: openlsm
. [OK]
Root @ arunsb: ~ #
Root @ arunsb: ~ # / USR / местные / openlsm / Contrib / openlsm-Redhat статус
openlsm (PID 21607) запущен …
Root @ arunsb: ~ #

Root @ arunsb: ~ # RPM-Q openlsm-0.99-R45
openlsm-0.99-R45
Root @ arunsb: ~ #

Root @ arunsb: ~ # RPM-QL openlsm-0.99-R45
..

Root @ arunsb: ~ # RPM-qiv openlsm-0.99-R45
Имя: openlsm Relocations: (не перемещаемые)
Версия: 0.99 Производитель: IndianGNU.org & openlsm
Выпуск: R45 Build Date: Срд 02 Dec 2009 05:50:54 PM IST
Дата установки: Срд 02 Dec 2009 06:06:23 PM IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Группа:: Система / Демоны Пакет: openlsm-0.99-r45.src.rpm
Размер: 14877918 Лицензия: GPL
Подпись: (None)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Резюме: openlsm Admin Server
Описание:
openlsm Администратор сервера свободного & открытым исходным веб-панель управления для Linux, Unix системами.
Root @ arunsb: ~ #

** ПРИМЕЧАНИЕ ~ Эта статья не содержит информации о том, как определить Micros, как копировать документы, мужчина страниц по умолчанию, как установить permision и собственности и т.д. Я рассмотрим эту тему в следующей статье о RPM.

** См. статью английский ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Привет,
Arun Bagul

วิธี การ สร้าง หรือ สร้าง RPM Package

วิธี การ สร้าง หรือ สร้าง RPM Package

Introduction —

เครื่องมือ * “rpmbuild” จะ ใช้ ใน การ สร้าง ทั้ง …

1) Binary Package ~ ที่ ใช้ ใน การ ติด ตั้ง ซอฟต์แวร์ และ สนับสนุน สคริปต์. มัน มี ไฟล์ ที่ ประกอบด้วย ใบ สมัคร พร้อม ด้วย ข้อมูล เพิ่มเติม ที่ จำเป็น ใน การ ติด ตั้ง และ ลบ มัน.
แพค เก จ ที่ มา 2) ~ มี น้ำมันดิน ไฟล์ ต้นฉบับ บีบ อัด ของ รหัส ที่ มา, แพ ท ช์ และ ข้อกำหนด File.

* เป็น RPM และ ผู้จัดการ package RPM คือ อะไร?

RPM Package Manager (RPM) มี คำ สั่ง บรรทัด ที่ มี ประสิทธิภาพ การ บริหาร จัดการ ระบบ พัสดุ สามารถ ติด ตั้ง ถอน การ ติด ตั้ง, ตรวจ สอบ, querying, และ ปรับปรุง ชุด ซอฟต์แวร์.

Package RPM ประกอบด้วย เก็บ ไฟล์ และ meta ข้อมูล ที่ ใช้ ใน การ ติด ตั้ง และ ลบ ไฟล์ ที่ เก็บ. Meta ข้อมูล รวม สคริปต์ ผู้ ช่วยเหลือ, แอตทริบิวต์ ของ แฟ้ม และ ข้อมูล อธิบาย เกี่ยว กับ แพค เก จ.

* ใน การ สร้าง แพ็ก เก จ RPM คุณ ต้อง ระบุ สาม สิ่ง ~

ที่ มา 1) การ สมัคร – กรณี ที่ คุณ ไม่ ควร ปรับ เปลี่ยน มา ใช้ ใน การ สร้าง package.

2) กระจาย – RPM ช่วย ให้ คุณ สามารถ ที่ จะ ใช้ ปรับปรุง ให้ พวก เขา. แก้ไข ปัญหา ที่ อยู่ เฉพาะ ใน ระบบ เป้าหมาย. นี้ อาจ รวม ถึง การ เปลี่ยน makefiles ติด ตั้ง โปรแกรม ลง ใน ไดเรกทอรี ที่ เหมาะสม หรือ การ แก้ไข ความ ขัดแย้ง ข้าม แพลตฟอร์ม. ปรับปรุง สร้าง สิ่งแวดล้อม ที่ จำเป็น สำหรับ การ รวบรวม ที่ เหมาะสม.

3) ข้อกำหนด File – ไฟล์ ข้อกำหนด คือ หัวใจ ของ การ สร้าง RPM package. มัน มี ข้อมูล ที่ จำเป็น โดย RPM สร้าง แพค เก จ รวม ทั้ง คำ แนะนำ บอก RPM วิธี การ สร้าง มัน. ไฟล์ ข้อกำหนด ยัง dictates ว่า ไฟล์ ต่างๆ เป็น ส่วน หนึ่ง ของ แพ็ก เก จ และ ที่ พวก เขา ควร จะ ติด ตั้ง.

** ข้อกำหนด File ~ แบ่ง ใน 8 ส่วน ที่ แสดง ด้าน ล่าง

a) คำนำ ~ มี ข้อมูล ที่ จะ ปรากฏ เมื่อ ผู้ ใช้ ขอ ข้อมูล เกี่ยว กับ แพค เก จ. นี้ จะ รวม ถึง ราย ละเอียด ของ งาน ชุด ของ หมายเลข รุ่น ของ ซอฟต์แวร์ อื่น ๆ

b) Preparation ~ ที่ ทำงาน จริง ของ อาคาร package starts. เป็น ชื่อ นัย ส่วน นี้ เป็น ที่ ที่ จำเป็น ต้อง มี การ เตรียม การ ก่อน ที่ จะ ทำ อาคาร จริง ของ ซอฟต์แวร์. โดย ทั่วไป หาก สิ่ง ใด ต้อง ทำ ถึง แหล่ง ที่ มา ก่อน ที่ จะ สร้าง ซอฟต์แวร์ ที่ จะ ต้อง เกิด ขึ้น ใน ส่วน การ จัด เตรียม. เนื้อหา ใน ส่วน นี้ เป็น สคริปต์ เชลล์ สามัญ. แต่ RPM ไม่ ให้ สอง macros เพื่อ ให้ ชีวิต ง่าย ขึ้น. หนึ่ง แมโคร สามารถ แตก ไฟล์ บีบ อัด น้ำมัน และ cd เป็น ไดเรกทอรี ที่ มา. มาโคร อื่น ๆ ได้ อย่าง ง่ายดาย กับ แพ ท ช์ ไป มา จำนวน มาก ๆ.

c) สร้าง ~ ส่วน นี้ ประกอบด้วย สคริปต์ เปลือก. มี การ ใช้ การ คำ สั่ง ใด จะ ต้อง จริง รวบรวม แหล่ง ที่ มา เช่น เดียว ทำให้ คำ สั่ง หรือ มี ความ ซับซ้อน มาก ขึ้น หาก สร้าง กระบวนการ ต้อง เป็น. มี macros ไม่มี ใน ส่วน นี้ เป็น.

d) ติด ตั้ง ~ ส่วน นี้ ยัง มี สคริปต์ เปลือก ให้ การ ติด ตั้ง ส่วน ที่ จะ ใช้ ใน การ ดำเนิน การ คำ สั่ง จริง ต้อง ติด ตั้ง ซอฟต์แวร์.

e) ติด ตั้ง และ ยกเลิก การ ติด ตั้ง สคริปต์ ~ ประกอบด้วย สคริปต์ ที่ จะ ทำงาน ใน ระบบ ของ ผู้ ใช้ เมื่อ แพค เก จ ติด ตั้ง จริง หรือ ลบ. RPM สามารถ รัน สคริปต์ ก่อน การ ติด ตั้ง โพ ส ต์ / / ลบ package.

f) ~ ตรวจ สอบ สคริปต์ สคริปต์ ที่ รัน ใน ระบบ ของ ผู้ ใช้. จะ รัน เมื่อ RPM ยืนยัน การ ติด ตั้ง แพค เก จ ที่ เหมาะสม ของ.

g) Clean Section ~ สคริปต์ ที่ สามารถ ทำความ สะอาด สิ่ง ขึ้น หลังจาก การ สร้าง. สคริปต์ นี้ ใช้ ไม่ บ่อย เนื่องจาก RPM ปกติ ไม่ ได้ งาน ที่ ดี สะอาด ขึ้น ใน ที่สุด การ สร้าง สภาพ แวดล้อม.

h) List File ~ ประกอบด้วย ราย ชื่อ ของ ไฟล์ ที่ จะ ประกอบด้วย package. นอกจาก นี้ จำนวน macros สามารถ ใช้ การ ควบคุม คุณลักษณะ ของ แฟ้ม การ ติด ตั้ง เมื่อ รวม ทั้ง เพื่อ แสดง ว่า ไฟล์ ที่ เป็น เอกสาร และ ที่ มี ข้อมูล การ กำหนด ค่า. ราย ชื่อ แฟ้ม เป็น สิ่ง สำคัญ.

ต้องการ *** RPM เพื่อ สร้าง สภาพ แวดล้อม ~

A] RPM ต้อง ใช้ ชุด ของ ไดเรกทอรี เพื่อ ดำเนิน การ สร้าง. ขณะ ที่ ตั้ง ไดเรกทอรี และ ชื่อ สามารถ เปลี่ยน. รูป แบบ ที่ ตั้ง อยู่ ด้าน ล่าง —

root@arunsb:~# ls -l /usr/src/redhat/

drwxr-xr-x 2 root root 4096 Aug 25  2007 SOURCES    => มี แหล่ง เดิม ที่ ปรับปรุง และ ไฟล์ ไอคอน
drwxr-xr-x 2 root root 4096 Aug 25  2007 SPECS         =>  มี ไฟล์ ข้อกำหนด
drwxr-xr-x 2 root root 4096 Aug 25  2007 BUILD        => Directory ที่ มา เป็น จำนวน มาก ๆ, และ ซอฟต์แวร์ ที่ ถูก สร้าง ขึ้น
drwxr-xr-x 8 root root 4096 May 28  2008 RPMS         => มี แพค เก จ ไบนารี ไฟล์ ที่ สร้าง ขึ้น โดย การ สร้าง กระบวนการ
drwxr-xr-x 2 root root 4096 Aug 25  2007 SRPMS         => มี ชุด มา ไฟล์ ที่ สร้าง ขึ้น โดย การ สร้าง กระบวนการ

root@arunsb:~#

B] เพื่อ ต้องการ ส่ง ออก ทั่ว โลก ไม่ กี่ ตัวแปร ใช้ RPM —

root@arunsb:~# export  RPM_BUILD_DIR=/usr/src/redhat/BUILD/
root@arunsb:~# export  RPM_SOURCE_DIR=/usr/src/redhat/SOURCES/

ขั้น ที่ 1] สร้าง ข้อกำหนด (ข้อมูล จำเพาะ) File ~

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

* คุณ จะ สร้าง ราย ชื่อ ไฟล์ อย่างไร

สร้าง ราย ชื่อ ไฟล์ เป็น กระบวนการ คู่มือ. สิ่ง ที่ ฉัน ไม่ เป็น ฉัน เอา ราย ชื่อ ไฟล์ จาก ไดเรกทอรี คำนำ หน้า ของ ฉัน คู่มือ ติด ตั้ง หา คำ สั่ง ที่ แสดง ด้าน ล่าง …

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

ขั้น ที่ 2] เริ่ม ต้น สร้าง ~

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

….
…..

Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
Wrote: /usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root@arunsb:/usr/src/redhat/SPECS# echo $?
0

root@arunsb:/usr/src/redhat/SPECS# ls -l  /usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r–r– 1 root root 3206 Dec  2 17:50 /usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root@arunsb:/usr/src/redhat/SPECS# ls -l  /usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r–r– 1 root root 3052868 Dec  2 17:50 /usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root@arunsb:/usr/src/redhat/SPECS#

* แหล่ง ที่ มา และ แพค เก จ ไบนารี สร้าง ขึ้น แล้ว!

** มา ดู สิ่ง ที่ เกิด ขึ้น ใน “/usr/src/redhat/” directory –

root@arunsb:/usr/src/redhat# pwd
/usr/src/redhat
root@arunsb:/usr/src/redhat# ls
BUILD  RPMS  SOURCES  SPECS  SRPMS
root@arunsb:/usr/src/redhat# ls BUILD/
openlsm-0.99-r45                                        <== สกัด ที่ นี่ เป็น ส่วน หนึ่ง ของ การ สร้าง คำ แนะนำ จาก เช่น ไฟล์ ข้อกำหนด “openlsm.spec”
root@arunsb:/usr/src/redhat# ls SOURCES/
openlsm-0.99-r45.tar.gz                                 <== ต้นฉบับ ‘openlsm-0.99-r45.tar.gz’  แฟ้ม คัด ลอก จาก ฉัน
root@arunsb:/usr/src/redhat# ls RPMS/
athlon  i386  i486  i586  i686  noarch
root@arunsb:/usr/src/redhat# ls RPMS/i386/
openlsm-0.99-r45.i386.rpm                               <== แพค เก จ RPM Binary สร้าง ขึ้น แล้ว
root@arunsb:/usr/src/redhat# ls SRPMS/
openlsm-0.99-r45.src.rpm                                <== แพค เก จ รอบ ต่อ นาที ที่ มา สร้าง ขึ้น แล้ว
root@arunsb:/usr/src/redhat#

ขั้น ที่ 3] ตอน นี้ แพ็คเกจ การ ติด ตั้ง และ ทดสอบ ~

root@arunsb:/usr/src/redhat# cp RPMS/i386/openlsm-0.99-r45.i386.rpm  /home/arunsb/

root@arunsb:/usr/src/redhat# cd /home/arunsb/
root@arunsb:~# ls
openlsm-0.99-r45.i386.rpm
root@arunsb:~# rpm -ivh openlsm-0.99-r45.i386.rpm
Preparing…                ########################################### [100%]
1:openlsm                ########################################### [100%]
root@arunsb:~# ls /usr/local/openlsm/
bin  contrib  etc  include  lib  sbin  scripts  share  var
root@arunsb:~#

** เริ่ม ต้น เซิร์ฟเวอร์ openlsm ~

root@arunsb:~# /usr/local/openlsm/contrib/openlsm-redhat  start
* Starting openlsm admin server: openlsm
.                                                         [  OK  ]
root@arunsb:~#
root@arunsb:~# /usr/local/openlsm/contrib/openlsm-redhat  status
openlsm (pid 21607) is running…
root@arunsb:~#

root@arunsb:~# rpm -q openlsm-0.99-r45
openlsm-0.99-r45
root@arunsb:~#

root@arunsb:~# rpm -ql  openlsm-0.99-r45
..

root@arunsb:~# rpm  -qiv  openlsm-0.99-r45
Name        : openlsm                      Relocations: (not relocatable)
Version     : 0.99                              Vendor: IndianGNU.org & openlsm
Release     : r45                           Build Date: Wed 02 Dec 2009 05:50:54 PM IST
Install Date: Wed 02 Dec 2009 06:06:23 PM IST      Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group       : System Environment/Daemons    Source RPM: openlsm-0.99-r45.src.rpm
Size        : 14877918                         License: GPL
Signature   : (none)
Packager    : IndianGNU.org (http://www.indiangnu.org)
URL         : http://openlsm.sourceforge.net/
Summary     : openlsm Admin Server
Description :
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.
root@arunsb:~#

** หมายเหตุ ~ บทความ นี้ ไม่มี ข้อมูล เกี่ยว กับ การ กำหนด micros วิธี การ สำเนา เอกสาร หน้า มนุษย์ เริ่ม สถาน ที่ วิธี การ ตั้ง permision เป็นต้น เจ้าของ ฉัน จะ ครอบคลุม เรื่อง นี้ ใน บทความ ต่อ ไป ใน RPM.

** โปรด ดู ที่ บทความ ภาษา อังกฤษ ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

ความ นับถือ,
Arun Bagul

どのように作成したり、RPMパッケージを構築する

どのように作成したり、RPMパッケージを構築する

はじめに –

*””rpmbuildをツールの両方を構築するために使用され…

1)バイナリパッケージ〜ソフトウェアをインストールし、スクリプトをサポートする使用されます。これは、アプリケーションを構成するファイルが含まれ、任意の追加情報をインストールするには、それを消去する必要に沿っている。
2)ソースパッケージ〜ソースコード、パッチ、および仕様ファイルの元の圧縮されたtarファイルが含まれます。

*何のRPMとRPMパッケージマネージャですか?

RPMパッケージマネージャ(RPM)は、強力なコマンドラインのパッケージ管理システムをインストールすることができる、アンインストール、検証、クエリは、ソフトウェアパッケージのアップデート。

RPMパッケージのファイルやメタアーカイブの構成データをインストールすると、アーカイブファイルを消去する使用されます。メタデータのヘルパースクリプトは、ファイル属性、およびパッケージについての記述情報が含まれます。

*以下の3点を指定する必要があるRPMパッケージをビルドするには〜

アプリケーションの1)ソース – すべての場合には、ソースパッケージの構築プロセスで使用される変更しないでください。

2)パッチ – RPM形式を利用すると、自動的にパッチを適用することができます。パッチの問題は、ターゲットシステムに固有のアドレス。これは、適切なディレクトリ、またはクロスを解決するにプラットフォームの競合がアプリケーションをインストールするmakefileの変更を含めることができます。パッチは、環境に適切にコンパイルするために必要な作成します。

3)仕様書ファイル] – [ファイル仕様のRPMパッケージをビルドプロセスの中心にあります。この情報はRPMで、同様の手順どのように構築するRPMを伝えるパッケージをビルドするために必要が含まれます。仕様ファイルには、正確にどのようなファイルは、パッケージの一部であり、指示場所にインストールする必要があります。

**仕様ファイル〜8セクションを以下に示すように分割されて

1)前文〜したときのユーザーは、パッケージに関する情報を要求される情報が含まれます。これは、ソフトウェアのバージョン番号等は、パッケージの機能の説明が含まれます

イ)の準備〜ここでパッケージをビルドするのは、実際の作業を開始します。その名のとおり、このセクションでは、必要な準備を前に、ソフトウェアの実際の建物に作られています。もし何か必要な一般的に、ソースをする前にソフトウェアを構築するために行われるため、その準備のセクションで発生する必要があります。このセクションの内容は、通常のシェルスクリプトです。しかし、RPMを簡単に生活する2つのマクロを提供します。 1つのマクロは、圧縮されたtarファイルを展開することができますし、ソースディレクトリへcdします。他のマクロを簡単に展開したソースにパッチを適用します。

℃)ビルド〜このセクションでは、シェルスクリプトで構成されます。それは何のコマンドを実行するために使用され、実際の場合、またはビルドプロセスが複雑になる、makeコマンドを1つのように、ソースをコンパイルする必要がありますが必要です。ないマクロは、このセクションでご利用いただけます。

エ)をインストールする〜このセクションには、コマンドは実際にソフトウェアをインストールするために必要を実行するために使用されているセクションをインストールするシェルスクリプトを含む。

電子)のインストールとアンインストールスクリプトを〜これはスクリプトが実行されると、ユーザーのシステムでは、パッケージが実際にインストールまたは削除される上で構成されます。 RPMは/ポストインストール/パッケージの削除スクリプトを事前に実行することができます。

メス)を確認スクリプト〜は、ユーザーのシステム上で実行されるスクリプトです。このときのRPMパッケージの適切なインストールを検証が実行されます。

グラム)クリーン項〜は、ビルド後のことをクリーンアップすることができますスクリプトです。以来、RPMは、通常の良い仕事をしてこのスクリプトではほとんど使用され、クリーンアップ、ほとんどの環境を構築します。

h)ファイルリスト〜のファイルは、パッケージで構成されるリストから成ります。さらに、マクロの数を、インストール時にファイルの属性を制御するだけでなく、ファイルのマニュアルは、アールを示すために、および構成情報が含まれて使用することができます。ファイルのリストは非常に重要です。

環境を構築するための*** RPMの要件〜

] RPMには、ビルドを実行するディレクトリの設定が必要です。一方、ディレクトリの場所や名前を変更することができます。デフォルトのレイアウトは次のとおりです –

arunsb @ルート:〜#ls – lを/ usr / srcに/ RedHatの/

drwxr – xr – xに4096 25 2007ソース=”、およびアイコンのファイルは、オリジナルのソース、パッチが含まれて8月2日のルートルート
drwxr – xr – xに4096 25 2007スペック=”8月2日のルートルートは、仕様ファイルが含まれ
drwxr – xr – xに4096 25 2007ビルド=”ディレクトリは、ソースアンパックされ、&ソフトウェアを8月2日のルートルート構築されて
drwxr – xr – xに8ルートルート4096 2008年5月28日RPMSに=”バイナリパッケージに含まれてビルドプロセスによって作成されたファイル
drwxr – xr – xに4096 25 2007 SRPMS =”8月2日のルートルートは、ソースパッケージに含まれてビルドプロセスによって作成されたファイル

arunsb @ルート:〜#

のB]いくつかのグローバル変数をRPMで使用されるエクスポートする必要がある –

arunsb @ルート:〜#エクスポートRPM_BUILD_DIR = / usr / srcに/ RedHatの/は、BUILD /
arunsb @ルート:〜#エクスポートRPM_SOURCE_DIR = / usr / srcに/ redhat / SOURCESに/

ステップ1](spec)は、ファイル仕様書の作成〜

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

*どのようにファイルのリストを作成するのですか?

ファイルリストの作成は手動で処理します。何か私が私の手動インストールプレフィックスディレクトリからファイルをリストしたがわかる以下のようにコマンドを…

root@arunsb:~# find /usr/local/openlsm/ -type f -or  -type d

ステップ2]ビルドの開始〜

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

…。
… ..

アンパッケージファイル(複数可)を確認する場合:/ usr / libに/回転数/チェックアウトファイルを%(BuildRoot用)
書き込み:/ usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
書き込み:/ usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
arunsb @ルート:/ usr / srcに/ RedHatの/仕様#$エコー?
0

arunsb @ルート:/ usr / srcに/ RedHatの/仕様#ls – lを/ usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
– RWの- rを- rを- 1ルートルート3206 12月2日午後05時50分/ usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
arunsb @ルート:/ usr / srcに/ RedHatの/仕様#ls – lを/ usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
– RWの- rを- rを- 1ルートルート3052868 12月2日17時50分/ usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
arunsb @ルート:/ usr / srcに/ RedHatの/仕様#

*ソースとバイナリパッケージを作成!

のように”が起こったか/ usr / srcに/ RedHatの/”ディレクトリみましょう**

arunsb @ルート:/ usr / srcに/ RedHatの#PWDの
/ usr / srcに/ RedHatの
arunsb @ルート:/ usr / srcに/ RedHatの#1!
ビルドRPMSにソース仕様SRPMS
arunsb @ルート:/ usr / srcに/ RedHatの#1!は、BUILD /
openlsm – 0.99 – r45″==ソースここで”openlsm.spec”ファイル仕様すなわちからビルド手順の一部として抽出された
arunsb @ルート:/ usr / srcに/ RedHatの#1!ソース/
openlsm – 0.99 – r45.tar.gz”==’元のopenlsm – 0.99 – r45.tar.gz’ソース私がコピーされたファイル
arunsb @ルート:/ usr / srcに/ RedHatの#1!RPMS /ディレクトリ
のathlon i386以外i486のはi586 i686 noarch
arunsb @ルート:/ usr / srcに/ RedHatの#1!RPMS/i386 /
openlsm – 0.99 – r45.i386.rpm”==バイナリrpmパッケージを作成!
arunsb @ルート:/ usr / srcに/ RedHatの#1!SRPMS /
openlsm – 0.99 – r45.src.rpm”==ソースのRPMパッケージを作成!
arunsb @ルート:/ usr / srcに/ RedHatの#

ステップ3]今すぐにパッケージをインストールしてテストする〜

arunsb @ルート:/ usr / srcに/ RedHatの#cpはRPMS/i386/openlsm-0.99-r45.i386.rpm /ホーム/ arunsb /

arunsb @ルート:/ usr / srcに/ RedHatの#のCD /ホーム/ arunsb /
arunsb @ルート:〜#1!
openlsm – 0.99 – r45.i386.rpm
arunsb @ルート:〜#回転- ivh openlsm – 0.99 – r45.i386.rpm
準備中… ########################################### [100%]
1:openlsm ########################################### [100%]
arunsb @ルート:〜#1!/ usr /ローカル/ openlsm /
ビンのcontrib等libにsbinスクリプトを共有ヴァール含まれて
arunsb @ルート:〜#

** openlsmサーバーの始動〜

arunsb @ルート:〜#/ usr / / openlsmに/ contrib / openlsm – RedHatの起動ローカル
*料金openlsm管理サーバ:openlsm
。 [OK]を
arunsb @ルート:〜#
arunsb @ルート:〜#/ usr / / openlsmに/ contrib / openlsm – RedHatのステータスローカル
openlsm()が実行さ21607 pidを…
arunsb @ルート:〜#

arunsb @ルート:〜#回転- qをopenlsm – 0.99 – r45
openlsm – 0.99 – r45
arunsb @ルート:〜#

arunsb @ルート:〜#回転- QLのopenlsm – 0.99 – r45
..

arunsb @ルート:〜#RPMベースのqiv openlsm – 0.99 – r45
名前:openlsmリロケーション:()配置しない
バージョン:0.99メーカー:IndianGNU.org&openlsm
発売日:r45をビルド日付:Wed 2009年12月2日午前5時50分54秒午後IST
インストール日付:Wed 2009年12月2日6時06分23秒午後ISTビルドホスト:alongseveral – dr.eglbp.corp.yahoo.com
グループ:システム環境/デーモンSource RPM:openlsm – 0.99 – r45.src.rpm
サイズ:14877918ライセンス:GPL
署名:(なし)
パッケージャ:IndianGNU.org(http://www.indiangnu.org)
のURL:http://openlsm.sourceforge.net/
要約:openlsm管理サーバー
概要:
Linuxでは、Unixシステム用のopenlsm管理サーバー&オープンソースのウェブは無料ですベースのコントロールパネルを開きます。
arunsb @ルート:〜#

**注〜この資料では、どのようにドキュメントをコピーするマイクロを定義するための情報が含まれていない場合、manページを、どのようにpermisionと私はRPMに関する次回の記事では、このトピックをカバーする所有権等を設定する場所をデフォルトに。

**してください英語記事参照してください〜http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

よろしく、
Arun Bagul

Wie zu gründen oder auszubauen RPM-Paket

Wie zu gründen oder auszubauen RPM-Paket

Einführung —

* “Rpmbuild” Werkzeug wird verwendet, um beide zu bauen …

1) ~ Binary-Paket verwendet, um die Software zu installieren und Skripten unterstützt. Es enthält die Dateien, die die Anwendung umfassen, zusammen mit zusätzlichen Informationen, die zu installieren und zu löschen.
2) ~ Quellcode-Paket enthält die Original-komprimierten tar-Datei des Quellcodes, Patches und File-Spezifikation.

* Was ist RPM und RPM-Paket-Manager?

Die RPM Package Manager (RPM) ist ein leistungsfähiges Befehlszeilen-Paket-Management-System, das Installieren, Deinstallieren, Überprüfung, Abfrage und Aktualisierung von Softwarepaketen.

RPM-Paket besteht aus einem Archiv von Dateien und Meta-Daten, die zur Installation und Archiv-Dateien zu löschen. Die Meta-Daten umfassen Hilfsskripte, Dateiattribute und beschreibende Informationen über das Paket.

* So erstellen Sie RPM-Paket müssen Sie drei Dinge angeben ~

1) Quelle der Anwendung – in jedem Fall, sollten Sie nicht ändern, die Quellen in der Paket-Erstellung verwendet.

2) Patches – RPM gibt Ihnen die Möglichkeit, automatisch Patches zu ihnen. Der Patch behebt ein Problem, speziell für das Zielsystem. Dies könnte auch die Veränderung Makefiles um den Antrag in die entsprechenden Verzeichnisse der Lösung von Cross-Plattform installieren Konflikte. Patches erstellen, die Umwelt für die ordnungsgemäße Erstellung erforderlich.

3) Specification File – Die Spezifikation Datei befindet sich im Herzen von RPM-Paket Bauprozess. Es enthält Informationen, die von RPM benötigt, um das Paket zu erstellen, sowie Instruktionen, RPM, wie sie zu bauen. Die Spezifikation Datei bestimmt auch genau, welche Dateien ein Teil des Pakets sind, und wo sie installiert werden.

** Spezifikation Datei ~ ist um 8 Abschnitte unterteilt, wie unten gezeigt

a) Präambel ~ enthält Informationen, die angezeigt werden, wenn Anwender Informationen über das Paket anfordert. Dies würde eine Beschreibung der Funktion des Pakets gehören die Version der Software etc.

b) Herstellung ~ wo die eigentliche Arbeit des Aufbaus eines Pakets gestartet. Wie der Name schon sagt, ist dieser Abschnitt, wo die notwendigen Vorbereitungen vor dem eigentlichen Aufbau der Software vorgenommen werden. In der Regel, wenn alles muss geschehen, bevor die Quellen für den Aufbau der Software sein, muss es in der Vorbereitung Abschnitt passieren. Der Inhalt dieses Abschnitts sind eine normale Shell-Skript. Jedoch nicht RPM zwei Makros bieten das Leben leichter machen. Ein Makro kann eine komprimierte tar-Datei entpacken und in das Quell-Verzeichnis cd. Die anderen Makros gilt leicht Patches auf die entpackte Quellen.

c) Build ~ Dieser Abschnitt besteht aus einer Shell-Skript. Es wird verwendet, um Befehle auszuführen, was sind erforderlich, um tatsächlich den Quellen kompilieren wie Single-make-Befehl, oder komplizierter sein, wenn der Build-Prozess erfordert. Es gibt keine Makros in diesem Abschnitt.

d) Installieren ~ Dieser Abschnitt beinhaltet auch ein Shell-Skript, die Installation Abschnitt wird verwendet, um die Befehle benötigt, um tatsächlich die Installation der Software ausführen.

e) Installieren und Deinstallieren von Scripts ~ Es besteht aus Skripten, die ausgeführt werden, auf dem System des Benutzers, wenn das Paket tatsächlich installiert oder entfernt. RPM kann ein Script ausführen pre / post Installation / Deinstallation des Pakets.

f) Stellen Sie sicher, Script ~ Skript, das auf dem System des Benutzers ausgeführt wird. Es wird ausgeführt, wenn das RPM-Paket ist die ordnungsgemäße Installation überprüft.

g) Abschnitt Sauberkeit ~ Skript, das Dinge sauber nach dem aufbauen können. Dieses Skript wird nur selten verwendet, da RPM in der Regel einen guten Job gemacht hat Clean-up in den meisten Build-Umgebungen.

h) Dateiliste ~ besteht aus einer Liste von Dateien, die das Paket enthalten. Darüber hinaus können eine Reihe von Makros verwendet werden, um Dateiattribute Kontrolle bei der Installation, sowie zu bezeichnen, welche Dateien Dokumentation sind, und die Konfigurations-Informationen enthalten. Die Dateiliste ist sehr wichtig.

*** RPM Voraussetzung für die Build-Umgebung ~

A] U / min erfordert eine Reihe von Verzeichnissen, die Ausführung der zu bauen. Während die Standorte der Verzeichnisse und Namen können geändert werden. Standard-Layout wird unten gezeigt —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25. August 2007 SOURCES => Enthält die Original-Quellen, Patches und Icon-Dateien
drwxr-xr-x 2 root root 4096 25. August 2007 SPECS => Enthält die Spezifikations-Dateien
drwxr-xr-x 2 root root 4096 25. August 2007 BUILD => Verzeichnis, in dem die Quellen entpackt werden, und Software wird gebaut
drwxr-xr-x 8 root root 4096 28. Mai 2008 RPMS => Enthält die Binär-Paket Dateien, die von den Build-Prozess erstellt
drwxr-xr-x 2 root root 4096 25. August 2007 SRPMS => Quellcode-Paket enthält die Dateien, die von den Build-Prozess erstellt

root @ arunsb: ~ #

B] Need zu exportieren einige globale Variablen durch RPM verwendet —

root @ arunsb: ~ # export RPM_BUILD_DIR = / usr / src / redhat / BUILD /
root @ arunsb: ~ # export RPM_SOURCE_DIR = / usr / src / redhat / SOURCES /

Schritt 1] erstellen Spezifikation (spec) Datei ~

root @ arunsb: ~ # head-n 50 / usr / src / redhat / SPECS / openlsm.spec
# Authority: Arun Bagul

# RPM_BUILD_DIR / usr / src / redhat / BUILD /
# RPM_SOURCE_DIR / usr / src / redhat / SOURCES /

% define MY_PREFIX / usr / local / openlsm /

# # Präambel Section –
Name: openlsm
Version: 0.99
Hersteller: IndianGNU.org & openlsm
Release: r45
Group: System Environment / Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Zusammenfassung: openlsm Admin-Server
Lizenz: GPL

% description
openlsm Admin-Server ist kostenlos und Open-Source-Web-basiertes Control Panel für Linux, Unix-Systemen.

# # Section-Vorbereitung
% prep

rm-rf $ (RPM_BUILD_DIR) / openlsm-0.99-R45 /
tar xvfz RPM_SOURCE_DIR $ () / openlsm-0,99-r45.tar.gz-C $ (RPM_BUILD_DIR)

# # Build-Abschnitt
% build

cd ./openlsm-0.99-r45 /
. / configure-prefix = / usr / local / openlsm-with-mysql = / usr / bin / mysql_config-enable-interne-pcre-mit-geoip = / usr-with-ldap = / usr-enable-trace
machen

# # Install-Abschnitt
% install

cd ./openlsm-0.99-r45 /
make install

# # Files-Sektion
% files

/ usr / local / openlsm
/ usr / local / openlsm / etc / openlsm / openlsm.conf
/ usr / local / openlsm / etc / openlsm / openlsm.conf.perf_sample
/ usr / local / openlsm / etc / openlsm / ssl /
/ usr / local / openlsm / bin / openlsm-config
….
… ..
… .. Liste der Dateien, die von pkg installiert
root @ arunsb: ~ #

* Wie erstellen Sie die Datei-Liste?

Erstellen der Datei-Liste ist manuell. Was ich tat, ist nahm ich die Datei-Liste aus meiner Anleitung installiert Präfix Verzeichnis mit Befehl finden wie unten gezeigt …

root @ arunsb: ~ # find / usr / local / openlsm /-type f-oder-Typ D

Schritt 2] Ab dem Build ~

root @ arunsb: ~ # cd / usr / src / redhat / SPECS
root @ arunsb: / usr / src / redhat / SPECS # ls-l openlsm.spec
-rw-r-r-1 root root 12938 2. Dezember 17.21 openlsm.spec
root @ arunsb: / usr / src / redhat / SPECS #

root @ arunsb: / usr / src / redhat / SPECS # rpmbuild-ba openlsm.spec

….
… ..

Überprüfen bei unverpackten Datei (en): / usr / lib / rpm / check-files% (buildroot)
Schrieb: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Schrieb: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 2. Dezember 17.50 Uhr / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3052868 2. Dezember 17.50 Uhr / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Quelle und Binär-Paket erzeugt!

** Mal sehen, was passiert ist in “/ usr / src / redhat /”-Verzeichnis

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
BUILD RPMS SOURCES SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0.99-r45 <== Quelle extrahiert hier als Teil des Build-Instruktionen von der Spezifikation Datei zB “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls SOURCES /
openlsm-0,99-r45.tar.gz <== Original “openlsm-0,99-r45.tar.gz” Quelle von mir kopierte Datei
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat RPMS/i386 # ls /
openlsm-0,99-r45.i386.rpm <== Binär-RPM-Paket erstellt!
root @ arunsb: / usr / src / redhat SRPMS # ls /
openlsm-0,99-r45.src.rpm <== Source-RPM-Paket erstellt!
root @ arunsb: / usr / src / redhat #

Schritt 3] Jetzt installieren Sie das Paket und testen Sie es ~

root @ arunsb: / usr / src / redhat RPMS/i386/openlsm-0.99-r45.i386.rpm # cp / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
openlsm-0,99-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0,99-r45.i386.rpm
Preparing … ########################################### [100%]
1: openlsm ########################################### [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
bin contrib etc gehören lib sbin Skripte Aktien var
root @ arunsb: ~ #

** Starten des openlsm-Server ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat starten
* Starting openlsm Admin-Server: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm redhat-Status
openlsm (pid 21607) läuft …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0.99-r45
openlsm-0.99-r45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0.99-r45
..

root @ arunsb: ~ # rpm-qiv openlsm-0.99-r45
Name: openlsm Relocations: (nicht verschiebbar)
Version: 0.99 Hersteller: IndianGNU.org & openlsm
Release: r45 Build Date: Mi 02 Dec 2009 05:50:54 PM ist
Install Date: Mi 02 Dec 2009 06:06:23 PM ist Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group: System Environment / Daemons Source RPM: openlsm-0,99-r45.src.rpm
Grösse: 14877918 Lizenz: GPL
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Zusammenfassung: openlsm Admin-Server
Beschreibung:
openlsm Admin-Server ist kostenlos und Open-Source-Web-basiertes Control Panel für Linux, Unix-Systemen.
root @ arunsb: ~ #

** Hinweis ~ Dieser Artikel keine Informationen darüber enthalten, wie micros definieren, wie man Dokumente zu kopieren, sind man-Seiten Standort standardmäßig, wie Baugenehmigungen und Eigenverantwortung usw. Ich werde diese Themen im nächsten Artikel über RPM-Decke.

** Bitte beachten Sie die Englisch Artikel ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Grüße,
Arun Bagul

Hoe te creëren of RPM Package

Hoe te creëren of RPM Package

Inleiding –

* “Rpmbuild” tool wordt gebruikt om zowel …

1) Binary Package ~ gebruikt om de software te installeren en scripts ondersteunen. Het bevat de bestanden die de aanvraag omvat, samen met eventuele aanvullende informatie die nodig is te installeren en te verwijderen.
2) Bron Pakket ~ bevat de oorspronkelijke gecomprimeerde tar-bestand van de broncode, patches en specificatie File.

* Wat is RPM & RPM Package Manager?

De RPM Package Manager (RPM) is een krachtige command line package management systeem kunnen installeren, verwijderen, verificatie, opvragen en bijwerken van software pakketten.

RPM package bestaat uit een archief van bestanden en meta-data gebruikt voor het installeren en het archief bestanden te wissen. De meta-data bevat helper scripts, file attributen en beschrijvende informatie over het pakket.

* Om RPM-pakket moet u drie dingen specificeren ~

1) Bron van toepassing – in ieder geval, moet je niet wijzigen van de bronnen die gebruikt worden in het pakket bouwproces.

2) Patches – RPM geeft je de mogelijkheid om automatisch patches van toepassing zijn. De patch verhelpt een probleem specifiek voor het doelsysteem. Dit kan onder meer veranderende makefiles om de applicatie te installeren in de juiste mappen, of cross-platform oplossing van conflicten. Patches creëren voor het milieu vereist voor een goede compilatie.

3) Specificatie Bestand – De specificatie bestand wordt in het hart van RPM pakket bouwproces. Het bevat informatie die nodig is door RPM aan het pakket te bouwen, evenals instructies RPM vertellen hoe het te bouwen. De specificatie bestand dicteert ook exact welke bestanden zijn een onderdeel van het pakket, en waar ze moeten worden geïnstalleerd.

** Specificatie bestand ~ is onderverdeeld in 8 afdelingen zoals hieronder weergegeven

a) Preambule ~ bevat informatie die wordt weergegeven wanneer gebruikers verzoek informatie over het pakket. Dit zou ook een beschrijving van de functie van het pakket, het versienummer van de software, enz.

b) Bereiding ~ waar de feitelijke werkzaamheden van de bouw van een pakket gestart. Zoals de naam al zegt, dit gedeelte is waar de noodzakelijke voorbereidingen worden voorafgaand aan de daadwerkelijke bouw van de software gemaakt. In het algemeen, als er iets moet worden gedaan om de bronnen voorafgaand aan de opbouw van de software, moet het gebeuren in de voorbereiding sectie. De inhoud van deze afdeling zijn een gewone shell script. Echter RPM bieden twee macro’s om het leven gemakkelijker te maken. Een macro kan uitpakken een gecomprimeerd tar-bestand en cd in de bron directory. De andere macro geldt gemakkelijk patches om de uitgepakte bronnen.

c) Bouw ~ Dit deel bestaat uit een shell-script. Het wordt gebruikt om wat opdrachten uit te voeren zijn nodig om daadwerkelijk samen te stellen de bronnen zoals enkele make commando, of meer complexe als het proces bouwen vereist. Er zijn geen macro’s beschikbaar in deze sectie.

d) Installeer ~ Dit deel bevat ook een shell script, de installatie sectie wordt gebruikt om de commando’s nodig zijn om daadwerkelijk installeren van de software uit te voeren.

e) installeren en verwijderen Scripts ~ Het bestaat uit scripts die worden uitgevoerd, op het systeem van de gebruiker, wanneer het pakket daadwerkelijk is geïnstalleerd of verwijderd. RPM kan uitvoeren van een script pre / post installatie / verwijdering van de verpakking.

f) Controleer Script ~ script dat wordt uitgevoerd op het systeem van de gebruiker. Het wordt uitgevoerd als RPM controleert correcte installatie van het pakket.

g) schoon gedeelte ~ script dat kan dingen schoon te maken na het bouwen. Dit script wordt zelden gebruikt, omdat RPM doorgaans een goede baan heeft van de clean-up in de meeste omgevingen te bouwen.

h) Bestand Lijst ~ bestaat uit een lijst van bestanden die zal bestaan uit het pakket. Daarnaast kunnen een aantal macro’s worden gebruikt om de controle bestandskenmerken wanneer geïnstalleerd, alsmede om aan te geven welke bestanden zijn documentatie, en welke configuratie-informatie bevatten. Het bestand lijst is erg belangrijk.

Eis *** RPM’s voor milieu bouwen ~

A] RPM vereist een set van mappen het uitvoeren van de te bouwen. Hoewel de locaties van de mappen ‘en namen kunnen worden gewijzigd. Standaard lay-out is hieronder weergegeven —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 augustus 2007 SOURCES => Bevat de oorspronkelijke bronnen, patches en bestanden icon
drwxr-xr-x 2 root root 4096 25 augustus 2007 SPECS => Bevat de specificatie bestanden
drwxr-xr-x 2 root root 4096 25 augustus 2007 BUILD => directory waarin de bronnen zijn uitgepakt, & software is gebouwd
drwxr-xr-x 8 root root 4096 28 mei 2008 RPMS => Bevat de binary bestanden die door het bouwproces
drwxr-xr-x 2 root root 4096 25 augustus 2007 SRPMS => Bevat de broncode bestanden die door het bouwproces

root @ arunsb: ~ #

B] Need exporteren paar globale variabelen gebruikt door RPM —

root @ arunsb: ~ # export RPM_BUILD_DIR = / usr / src / redhat / build /
root @ arunsb: ~ # export RPM_SOURCE_DIR = / usr / src / redhat / SOURCES /

Stap 1] Maak Specification (spec) File ~

root @ arunsb: ~ # head-n 50 / usr / src / redhat / SPECS / openlsm.spec
# Authority: Arun Bagul

# RPM_BUILD_DIR / usr / src / redhat / build /
# RPM_SOURCE_DIR / usr / src / redhat / SOURCES /

% define MY_PREFIX / usr / local / openlsm /

# # Section-Preambule
Naam: openlsm
Versie: 0.99
Verkoper: IndianGNU.org & openlsm
Release: R45
Groep: Systeem Milieu / Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Samenvatting: openlsm Admin Server
Licentie: GPL

% description
openlsm Admin Server is gratis en open source web-based control panel voor Linux, Unix-systemen.

# # Voorbereiding Section –
% prep

rm-rf $ (RPM_BUILD_DIR) / openlsm-0,99-R45 /
tar xvfz RPM_SOURCE_DIR $ () / openlsm-0,99-r45.tar.gz-C $ () RPM_BUILD_DIR

# # Section-Build
% build

cd ./openlsm-0.99-r45 /
. / configure-prefix = / usr / local / openlsm-with-mysql = / usr / bin / mysql_config-enable-interne-pcre-met-geoip = / usr-with-ldap = / usr-enable-trace
maken

# # Install Section –
% installeren

cd ./openlsm-0.99-r45 /
make install

# # Section-Files
% files

/ usr / local / openlsm
/ usr / local / openlsm / etc / openlsm / openlsm.conf
/ usr / local / openlsm / etc / openlsm / openlsm.conf.perf_sample
/ usr / local / openlsm / etc / openlsm / ssl /
/ usr / local / openlsm / bin / openlsm-config
….
… ..
… .. lijst met bestanden geïnstalleerd door pkg
root @ arunsb: ~ #

* Hoe creëer je de File List?

Het creëren van het bestand lijst is handmatig proces. Wat ik deed is nam ik de lijst met bestanden van mijn handleiding geïnstalleerd prefix directory met commando vinden, zoals hieronder weergegeven …

root @ arunsb: ~ # find / usr / local / openlsm /-type f-of-type d

Stap 2] Vanaf de Bouw ~

root @ arunsb: ~ # cd / usr / src / redhat / SPECS
root @ arunsb: / usr / src / redhat / SPECS # ls-l openlsm.spec
-rw-r-r-1 root root 12938 2 december 17:21 openlsm.spec
root @ arunsb: / usr / src / redhat / SPECS #

root @ arunsb: / usr / src / redhat / SPECS # rpmbuild-ba openlsm.spec

….
… ..

Controle voor onverpakte file (s): / usr / lib / rpm / check-bestanden BuildRoot% ()
Schreef: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
Schreef: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 2 december 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3052868 2 december 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Bron en binair pakket gemaakt!

** Laten we eens kijken wat er gebeurd is in “/ usr / src / redhat /” directory

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
BUILD RPMS BRONNEN SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BOUWEN /
openlsm-0,99-R45 <== Bron gewonnen hier als onderdeel van de instructies uit specificatie bestand dwz “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls bronnen /
openlsm-0,99-r45.tar.gz <== originele ‘openlsm-0,99-source r45.tar.gz’ bestand gekopieerd door mij
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
openlsm-0,99-r45.i386.rpm <== binaire RPM package aangemaakt!
root @ arunsb: / usr / src / redhat # ls SRPMS /
openlsm-0,99-r45.src.rpm <== Bron rpm package aangemaakt!
root @ arunsb: / usr / src / redhat #

Stap 3] Nu het pakket installeert en test het ~

root @ arunsb: / usr / src / redhat RPMS/i386/openlsm-0.99-r45.i386.rpm # cp / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
openlsm-0,99-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0,99-r45.i386.rpm
Voorbereiden … ########################################### [100%]
1: openlsm ########################################### [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
bin contrib etc omvatten lib sbin scripts aandeel var
root @ arunsb: ~ #

** Het starten van de openlsm server ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat start
* Vanaf openlsm admin server: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm-redhat status
openlsm (pid 21607) is running …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0,99-R45
openlsm-0,99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0,99-R45
..

root @ arunsb: ~ # rpm-qiv openlsm-0,99-R45
Naam: openlsm Relocations: (niet verplaatsbare)
Versie: 0.99 Vendor: IndianGNU.org & openlsm
Release: R45 Build Date: Fri 02 december 2009 05:50:54 PM IST
Installeer Datum: wo 02 december 2009 06:06:23 PM IST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Groep: Systeem Milieu / Daemons Source RPM: openlsm-0,99-r45.src.rpm
Grootte: 14877918 Licentie: GPL
Handtekening: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Samenvatting: openlsm Admin Server
Beschrijving:
openlsm Admin Server is gratis en open source web-based control panel voor Linux, Unix-systemen.
root @ arunsb: ~ #

** OPMERKING ~ In dit artikel wordt geen informatie bevatten over hoe de micro’s te definiëren, hoe je documenten te kopiëren, om man pagina’s standaard locatie, hoe u goedkeuringen en eigendom enz. Ik zal de dekking van deze onderwerpen in het volgende artikel over RPM.

** Raadpleeg de engels artikel ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Groeten,
Arun Bagul

Comment créer ou de construire les paquetages RPM

Comment créer ou de construire les paquetages RPM

Introduction —

Outil * “rpmbuild” est utilisé pour construire les deux …

1) ~ paquet binaire utilisé pour installer le logiciel et le soutien des scripts. Il contient les fichiers qui composent la demande ainsi que toute information supplémentaire nécessaire à l’installation et l’effacer.
2) le paquet source ~ contient le fichier d’origine compressé tar du code source, les correctifs et les spécifications du fichier.

* Qu’est-ce que RPM et RPM Package Manager?

Le RPM Package Manager (RPM) est une puissante ligne de commande du système de gestion des paquets capable d’installation, la désinstallation, la vérification, l’interrogation et la mise à jour des paquets logiciels.

RPM paquet se compose d’une archive de fichiers et de méta-données utilisées pour l’installation et effacer les fichiers d’archive. Les méta-données comprennent des scripts d’aide, les attributs de fichier, et des informations descriptives sur le paquet.

* Mettre en place paquet RPM, vous devez spécifier trois choses ~

1) Source d’application – Dans tous les cas, vous ne devez pas modifier les sources utilisées dans le processus de construction du paquet.

2) Patches – RPM vous donne la possibilité d’appliquer automatiquement les correctifs pour eux. Le patch résout un problème spécifique au système cible. Cela pourrait comprendre l’évolution makefiles pour installer l’application dans les répertoires appropriés, ou résoudre des conflits inter-plate-forme. Patches créer l’environnement requis pour la compilation correcte.

3) la spécification de fichier – Le fichier image est au cœur du processus d’édification de paquet RPM. Il contient des informations requises par RPM pour construire le paquet, ainsi que des instructions disant RPM manière de le construire. Le fichier de spécification dicte aussi exactement quels fichiers sont une partie du paquet, et où ils doivent être installés.

** Spécification de fichier ~ est divisé en 8 sections, comme indiqué ci-dessous

a) Préambule ~ contient des renseignements qui seront affichés lorsque les utilisateurs demandent des informations sur le package. Cela comprend une description de la fonction du paquet, le numéro de version du logiciel, etc

b) Préparation ~ lorsque les travaux de construction d’un paquet démarre. Comme son nom l’indique, cette section est l’endroit où les préparatifs nécessaires sont effectués avant la construction proprement dite du logiciel. En général, si quelque chose doit être fait pour les sources avant de compiler le logiciel, il doit se passer dans la section préparation. Le contenu de cette section sont d’un script shell ordinaire. Toutefois, le RPM ne prévoit deux macros pour rendre la vie plus facile. Une macro peut décompresser un fichier compressé tar et un cd dans le répertoire source. La macro s’applique facilement d’autres correctifs pour les sources décompressées.

c) Construction ~ Cette section est composée d’un script shell. Il est utilisé pour exécuter toutes les commandes sont requises pour compiler les sources effectivement comme seule commande make, ou être plus complexe si le processus de construction il a besoin. Il n’ya pas de macros disponibles dans cette section.

d) Installer ~ Cette section contient également un script shell, la section d’installation est utilisé pour exécuter les commandes nécessaires pour installer les logiciels.

e) Installez et les scripts de désinstallation ~ Il est composé de scripts qui seront exécutés, le système de l’utilisateur, lorsque le paquet est effectivement installés ou enlevés. RPM peut exécuter un script de pre / post installation ou l’enlèvement de l’emballage.

f) Vérifier Script ~ script qui est exécuté sur le système de l’utilisateur. Il est exécuté lors de RPM vérifie une bonne installation du paquet.

g) L’article Clean ~ script qui peut nettoyer les choses en place après la construction. Ce script est rarement utilisée, car RPM ne normalement un bon travail de nettoyage dans la plupart construire des environnements.

h) Liste des fichiers ~ se compose d’une liste de fichiers qui composent le paquet. En outre, un certain nombre de macros peuvent être utilisés pour contrôler les attributs de fichier lors de l’installation, ainsi que pour indiquer quels sont les fichiers de documentation, et qui contiennent des informations de configuration. La liste des fichiers est très important.

*** Exigence de RPM pour construire environnement ~

A] RPM requiert un ensemble de répertoires pour effectuer la compilation. Bien des endroits les répertoires et les noms peuvent être changés. Disposition par défaut est montré ci-dessous —

root @ arunsb: ~ # ls-l / usr / src / redhat /

drwxr-xr-x 2 root root 4096 25 août 2007 SOURCES => contient les sources originales, les correctifs et les fichiers d’icône
drwxr-xr-x 2 root root 4096 25 août 2007 specs => contient les fichiers de spécification
drwxr-xr-x 2 root root 4096 25 août 2007 “Build => répertoire dans lequel les sources sont décompressés, et le logiciel est intégré
drwxr-xr-x 8 root root 4096 Mai 28 2008 tr-mn => contient le paquet binaire des fichiers créés par le processus de construction
drwxr-xr-x 2 root root 4096 25 août 2007 SRPMS => contient le paquet source des fichiers créés par le processus de construction

root @ arunsb: ~ #

B] besoin d’exporter quelques variables globales utilisées par RPM —

root @ arunsb: ~ # export RPM_BUILD_DIR = / usr / src / redhat / BUILD /
root @ arunsb: ~ # export RPM_SOURCE_DIR = / usr / src / redhat / SOURCES /

Etape 1] Créez Specification (SPEC) du fichier ~

root @ arunsb: ~ # head-n 50 / usr / src / redhat / SPECS / openlsm.spec
# Authority: Arun Bagul

# RPM_BUILD_DIR / usr / src / redhat / BUILD /
# RPM_SOURCE_DIR / usr / src / redhat / SOURCES /

% define MY_PREFIX / usr / local / openlsm /

# # Préambule Section –
Nom: openlsm
Version: 0.99
Vendeur: IndianGNU.org & openlsm
Sortie: r45
Group: System Environment / Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Résumé: openlsm Admin Serveur
Licence: GPL

description%
openlsm Admin Server est gratuit & web open source basé panneau de commande de Linux, les systèmes Unix.

# # Préparation Section –
prep%

rm-rf $ (RPM_BUILD_DIR) / openlsm-0.99-R45 /
tar xvfz RPM_SOURCE_DIR $ () / openlsm-0.99-r45.tar.gz-C $ () RPM_BUILD_DIR

# # Construction Section –
% build

./openlsm-0.99-r45 cd /
. / configure-prefix = / usr / local / openlsm-with-mysql = / usr / bin / mysql_config-enable-pcre internes-avec-geoip = / usr-with-ldap = / usr-enable-trace
faire

# # Installez Section –
% install

./openlsm-0.99-r45 cd /
make install

# # # # Files section –
% files

/ usr / local / openlsm
/ usr / local / openlsm / etc / openlsm / openlsm.conf
/ usr / local / openlsm / etc / openlsm / openlsm.conf.perf_sample
/ usr / local / openlsm / etc / openlsm ssl /
/ usr / local / openlsm / bin / openlsm-config
….
… ..
… .. liste des fichiers installés par paquet
root @ arunsb: ~ #

* Comment créer la liste de fichiers?

Création de la liste des fichiers est procédé manuel. Ce que j’ai fait est j’ai pris la liste des fichiers de mon répertoire manuel préfixe installé avec la commande find tel qu’indiqué ci-dessous …

root @ arunsb: ~ # find / usr / local / openlsm /-type f-ou-type d

Etape 2] A partir de la Construction ~

root @ arunsb: ~ # cd / usr / src / redhat / SPECS
root @ arunsb: / usr / src / redhat / SPECS # ls-l openlsm.spec
-rw-r-r-1 root root 12938 Dec 2 17:21 openlsm.spec
root @ arunsb: / usr / src / redhat / SPECS #

root @ arunsb: / usr / src / redhat / SPECS # rpmbuild-ba openlsm.spec

….
… ..

Vérification des fichiers non emballés (s): / usr / lib / rpm / check-files% () buildroot
A écrit: / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
A écrit: / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS # echo $?
0

root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
-rw-r-r-1 root root 3206 Dec 2 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
root @ arunsb: / usr / src / redhat / SPECS # ls-l / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
-rw-r-r-1 root root 3052868 Dec 2 17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
root @ arunsb: / usr / src / redhat / SPECS #

* Source et paquet binaire créé!

** Voyons ce qui s’est passé dans “/ usr / src / redhat / répertoire”

root @ arunsb: / usr / src / redhat # pwd
/ usr / src / redhat
root @ arunsb: / usr / src / redhat # ls
Construire des RPM SOURCES SPECS SRPMS
root @ arunsb: / usr / src / redhat # ls BUILD /
openlsm-0.99-r45 <== Source extrait ici dans le cadre des instructions de compilation de dire la spécification de fichier “openlsm.spec”
root @ arunsb: / usr / src / redhat # ls SOURCES
openlsm-0.99-r45.tar.gz <== openlsm original »-0.99-r45.tar.gz« source fichier copié par moi
root @ arunsb: / usr / src / redhat # ls RPMS /
athlon i386 i486 i586 i686 noarch
root @ arunsb: / usr / src / redhat # ls RPMS/i386 /
openlsm-0.99-r45.i386.rpm <== paquet rpm binaire créé!
root @ arunsb: / usr / src / redhat # ls SRPMS /
openlsm-0.99-r45.src.rpm <== paquet RPM source créé!
root @ arunsb: / usr / src / redhat #

Etape 3] Maintenant, installez le paquet et de le tester ~

root @ arunsb: / usr / src / redhat RPMS/i386/openlsm-0.99-r45.i386.rpm # cp / home / arunsb /

root @ arunsb: / usr / src / redhat # cd / home / arunsb /
root @ arunsb: ~ # ls
openlsm-0.99-r45.i386.rpm
root @ arunsb: ~ # rpm-ivh openlsm-0.99-r45.i386.rpm
Preparing … ########################################### [100%]
1: ########################################### openlsm [100%]
root @ arunsb: ~ # ls / usr / local / openlsm /
etc contrib bin comprennent var scripts lib sbin part
root @ arunsb: ~ #

** Démarrage du serveur openlsm ~

root @ arunsb: ~ # / usr / local / openlsm / contrib / redhat openlsm-start
* À partir du serveur admin openlsm: openlsm
. [OK]
root @ arunsb: ~ #
root @ arunsb: ~ # / usr / local / openlsm / contrib / openlsm statut redhat
openlsm (pid 21607) est en cours d’exécution …
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-q openlsm-0.99-R45
openlsm-0.99-R45
root @ arunsb: ~ #

root @ arunsb: ~ # rpm-ql openlsm-0.99-r45
..

root @ arunsb: ~ # rpm-openlsm qiv-0.99-R45
Nom: Mouvements openlsm: (not relocatable)
Version: 0.99 du vendeur: IndianGNU.org & openlsm
Sortie: r45 Build Date: Wed 02 Dec 2009 05:50:54 PM CEST
Install Date: mer 02 Dec 2009 06:06:23 PM CEST Build Host: alongseveral-dr.eglbp.corp.yahoo.com
Group: System Environment / Daemons Source RPM: openlsm-0.99-r45.src.rpm
Taille: 14877918 Licence: GPL
Signature: (none)
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Résumé: openlsm Admin Serveur
Description:
openlsm Admin Server est gratuit & web open source basé panneau de commande de Linux, les systèmes Unix.
root @ arunsb: ~ #

** REMARQUE ~ Cet article ne contient pas d’informations sur la façon de définir les micros, comment copier des documents, pages de manuel pour l’emplacement par défaut, comment définir permision et etc appropriation Je vais couvrir ce sujet dans l’article suivant sur RPM.

** S’il vous plaît consulter l’article anglais ~ http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

Observe,
Arun Bagul

如何创建或生成RPM包

如何创建或生成RPM包

简介 –

*“rpmbuild”工具用来建立两个…

1)〜用二进制包安装软件和支持脚本。它包含的文件,包括申请,连同任何其他信息,需要安装和清除它。
2)源码包〜包含源代码,补丁和规范文件的原始压缩的tar文件。

*什么是转&RPM软件包管理器?

RPM软件包管理器(转)是一个功能强大的命令行包管理系统能够安装,卸载,验证,查询和更新软件包。

RPM软件包包括一个存档文件和元数据用于安装和删除的档案文件。元数据包括辅助脚本,文件属性,以及有关包装的描述性信息。

*建立一个RPM软件包你需要指定三件事〜

1)来源的应用 – 在任何情况下,你不应该修改包建设过程中使用的来源。

2)补丁 – 转速使您能够自动应用补丁给他们。该补丁解决了问题,具体到目标系统。这可能包括改变makefile文件安装到适当的目录,或解决跨平台的应用程序冲突。创造适当的修补程序编译所需的环境。

3)规范文件 – 该规范文件是在RPM软件包建设进程的核心。它包含了RPM的要求建立包,并指示告诉转速怎样建设社会主义的信息。该规范文件也决定了哪些文件是一揽子的一部分,他们应该被安装。

**规格文件〜分为如下所示为8节

1)序言〜包含的信息将显示当用户请求对包的信息。这将包括包的功能描述,该软件的版本号等

b)筹备〜那里的建设方案实际工作开始。顾名思义,这一节是在有必要的准备工作之前作出实际的软件建设。一般来说,如果有什么需要做的来源之前,建设软件,它需要发生在准备一节。本节的内容是一个普通的shell脚本。然而,转速确实提供两个宏,使生活更轻松。一个宏可以解压缩tar文件,并到源目录cd。其他宏可以容易地应用补丁的解来源。

c)建立〜本节的一个shell脚本组成。它是用来执行任何命令,必须像一个真正编译的来源作出命令,或更复杂,如果在生成过程需要它。没有宏本节可用。

四)安装〜本节还包含一个shell脚本,安装部分是用来执行实际安装所需软件的命令。

五)安装和卸载脚本〜它包括脚本将运行,对用户的系统,在实际安装包或删除。转速可以执行脚本前/后安装/删除软件包。

六)验证脚本〜脚本在用户的系统上执行。这是转速时执行验证程序包的正确安装。

克)清洁组〜脚本,它可以清除后建立的东西了。此脚本是很少使用,因为转速通常做得很好的清洁工作最构建环境。

h)文件清单〜包含的文件列表,将组成包。另外,一些宏可以用来控制文件安装时的属性,以及用来表示哪些文件文档,其中包含配置信息。该文件清单是非常重要的。

*** RPM的要求,为构建环境〜

甲] RPM的需要设置的目录执行建设。虽然目录的位置和名称可以更改。默认布局如下 –

根@ arunsb:〜#编号:LS -升/ usr / src下/红帽/

drwxr – XR的- × 2根4096根2007年8月25日来源=“包含原始来源,修补程序和图标文件
drwxr – XR的- × 2根4096根2007年8月25日规格=“包含规范文件
drwxr – XR的- × 2根4096根2007年8月25日建立=“目录中的源解,与软件构建
drwxr – XR的,× 8根根4096 2008年5月28日从RPMS =“包含二进制软件包文件的生成过程中产生
drwxr – XR的- × 2根4096根2007年8月25日SRPMS =“包含源包文件创建的构建过程

根@ arunsb:〜#

乙]需要出口的转用几个全局变量 –

根@ arunsb:〜#出口RPM_BUILD_DIR = / usr / src下/红帽/建设/
根@ arunsb:〜#出口RPM_SOURCE_DIR = / usr / src下/红帽/来源/

步骤1]创建规范(规格)文件〜

root@arunsb:~# head -n 50  /usr/src/redhat/SPECS/openlsm.spec
# Authority: Arun Bagul

#RPM_BUILD_DIR    /usr/src/redhat/BUILD/
#RPM_SOURCE_DIR    /usr/src/redhat/SOURCES/

%define MY_PREFIX    /usr/local/openlsm/

## Preamble Section-
Name: openlsm
Version: 0.99
Vendor: IndianGNU.org & openlsm
Release: r45
Group: System Environment/Daemons
Packager: IndianGNU.org (http://www.indiangnu.org)
URL: http://openlsm.sourceforge.net/
Summary: openlsm Admin Server
License: GPL

%description
openlsm Admin Server is free & open source web based control panel for Linux,Unix systems.

## Preparation Section-
%prep

rm -rf ${RPM_BUILD_DIR}/openlsm-0.99-r45/
tar xvfz ${RPM_SOURCE_DIR}/openlsm-0.99-r45.tar.gz -C ${RPM_BUILD_DIR}

## Build Section-
%build

cd ./openlsm-0.99-r45/
./configure –prefix=/usr/local/openlsm –with-mysql=/usr/bin/mysql_config –enable-internal-pcre –with-geoip=/usr –with-ldap=/usr –enable-trace
make

## Install Section-
%install

cd ./openlsm-0.99-r45/
make install

## Files Section-
%files

/usr/local/openlsm
/usr/local/openlsm/etc/openlsm/openlsm.conf
/usr/local/openlsm/etc/openlsm/openlsm.conf.perf_sample
/usr/local/openlsm/etc/openlsm/ssl/
/usr/local/openlsm/bin/openlsm-config
….
…..
….. list of files installed by pkg
root@arunsb:~#

*你如何创建文件列表?

创建文件列表手动过程。我所做的是我从我的手工安装前缀目录中的文件列表中找到命令,如下所示…

根@ arunsb:〜#找到/ usr /本地/ openlsm /型的F -或- D型

步骤2]开始生成〜

root@arunsb:~# cd /usr/src/redhat/SPECS
root@arunsb:/usr/src/redhat/SPECS# ls -l  openlsm.spec
-rw-r–r– 1 root root 12938 Dec  2 17:21 openlsm.spec
root@arunsb:/usr/src/redhat/SPECS#

root@arunsb:/usr/src/redhat/SPECS# rpmbuild   -ba  openlsm.spec

…。
… ..

检查包装的文件(补):/ usr / lib /转速/检查文件%(buildroot)
说:/ usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
说:/ usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
根@ arunsb:/ usr / src下/红帽/回声规格#$?
0

根@ arunsb:/ usr / src下/红帽/规格#编号:LS -升/ usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
刻录- R – R间- 1根根3206年12月2 17:50 / usr/src/redhat/SRPMS/openlsm-0.99-r45.src.rpm
根@ arunsb:/ usr / src下/红帽/规格#编号:LS -升/ usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
刻录- R – R间- 1根根3052868 12月2日17:50 / usr/src/redhat/RPMS/i386/openlsm-0.99-r45.i386.rpm
根@ arunsb:/ usr / src下/红帽/规格#

*源代码和二进制包创建!

**让我们看看发生在“/ usr / src下/红帽/”目录

根@ arunsb:/ usr / src目录/红帽#密码
/ usr / src目录/红帽
根@ arunsb:/ usr / src目录/红帽#提单
建立制造系统源规格SRPMS
根@ arunsb:/ usr / src目录/红帽#提单建设/
openlsm – 0.99 – r45“==源提取这里作为构建规范文件的说明部分,即”openlsm.spec“
根@ arunsb:/ usr / src目录/红帽#提单源/
openlsm – 0.99 – r45.tar.gz“==原’openlsm – 0.99 – r45.tar.gz’源文件复制到我
根@ arunsb:/ usr / src目录/红帽#提单制造系统/
速龙的I386的i486 i586 i686 noarch
根@ arunsb:/ usr / src目录/红帽#提单RPMS/i386 /
openlsm – 0.99 – r45.i386.rpm“==二进制rpm包创建!
根@ arunsb:/ usr / src目录/红帽#提单SRPMS /
openlsm – 0.99 – r45.src.rpm“==源rpm包创建!
根@ arunsb:/ usr / src目录/红帽#

第三步]现在安装的封装和测试它〜

根@ arunsb:/ usr / src目录/ Redhat的#处长RPMS/i386/openlsm-0.99-r45.i386.rpm /家庭/ arunsb /

根@ arunsb:/ usr / src目录/红帽#的CD /家庭/ arunsb /
根@ arunsb:〜#储蓄
openlsm – 0.99 – r45.i386.rpm
根@ arunsb:〜#转脑室内出血openlsm – 0.99 – r45.i386.rpm
准备… ########################################### [100%]
1:openlsm ########################################### [100%]
根@ arunsb:〜#执行ls / usr /本地/ openlsm /
拉登的contrib等包括lib sbin脚本分享功
根@ arunsb:〜#

**启动openlsm服务器〜

根@ arunsb:〜#/ usr /本地/ openlsm /的contrib / openlsm,红帽启动
*启动openlsm管理服务器:openlsm
。 [行]
根@ arunsb:〜#
根@ arunsb:〜#/ usr /本地/ openlsm /的contrib / openlsm,RedHat的地位
openlsm(的PID 21607)正在运行…
根@ arunsb:〜#

根@ arunsb:〜#转- Q表openlsm – 0.99 – r45
openlsm – 0.99 – r45
根@ arunsb:〜#

根@ arunsb:〜#转查询语言openlsm – 0.99 – r45
..

根@ arunsb:〜#转- qiv的openlsm – 0.99 – r45
名称:openlsm重定位:(不重定位)
版本:0.99供应商:IndianGNU.org&openlsm
发布:r45生成日期:星期三2009年12月2日下午5时50分54秒北京时间
安装日期:星期三2009年12月2日下午六时06分23秒北京时间生成主机:alongseveral – dr.eglbp.corp.yahoo.com
组:系统环境/守护程序源RPM:openlsm – 0.99 – r45.src.rpm
大小:14877918许可:GPL
签名:(无)
包装:IndianGNU.org(http://www.indiangnu.org)
网址:http://openlsm.sourceforge.net/
摘要:openlsm管理服务器
描述:
openlsm管理服务器是免费和开放源码的基于Web的Linux,Unix系统的控制面板。
根@ arunsb:〜#

**注意〜这篇文章中没有关于如何界定百万分之一,如何复制文件资料,手册页的默认位置,如何设置permision和所有权等我将在下篇文章的转速此议题。

**请参阅英文文章 〜 http://www.indiangnu.org/2009/how-to-create-or-build-rpm-package/

关心,
Arun Bagul