dimarts, 12 de febrer de 2013

Should I reboot after patching?

Quan planifiquem la actualització d'un sistema sempre tenim el dubte de si es estrictament necessari realitzar un reboot.

La resposta serà diferent depent dels paquets instal·lats. En alguns casos serà necessari reiniciar els servicis de la màquina i en altres casos serà necessari realitzar un reboot.

Com a primera aproximació podem utilitzar la utilitat lsoft. Amb aquesta comanda podem veure quines llibreries necessiten ser recarregades. Al final el resultat de la comanda ha de ser la cadena buïda. En cas contrari o el servei o la maquina ha de ser reiniciat.
lsof | grep deleted

En distribucions Debian o derivats, disposem de l'utilitat checkrestart, present a les debian-goodies Podem utilitzar el programa de la següent manera.
checkrestart -v
Per a distribucions Redhat i derivats disposem d'un plugin the yum, yum-plugin-ps:

Aquesta comanda llista tots els processos així com les actualitzacions associades.
yum ps all
Llista processos i mostra si tenen actualizacions els paquets.
yum ps updates
Llista els processos que han de ser reiniciats
yum ps restart


Links interessants al respecte:

http://it.toolbox.com/blogs/locutus/why-linux-can-be-updated-without-rebooting-12826
http://www.linuxplanet.com/tutorials/whats-so-great-about-debian-goodies.html
http://serverfault.com/questions/108446/equivalent-of-opensuse-zypper-ps-on-other-distros
http://gomix.fedora-ve.org/projects/fedobetatest/wiki/Yum-plugin-ps
http://kajuhome.com/yum_ps.shtml http://blog.pastoutafait.org/billets/Am%C3%A9liorer-la-s%C3%A9curit%C3%A9-avec-CheckRestart-sous-Debian-Ubuntu

dijous, 7 de febrer de 2013

VirtualBox on CLI

Virtualbox disposa d'una linia de comandes que permet la creació d'una màquina virtual directament per consola. Per a crear una màquina seguirem els següents passos.
Creem el directori on es guardaran tots els fitxer de la VM.

mkdir /home/user/VirtualBox\ VMs/VboxCLI

CREATE DISK
===========
Per a la creació d'un disc de 10Gb utilitzarem la següent ordre:

vboxmanage createhd --size 10000 --format vdi --filename /home/user/VirtualBox\ VMs/VboxCLI/VboxCLI-disk1.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: b421697b-5f5d-4056-98c9-0cd0219b013a


SHOW OS TYPES
==============
Per a mostrar els tipus de sistemes operatius que tenim disponibles utilitzarem la següent ordre:

vboxmanage list ostypes

CREATE VM
==========
Per a la creacio d'una VM utilitzarem la següent ordre:

vboxmanage createvm --name VboxCLI --register --ostype Ubuntu_64
Virtual machine 'VboxCLI' is created and registered.
UUID: 5a89bddc-d7b0-4e08-b6cb-8e49dd7b2206
Settings file: '/home/user/VirtualBox VMs/VboxCLI/VboxCLI.vbox'


ATTACH SATA CONTROLLER
=======================
IMPORTANT!: Si volem instal·lar WindowsXP o alguna versió antiga de Linux que no tinga els drivers SATA millor instal·lar un controlador IDE a la màquina o no serem capaços d'arrancar la màquina amb aquesta configuració.
Una volta creada la màquina afegim un adaptar SATA.

vboxmanage storagectl VboxCLI --name "Sata Controller" --add sata --controller "IntelAHCI"

ATTACH HD
==========
Una volta tenim afegit el controlador SATA afegim un disc dur Sata al controlador

vboxmanage storageattach VboxCLI --storagectl "Sata Controller" --port 0 --device 0 --type hdd --medium VboxCLI-disk1.vdi

ADD MEMORY
===========
Definim la memòria que necessitem.

vboxmanage modifyvm VboxCLI --memory 1024

ADD NETWORK
============
Afegim un adaptador de xarxa i el configurem com a bridged, per a que la VM estiga en la mateixa xarxa que el host.

vboxmanage modifyvm VboxCLI --nic1 bridged --bridgeadapter1 eth0

ADD DVD AND LOAD AN ISO
========================
Afegim un dvd i una iso per poder iniciar la instal·lació.

vboxmanage storageattach VboxCLI --storagectl "Sata Controller" --port 1 --device 0 --type dvddrive --medium /home/user/Descargas/ubuntu-12.04.1-server-amd64.iso

VIEW SETTINGS
==============
Per a mostrar la configuració de la màquina que estem configurant podem utilitzar la següent comanda:

