/bin/ls -f | wc -l
miércoles, 26 de octubre de 2016
Contar rápidamente una gran cantidad de archivos en Linux
Este es un artículo breve, tengo un directorio lleno de archivos para un proyecto, y quería una forma de poder contarlos eficientemente. El siguiente comando resultó muy bien:
Etiquetas:
administración,
consola,
linux,
manual
domingo, 22 de mayo de 2016
Compilar un paquete DEB a partir del código fuente
Me encontré en la situación de no tener un paquete DEB adecuado para instalar en el sistema, ya que no había portado a la versión estable todavía, pero sí tener acceso a las fuentes del paquete.
Lo primero es instalar los paquetes básicos para la compilación de paquetes DEB
Finalmente, logré compilar el paquete, sin tanta complicación, utilizando el siguiente comando
Para instalarlo este paquete, ejecutamos:
La estructura de los directorios es de la siguiente forma:
Lo primero es instalar los paquetes básicos para la compilación de paquetes DEB
sudo aptitude install build-essential devscripts fakerootLuego buscamos el paquete deseado en la página de búsqueda de paquetes de Debian, y descargamos los archivos fuentes, los cuales suelen ser de la forma:
- paquete_versión.dsc : Archivo de Control de Fuente Debian (Debian Source Control)
- paquete_versión.orig.tar.gz : Código fuente original
- paquete_versión.debian.tar.xz : Modificaciones realizadas para empaquetar la aplicación
tar xf paquete_versión.debian.tar.xzCreamos un directorio nuevo y movemos la carpeta debian recién descomprimida, allí. Esto, porque compilar el paquete se hace desde el directorio que contenga la carpeta debian, y el archivo paquete_versión.orig.tar.gz se busca en el directorio superior (..)
mkdir deb-srcPara instalar las dependencias de compilación del paquete, la opción sencilla es ejecutar el comando
mv debian deb-src/
sudo aptitude build-depends paquetePero esto sólo nos funcionará si el paquete ya se encuentra en los repositorios. De lo contrario, aptitude reportará que no conoce dicho paquete. En estos casos, debemos examinar el archivo paquete_versión.dsc o el archivo control que se encuentra dentro del directorio debian e instalar los paquetes indicados en la sección Build-Depends, utilizando el comando:
sudo aptitude install dependencia1 dependencia2 #etcLa opción más recomendada para compilar el paquete es entrar en deb-src, y ejecutar debuild
cd deb-srcSin embargo, esto produjo el siguiente error
debuild
dpkg-source: error: aborting due to unexpected upstream changesEste artículo tiene más información sobre este error. Y una forma distinta de evitarlo.
Finalmente, logré compilar el paquete, sin tanta complicación, utilizando el siguiente comando
dpkg-buildpackage -b -ucCon lo cual, obtuve el paquete paquete_versión.deb
Para instalarlo este paquete, ejecutamos:
cd ..En caso de que APT nos indique que hubo un error de dependencias con la instalación, procedemos a ejecutar
sudo dpkg -i paquete_versión.deb
sudo apt-get install -fLo cual debería calcular cuáles dependencias es necesario instalar, intalarlas y culminar la instalación de nuestro paquete.
La estructura de los directorios es de la siguiente forma:
- Directorio de trabajo/
- paquete_versión.dsc
- paquete_versión.orig.tar.gz
- paquete_versión.debian.tar.xz
- paquete_versión.deb
- deb-src/
- debian/
Etiquetas:
administración,
debian,
linux,
manual,
paquete deb
Instalar un paquete DEB no disponible en el repositorio de Bananian
Conseguí una aplicación que quería instalar en mi Banana Pi, pero sólo se encontraba en la rama de pruebas (testing), todavía no había pasado a estable.
Lo primero que hice fue intentar descargar el paquete DEB desde la página de búsqeda de paquetes de Debian, aunque estas instrucciones aplican a cualquier paquete DEB que se desee instalar.
Para instalar el paquete, ejecutamos el comando:
Para decargar estas dependencias, ejecuté el comando de APT que hace las instalaciones y desinstalaciones necesarias para resolver los conflictos de dependencias en el sistema de gestión de paquetes.
Entonces fui instalando una por una las dependencias faltantes utilizando el comando de costumbre
Dado que la aplicación que quería instalar no forma parte del núcleo de la distribución, ni tiene otras aplicaciones que dependan de ella, ni tampoco es particularmente vanguardista, decidí intentar compilar el paquete DEB a partir del código fuente.
Lo primero que hice fue intentar descargar el paquete DEB desde la página de búsqeda de paquetes de Debian, aunque estas instrucciones aplican a cualquier paquete DEB que se desee instalar.
Para instalar el paquete, ejecutamos el comando:
sudo dpkg -i archivo.debLo cual arrojó un error de APT indicando que no se pudo terminar de configurar la aplicación ya que faltaban dependencias. Este mensaje de error es previsible ya que al instalar el paquete de esta forma, APT no descarga las dependencias necesarias automáticamente.
Para decargar estas dependencias, ejecuté el comando de APT que hace las instalaciones y desinstalaciones necesarias para resolver los conflictos de dependencias en el sistema de gestión de paquetes.
sudo apt-get install -fAl ejecutar este comando, lo más común es que APT calcule las dependencias necesarias, y solicite una confirmación antes de instalar dichas dependencias y culminar la configuración de la aplicación que instalamos desde el archivo DEB. Sin embargo, en esta ocasión, sí me arrojó un error inesperado, pidiendo que confirmase deshacer dicha instalación.
Entonces fui instalando una por una las dependencias faltantes utilizando el comando de costumbre
sudo aptitude install dependenciaHasta que conseguí el problema: el paquete requería una versión más reciente de una de las dependencias que la disponible en el repositorio.
Dado que la aplicación que quería instalar no forma parte del núcleo de la distribución, ni tiene otras aplicaciones que dependan de ella, ni tampoco es particularmente vanguardista, decidí intentar compilar el paquete DEB a partir del código fuente.
Etiquetas:
administración,
banana pi,
debian,
linux,
manual,
paquete deb
viernes, 20 de mayo de 2016
Configurando SAMBA en Bananian
Para poder compartir archivos desde el Banana Pi a los terminales en mi red local, decidí crear una carpeta compartida por SMB.
El archivo de configuración tiene el siguiente contenido
# Crear carpeta donde se almacenarán los archivos
sudo mkdir /home/media
# Otorgar permiso de lectura y ejecución a todos los usuarios locales
sudo chmod 777 /home/media
# Crear sub-carpetas para clasificar los archivos
sudo mkdir /home/media/music
sudo mkdir /home/media/video
sudo mkdir /home/media/photos
sudo mkdir /home/media/ebook
# Instalar SAMBA
sudo aptitude install samba
# Respaldar archivo de configuración por defecto
sudo mv /etc/samba/smb.conf /etc/samba/smb.bak
# Crear nuevo archivo de configuración
sudo nano /etc/samba/smb.conf
# Reiniciar servicio samba
sudo service samba restart
#sudo service smbd restart
El archivo de configuración tiene el siguiente contenido
[global]Esta configuración no incluye mediadas de autenticación, ya que la carpeta compartida está pensada para archivos sin riesgo de confidencialidad. Aún así, el acceso se limita a sólo lectura.
workgroup = workgroup
security = user
map to guest = Bad Password
share modes = yes
deadtime = 15
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
[media]
path = /home/media/
public = yes
writable = no
comment = smb share
printable = no
guest ok = yes
miércoles, 18 de mayo de 2016
Configurar un servidor DLNA en Bananian (Debian)
Como parte de mi interés de crear un centro de medios utilizando el Banana Pi, decidí configurar un servidor DLNA.
# Crear carpeta donde se almacenarán los archivos
sudo mkdir /home/media
# Otorgar permiso de lectura y ejecución a todos los usuarios locales
sudo chmod 755 /home/media
# Crear sub-carpetas para clasificar los archivos
sudo mkdir /home/media/music
sudo mkdir /home/media/video
sudo mkdir /home/media/photos
# Instalar minidlna
sudo aptitude install minidlna
# Modificar media_dir=/var/lib/minidlna
# Para que quede como media_dir=/home/media
sudo nano /etc/minidlna.conf
# Reiniciar servicio minidlna
sudo service minidlna restart
Suscribirse a:
Entradas (Atom)