Crear un repositorio local en Centos/Fedora

He decidido crear un repositorio local para todos aquellos programas que no aparezcan en ningun otro repositorio. ¿Porqué? Por que cuando salgan nuevas versiones de dichos programas, voy a tener que descargarme el tarball antiguo y hacer un make uninstall. Teniendo un repositorio local, lo único que tengo hacer es crear un .rpm nuevo con la nueva versión del programa y hacer un sudo yum update 😀

Actualmente mi repositorio local solo tiene el aircrack, así que lo voy a poner de ejemplo. He seguido ésta guía de fedora para construir rpms y ésta guía de centos para crear un repositorio local.

Sobre la guía de para hacer RPMS:

La versión en español está muy bien, salvo en algunos casos en que no queda claro lo que están diciendo, para eso la versión en inglés viene perfecto.

Aquí os dejo el .spec de aircrack-ng. Sin ayuda de Yellowman de los foros de fedora, no lo hubiera conseguido tan rápido (tiempo estimado 1 hora).

Name:        aircrack-ng
Version:    1.1
Release:    1
Summary:    Famous wifi cracking suite

Group:        Applications/System
License:    GPLv2
URL:        http://www.aircrack-ng.org
Source0:    http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
BuildRoot:    %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:    openssl-devel
BuildRequires:    sqlite-devel
BuildRequires:    libpcap-devel

%description
Aircrack-ng is a network software suite consisting of a detector, packet sniffer, WEP and WPA/WPA2-PSK cracker and analysis tool for 802.11 wireless LANs. It works with any Atheros chipset.

%prep
%setup -q

%build
make sqlite=true

%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot} prefix=%{_prefix} mandir=%{_mandir}/man1 sqlite=true

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog LICENSE README VERSION test/ patches/
%{_bindir}/*
%{_sbindir}/*
%{_mandir}/man1/*

%changelog

Lo más difícil es hacer el .spec, el resto es seguir la guía.

Sobre la guía para crear un repositorio local:

Ahí me he desviado de la guía por que tengo la particion / con espacio limitado. He creado el repositorio en la particion /home. Creé /home/nfb.repo.d/. Hay que hacer que el dueño sea root: chown -R root.root /home/nfb.repo.d/ Después de decidir donde quieres el repositorio es ejecutar todos los comandos de la guía, pero con el directorio cambiado.

Y no hay que olvidarse de mover los rpms de /home/makerpm/rpmbuild/RPMS/ a la carpeta del repositorio.

Lo último, crear un .repo:

El último paso es crear un archivo .repo en /etc/yum.repos.d/. Este es el mío:

### NFB.repo
### Name: NotFromBrooklyn's local repo for CentOS 6 x86_64

[nfb]
name=NotFromBrooklyn's local repository - Media
baseurl=file:///home/nfb.repo.d/
enabled=1
gpgcheck=0
priority=30

Creo que se explica por si solo.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s