vboxmanage showvminfo VboxCLI
Name:            VboxCLI
Guest OS:        Ubuntu (64 bit)
UUID:            d37c6445-de02-4793-a9f4-06148103918f
Config file:     /home/user/VirtualBox VMs/VboxCLI/VboxCLI.vbox
Snapshot folder: /home/user/VirtualBox VMs/VboxCLI/Snapshots
Log folder:      /home/user/VirtualBox VMs/VboxCLI/Logs
Hardware UUID:   d37c6445-de02-4793-a9f4-06148103918f
Memory size:     1024MB
Page Fusion:     off
VRAM size:       8MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  1
Synthetic Cpu:   off
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
PAE:             on
Time offset:     0 ms
RTC:             local time
Hardw. virt.ext: on
Hardw. virt.ext exclusive: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
State:           powered off (since 2013-02-05T13:21:05.000000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address:
Teleporter Password:
Storage Controller Name (0):            Sata Controller
Storage Controller Type (0):            IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  30
Storage Controller Port Count (0):      30
Storage Controller Bootable (0):        on
Sata Controller (0, 0): /home/user/VirtualBox VMs/VboxCLI/VboxCLI-disk1.vdi (UUID: b421697b-5f5d-4056-98c9-0cd0219b013a)
Sata Controller (1, 0): /home/user/Descargas/ubuntu-12.04.1-server-amd64.iso (UUID: 36ff046c-69a8-4352-b604-356f177af2ab)
NIC 1:           MAC: 080027FD9D5A, Attachment: Bridged Interface 'eth0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: PS/2 Mouse
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
Audio:           disabled
Clipboard Mode:  Bidirectional
VRDE:            disabled
USB:             disabled

USB Device Filters:

<none>

Available remote USB devices:

<none>

Currently Attached USB Devices:

<none>

Shared folders:  <none>

VRDE Connection:    not active
Clients so far:     0

Guest:

Configured memory balloon size:      0 MB
OS type:                             Ubuntu_64
Additions run level:                 0

Guest Facilities:

No active facilities.


CHANGE MEMORY SIZE
===================
Per a redimensionar la memòria RAM de la VM podem utilitzar:

vboxmanage modifyvm VboxCLI --memory 512

SETUP VRDE
===========
VRDE, permet connectar-nos a les VMs utilitzant el Remote Desktop de Virtualbox. L'última ordre habilita multiples connexions. Per a habilitar vrde realitzarem la següent configuració:

vboxmanage modifyvm VboxCLI --vrde on vboxmanage modifyvm VboxCLI --vrdeaddress localhost vboxmanage modifyvm VboxCLI --vrdeport 3001 vboxmanage modifyvm VboxCLI --vrdemulticon on

INSTALL EXT-PACK
================
La instal·lació del "extension pack" permet disposar de USB 2.0, Virtualbox RDP and PXE per a tarjetes Intel.

vboxmanage -v
4.1.18_Ubuntur78361

wget -c http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Successfully installed "Oracle VM VirtualBox Extension Pack".


START VM HEADLESS
==================
Per a iniciar una màquina en background sense cap element visible en el foreground.

vboxmanage startvm VboxCLI --type headless
Waiting for VM "VboxCLI" to power on...
VM "VboxCLI" has been successfully started.


START VM HEADLESS (TROUBLESHOUTING)
===================================
El mateix que abans pero no et retorna el prompt. Útil per a troubleshouting.

VBoxHeadless -s VboxCLI -v on
Oracle VM VirtualBox Headless Interface 4.1.18_Ubuntu
(C) 2008-2012 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3001.


CONNECT BY RDESKTOP TO THE MACHINE
===================================
Per a connectar a una màquina headless ens assegurem que estiga escoltant en el port i utilitzem rdesktop.

netstat -tanep
...
tcp 0 0 127.0.0.1:3001 0.0.0.0:* ESCUCHAR 1000 17286 -
...

rdesktop 127.0.0.1:3001


LIST VMs
=========
Mostrar les màquines que hi ha registrades.

vboxmanage list vms
"AddDiskWithoutReboot-LVM" {d7b517cd-4136-40d2-a94b-a81f08657b87}
"VboxCLI" {d37c6445-de02-4793-a9f4-06148103918f}


STOP VM
========


vboxmanage controlvm VboxCLI poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
LIST RUNNING VMs
=================
Mostrar les màquines estan en estat "Running".

vboxmanage list runningvms
"VboxCLI" {d37c6445-de02-4793-a9f4-06148103918f}


TAKE SNAPSHOT
==============
Per a la creació d'un snapshot utiltzarem:

vboxmanage snapshot VboxCLI take VboxCLI-snap01
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


RESTORE SNAPSHOT
=================
Per a restaurar un snapshot utilitzarem:

vboxmanage snapshot VboxCLI restore VboxCLI-snap01
Restoring snapshot f5c0273d-ce47-426e-b4bd-f1f5c1c84d2c
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%


BIBLIOGRAPHY
=============
http://www.perkin.org.uk/posts/create-virtualbox-vm-from-the-command-line.html

http://itsecworks.wordpress.com/2012/04/24/virtualbox-the-tool-i-use-for-virtualization-of-course-with-cli/

divendres, 1 de febrer de 2013

Add a key for a Debian/Ubuntu repository

 Per a realitzar la instalació de un repositori nou i la seua clau en ubuntu/debian afegim les fonts en el sources.list i després hem d'afegir la clau.

 La clau es pot obtenir amb la següent comanda:

gpg --keyserver [name of keyserver] --recv-keys [keyhash] 
 
Una volta descarregada la clau la exportem i la afegim.
gpg --export --armor CE49EC21 | sudo apt-key add - 

Per exemple per a afegir la clau del repositori  seria:

gpg --keyserver subkeys.pgp.net --recv-keys 8842CE5E 


Aquesta es la eixida del programa.

gpg: /root/.gnupg: directorio creado
gpg: creado un nuevo archivo de configuración `/root/.gnupg/gpg.conf'
gpg: AVISO: las opciones en `/root/.gnupg/gpg.conf' no están aún \
 activas en esta ejecución
gpg: anillo «/root/.gnupg/secring.gpg» creado
gpg: anillo «/root/.gnupg/pubring.gpg» creado
gpg: solicitando clave 8842CE5E de hkp servidor subkeys.pgp.net
gpg: /root/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
gpg: clave 8842CE5E: clave pública "Launchpad PPA for Bitcoin" importada
gpg: Cantidad total procesada: 1
gpg:               importadas: 1  (RSA: 1)

Despres afegirem la clau amb:

gpg --export --armor  8842CE5E | sudo apt-key add - 


Si tot funciona correctament rebrem un OK per part del programa.