Archivio

Archive for the ‘Centos’ Category

installare Postgresql 9.4 su Centos 6.7 64 bit

postgresql  go to:  PostgreSQL nel blog 

Default postgresql server in Centos 6.7 x86 64 is version 8.4.x

to install postgresql 9.4.4 use   Postgresl yum repository.  .

su -

Download and install the yum rpm PostgreSQL Repository

wget http://yum.pgrpms.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm

rpm -i pgdg-centos94-9.4-1.noarch.rpm

We can use yum list to check the package now available.

yum list postgresql*

you have to see many postgresql94 packages

Install, inizialize and start postgresql 9.4.

yum install postgresql94 postgresql94-server postgresql94-libs postgresql94-contrib

Than we initialize and start postgresql-9.4

service postgresql-9.4 initdb 

service postgresql-9.4 start

check that everything is OK

su - postgres  
pslq -l

we have to see a list of 3 databases

Open postgresql port 5432 in Iptables Firewall

with editord vi, cmedit nano edit file /etc/sysconfig/iptables  :
vi -w /etc/sysconfig/iptables

# add next commit row

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

restart iptables firewall

service iptables restart

Configure postgres set superuser postgres password

# switch to postgres user

  su - postgres

# open postgresql cli as postgres and connect to the postgres database

  psql postgres

# set the password of user postgres using alter

 ALTER USER postgres WITH PASSWORD 'your-postgres-password';

Setting pg_hba.conf
pg_hba.conf say postgresql which users can access which databases and how they can do. ( centos/redhat location /var/lib/pgsql/9.4/data/pg_hab.conf)

so we change METHOD to md5 for IPv4 and IPv5 local connections
then we can add other ipv4 connection as

host    all         all         192.168.1.0/24        md5

at the end we can have something like this

# TYPE  DATABASE    USER        CIDR-ADDRESS               METHOD                    
                                                                                
# "local" is for Unix domain socket connections only                            
local   all         all                                      peer    
# IPv4 local connections:                                                       
host    all         all           127.0.0.1/32               ident
host    all         all           192.168.1.0/24             md5      
# IPv6 local connections:                                                       
host    all         all           ::1/128                    ident                     
# Allow replication connections from localhost, by a user with the              
# replication privilege.                                                        
#local   replication     postgres                            peer           
#host    replication     postgres        127.0.0.1/32        ident          
#host    replication     postgres        ::1/128             ident  

In order for the change to take effect we have to

reload pg_hba.conf
from the postgresql cli

 postgres=# select pg_reload_conf();

from the shell as postgres user ( su – postgres ) pg_ctl reload

Setting postgresq.conf
In this file we can configure remote access to postgresql
(centos/redhat location: /var/lib/pgsql/9.4/data/postgresql.conf  )

look for listen_address in connections and authentication section.
to enable remote connections uncomment and change listen_address that by default is ‘localhost’ so access is limited to local machine.
So at the and listen_addresses look like

listen_addresses = '*'

It is possible to set the listen_address to specific IPs using a comma separate list.

Restart postgresql con

service postgresql restart

Now if you want you can change post value

port=  5432
Change port value 
Default port value for postgresql is 5432
Usually to change port value (ex:5433 ) we have to uncomment and to modify
# port= 5432
to
port= 5433
in Centos 6.7 we have to do another step we have to create the file /etc/sysconfig/pgsql/postgresql-9.4 with
PGPORT=5433
export PGPORT
touch /etc/sysconfig/pgsql/postgresql-9.4
echo ‘PGPORT=5433’ >> /etc/sysconfig/pgsql/postgresql-9.4
echo ‘export PGPORT’ >> /etc/sysconfig/pgsql/postgresql-9.4

If port change you have to change iptables firewall setting and restart postgresql.

Now we configure postgresql 9.4.x service to start at boot

Check

$ chkconfig --list | grep postgresql*
postgresql-9.4 	0:off	1:off	2:off	3:off	4:off	5:off	6:off

Setting

chkconfig --level 35 postgresql-9.4 on
chkconfig --list | grep postgres*
postgresql-9.4 	0:off	1:off	2:off	3:on	4:off	5:on	6:off

we can check changes in postgesql cli :

# show listen_addresses;
# show port;

we can also do another check as root with

netstat -nxl | grep PGSQL

and

netstat -nlp | grep 5432
netstat -nlp | grep 5432
tcp        0      0 127.0.0.1:5432              0.0.0.0:*                   LISTEN      3221/postmaster     
tcp        0      0 ::1:5432                    :::*                        LISTEN      3221/postmaster     
unix  2      [ ACC ]     STREAM     LISTENING     1592992 3221/postmaster     /tmp/.s.PGSQL.5432

Postgres blog’s post:

Annunci

sysv-rc-conf controllare e impostare i servizi nei vari runlevel linux

settembre 10, 2014 Lascia un commento

E’ un situazione abbastanza frequente, utilizzando un sistema linux con funzioni anche di server, dover verificare che un servizio o demone  (service o daemon)  sia in esecuzione ad esempio: apache ,mysqld, postrgresql, samba, ssh, nfs, rsync, cron, syslogd, etc.

Per visualizzare i servizi possibile utilizzare il comando generale

# service --status-all

che indica anche i servizi attivi

# service --status-all
 [ - ] acpi-fakekey
 [ + ] acpi-support
 [ + ] acpid
 [ + ] atd
 [ + ] avahi-daemon
 [ - ] bootlogs
 [ - ] bootmisc.sh
 [ - ] checkfs.sh
 [ - ] checkroot-bootclean.sh
 [ - ] checkroot.sh
 [ + ] console-setup
 [ + ] cron
 ...

In pratica –status-all consente di vedere  i servizi installati.

Può far comodo anche visualizzare i servizi per runlevel.

Il modo più semplice per visualizzare i servizi attivi in un dato runlevel è digitare un comando del tipo:

sudo ls -l /etc/rc(num-run-level).d/
ls -l /etc/rc3.d
total 84
-rw-r--r-- 1 root root 677 Apr  6  2015 README
lrwxrwxrwx 1 root root  22 May 31 16:19 S01acpi-fakekey -> ../init.d/acpi-fakekey
lrwxrwxrwx 1 root root  14 May 30 16:58 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root  17 May 30 17:00 S01rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  15 May 30 17:02 S02acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  22 May 31 16:19 S02acpi-support -> ../init.d/acpi-support
lrwxrwxrwx 1 root root  13 May 30 17:19 S02atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 May 30 17:00 S02cron -> ../init.d/cron
lrwxrwxrwx 1 root root  14 May 30 17:19 S02dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  15 May 30 17:19 S02exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 May 30 17:20 S02ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  22 May 30 17:19 S03avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root  18 May 30 17:02 S03bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  14 May 30 17:19 S04cups -> ../init.d/cups
...


E possibile elencare gli script che controllano i vari servizi con

ls /etc/init.d

In generale un servizio viene controllato con il comando service:

digitando service nome-de-servizio è possibile visualizzare l’elenco completo delle opzioni possibili

# service nome-del-servizio
# service cron
[info] Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}.

Per visualizzare lo stato del servizio

# service nome-del-servizio status

oppure

# /etc/init.d/nome-del-servizio status

Le espressioni che compaiono in risposta tuttavia possono variare da distribuzione a distribuzione alcune più “verbose2 altre meno comunque  in genere sono molto chiare.

SysV Runlevel Config   ( sysv-rc-conf ) controllare e impostare i servizi nei vari runlevel

Per controllare lo stato di un servizio e impostare i runlevel esistono anche altri comodi comandi in particolare: chkconfig (Centos/RedHat/Fedora ) e il suo derivato sys-rc-conf (Debian/Ubuntu). Come detto si tratta di programmi che consentono di gestire “/etc/rc{runlevel}.d/” symlinks controllando l’avvio dei servizi stessi

Il controllore di servizi sysv-rc-conf si installa al solito con:

# apt-get install sysv-rc-conf

# sysv-rc-conf

sysv-rc-conf debian servizi base

check o uncheck le opzioni per impostare l’avvio di un servizio in un dato runlevel.

Per avviare un servizio premere + per fermarlo

sysv-rc-conf run stop service

modo CLI molto simile a chkconfig

sysv-rc-conf --list

avviare ssh nei runlevel 3 e 5

sysv-rc-conf --level 35 ssh on

disabilitare l’avvio di ssh nei runlevel 35

sysv-rc-conf --level 35 ssh off

 

chkconfig (Centos – RedHat )

Il controllo di servizi di redhat si installa con

yum install chkconfig

impostare l’avvio di postgresql-9.1 nei runlevel 3 e 5

chkconfig --level 35 postgresql on

disattivare l’avvio di postgresql nei runlevel 35

chkconfig --level 35 postgresql off

lista dei servizi con indicate le impostazioni dei runlevel

chkconfig --list

lista dei servizi con indicate le impostazioni dei runlevel 3

chkconfig --list | grep 3:on

Lista dei file delle directory che contengono i vari script lanciati al boot

pstree

I processi sono mostrati con uno schema ad albero. In questo caso INIT è il processo di partenza mentre tutti gli altri processi discendono da questo.

Esempi

Esempi dei comandi da terminale per controllare e configurare i servizi linux con relativo output. Servizi attivi con service –status-all

# service --status-all
 [ - ] acpi-fakekey
 [ + ] acpi-support
 [ + ] acpid
 [ + ] atd
 [ + ] avahi-daemon
 [ - ] bootlogs
 [ - ] bootmisc.sh
 [ - ] checkfs.sh
 [ - ] checkroot-bootclean.sh
 [ - ] checkroot.sh
 [ + ] console-setup
 [ + ] cron
 [ + ] cups
 [ + ] cups-browsed
 [ + ] dbus
 [ + ] ebtables
 [ + ] exim4
 [ + ] hdparm
 [ - ] hostname.sh
 [ - ] hwclock.sh
 [ + ] kbd
 [ + ] keyboard-setup
 [ - ] killprocs
 [ + ] kmod
 [ + ] libvirt-guests
 [ + ] libvirtd
 [ - ] lvm2
 [ - ] motd
 [ - ] mountall-bootclean.sh
 [ - ] mountall.sh
 [ - ] mountdevsubfs.sh
 [ - ] mountkernfs.sh
 [ - ] mountnfs-bootclean.sh
 [ - ] mountnfs.sh
 [ + ] networking
 [ + ] nfs-common
 [ + ] procps
 [ ? ] qemu-system-x86
 [ + ] rc.local
 [ - ] rmnologin
 [ + ] rpcbind
 [ + ] rsyslog
 [ - ] saned
 [ - ] screen-cleanup
 [ - ] sendsigs
 [ + ] ssh
 [ + ] udev
 [ + ] udev-finish
 [ - ] umountfs
 [ - ] umountnfs.sh
 [ - ] umountroot
 [ + ] urandom
 [ - ] x11-common
 [ + ] xrdp

elenco scripts dei servizi  ls /etc/init.d

# ls /etc/init.d
acpid			cups-browsed	libvirt-guests	       rc	       ssh
acpi-fakekey		dbus		lvm2		       rc.local        udev
acpi-support		ebtables	motd		       rcS	       udev-finish
atd			exim4		mountall-bootclean.sh  README	       umountfs
avahi-daemon		halt		mountall.sh	       reboot	       umountnfs.sh
bootlogs		hdparm		mountdevsubfs.sh       rmnologin       umountroot
bootmisc.sh		hostname.sh	mountkernfs.sh	       rpcbind	       urandom
checkfs.sh		hwclock.sh	mountnfs-bootclean.sh  rsyslog	       x11-common
checkroot-bootclean.sh	kbd		mountnfs.sh	       saned	       xrdp
checkroot.sh		keyboard-setup	networking	       screen-cleanup
console-setup		killprocs	nfs-common	       sendsigs
cron			kmod		procps		       single
cups			libvirtd	qemu-system-x86        skeleton
root@debians8vm:/home/maurizio# ls /etc/init.d
acpid			cups-browsed	libvirt-guests	       rc	       ssh
acpi-fakekey		dbus		lvm2		       rc.local        udev
acpi-support		ebtables	motd		       rcS	       udev-finish
atd			exim4		mountall-bootclean.sh  README	       umountfs
avahi-daemon		halt		mountall.sh	       reboot	       umountnfs.sh
bootlogs		hdparm		mountdevsubfs.sh       rmnologin       umountroot
bootmisc.sh		hostname.sh	mountkernfs.sh	       rpcbind	       urandom
checkfs.sh		hwclock.sh	mountnfs-bootclean.sh  rsyslog	       x11-common
checkroot-bootclean.sh	kbd		mountnfs.sh	       saned	       xrdp
checkroot.sh		keyboard-setup	networking	       screen-cleanup
console-setup		killprocs	nfs-common	       sendsigs
cron			kmod		procps		       single
cups			libvirtd	qemu-system-x86        skeleton

Visualizzare i runlevel

sudo ls -l /etc/rc(num-run-level).d/
elecno dei servizi del runlevel 2

# ls -l /etc/rc2.d
total 84
-rw-r--r-- 1 root root 677 Apr  6  2015 README
lrwxrwxrwx 1 root root  22 May 31 16:19 S01acpi-fakekey -> ../init.d/acpi-fakekey
lrwxrwxrwx 1 root root  14 May 30 16:58 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root  17 May 30 17:00 S01rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  14 May 30 23:50 S01xrdp -> ../init.d/xrdp
lrwxrwxrwx 1 root root  15 May 30 17:02 S02acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  22 May 31 16:19 S02acpi-support -> ../init.d/acpi-support
lrwxrwxrwx 1 root root  13 May 30 17:19 S02atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 May 30 17:00 S02cron -> ../init.d/cron
lrwxrwxrwx 1 root root  14 May 30 17:19 S02dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  15 May 30 17:19 S02exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 May 30 17:20 S02ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  22 May 30 17:19 S03avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root  18 May 30 17:02 S03bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  14 May 30 17:19 S04cups -> ../init.d/cups
lrwxrwxrwx 1 root root  22 May 30 17:20 S04cups-browsed -> ../init.d/cups-browsed
lrwxrwxrwx 1 root root  18 May 30 22:54 S04libvirtd -> ../init.d/libvirtd
lrwxrwxrwx 1 root root  15 Sep 10 19:05 S04saned -> ../init.d/saned
lrwxrwxrwx 1 root root  24 May 30 22:54 S05libvirt-guests -> ../init.d/libvirt-guests
lrwxrwxrwx 1 root root  18 May 30 22:54 S06rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 May 30 22:54 S06rmnologin -> ../init.d/rmnologin

Elaborazione lista servizi

# ls -1 /etc/rc$(runlevel| cut -d" " -f2).d/S*
/etc/rc5.d/S01acpi-fakekey
/etc/rc5.d/S01motd
/etc/rc5.d/S01rsyslog
/etc/rc5.d/S02acpid
/etc/rc5.d/S02acpi-support
/etc/rc5.d/S02atd
/etc/rc5.d/S02cron
/etc/rc5.d/S02dbus
/etc/rc5.d/S02ssh
/etc/rc5.d/S03avahi-daemon
/etc/rc5.d/S03bootlogs
/etc/rc5.d/S04libvirtd
/etc/rc5.d/S05libvirt-guests
/etc/rc5.d/S06rc.local
/etc/rc5.d/S06rmnologin
/etc/rc5.d/S90umountroot

Pulizia completa

# ls -1 /etc/rc$(runlevel| cut -d" " -f2).d/S* | \
> awk -F'[0-9][0-9]' '{print "Startup :-> " $2}'
Startup :-> acpi-fakekey
Startup :-> motd
Startup :-> rsyslog
Startup :-> acpid
Startup :-> acpi-support
Startup :-> atd
Startup :-> cron
Startup :-> dbus
Startup :-> ssh
Startup :-> avahi-daemon
Startup :-> bootlogs
Startup :-> libvirtd
Startup :-> libvirt-guests
Startup :-> rc.local
Startup :-> rmnologin
Startup :-> umountroot

Controllare  un servizio:

# service nome-del-servizio status

oppure

# /etc/init.d/nome-del-servizio status

Le espressioni che compaiono in risposta tuttavia possono variare da distribuzione a distribuzione alcune più “verbose2 altre meno comunque  in genere sono molto chiare.

centos 5

$ service postgresql-9.1 status
(pid 29401) is running...

service mysqld status
mysqld (pid 2879) is running...

ubuntu  12

$ service postgresql status
9.1/main (port 5432): online

~$ service apache2 status
Apache2 is running (pid 17803)

Per verificare lo stato di tutti i servizi presenti nel sistema basta usare l’opzione –status-all

# service nome-del-servizio status

Lista dei file delle directory che contengono i vari script lanciati al boot

# pstree
# pstree
systemd─┬─acpid
        ├─agetty
        ├─atd
        ├─avahi-daemon───avahi-daemon
        ├─cron
        ├─cups-browsed
        ├─cupsd
        ├─dbus-daemon
        ├─dnsmasq───dnsmasq
        ├─exim4
        ├─libvirtd───10*[{libvirtd}]
        ├─rpc.idmapd
        ├─rpc.statd
        ├─rpcbind
        ├─rsyslogd─┬─{in:imklog}
        │          ├─{in:imuxsock}
        │          └─{rs:main Q:Reg}
        ├─sshd───sshd───sshd───bash───su───bash───pstree
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─xrdp
        └─xrdp-sesman

sysv-rc-conf  check o uncheck per impostare l’avvio di un servizio in un dato runlevel.

sysv-rc-conf debian servizi base

check per abilitare altri servizi

sysv-rc-conf debian

sysv-rc-conf warning:

sysv-rc-conf debian run stop warning

 

Risorse:

 

Centos mount -t cifs mount: block device is write-protected, mounting read-only mount: cannot mount block device

Se in Centos provando a montare una risorsa di tipo Windows share con il comando mount -t cifs ( mounting samba share )

esempio

# mount -t cifs -o username=xxxxxx //10.0.1.111/myshare /mnt/winshare

si ottiene l’errore

mount: block device //10.0.1.111/myshare is write-protected, mounting read-only
mount: cannot mount block device //10.0.1.111/myshare read-only

con tutta probabilità manca il pacchetto di utilità cifs.

In Centos 5.xx 6.xx  per risolvere il problema installare il tool cifs.utils

yum search cifs
yum install cifs-utils

Terminal output completo

# mount -t cifs -o username=xxxxxx //10.0.1.111/myshare /mnt/winshare
mount: block device //10.0.1.111/myshare is write-protected, mounting read-only
mount: cannot mount block device //10.0.1.111/myshare read-only

# yum search cifs
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.fastbull.org
 * extras: centos.fastbull.org
 * updates: centos.fastbull.org
================================ N/S Matched: cifs =================================
cifs-utils.x86_64 : Utilities for mounting and managing CIFS mounts

  Name and summary matches only, use "search all" for everything.


[root@host35-166e sysconfig]# yum install cifs-utils
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.fastbull.org
 * extras: centos.fastbull.org
 * updates: centos.fastbull.org
Resolving Dependencies
--> Running transaction check
---> Package cifs-utils.x86_64 0:4.8.1-20.el6 will be installed
--> Processing Dependency: keyutils for package: cifs-utils-4.8.1-20.el6.x86_64
--> Running transaction check
---> Package keyutils.x86_64 0:1.4-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
 Package              Arch             Version                 Repository      Size
====================================================================================
Installing:
 cifs-utils           x86_64           4.8.1-20.el6            base            65 k
Installing for dependencies:
 keyutils             x86_64           1.4-5.el6               base            39 k

Transaction Summary
====================================================================================
Install       2 Package(s)

Total download size: 104 k
Installed size: 204 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): cifs-utils-4.8.1-20.el6.x86_64.rpm                    |  65 kB     00:00     
(2/2): keyutils-1.4-5.el6.x86_64.rpm                         |  39 kB     00:00     
------------------------------------------------------------------------------------
Total                                               418 kB/s | 104 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : keyutils-1.4-5.el6.x86_64                                        1/2 
  Installing : cifs-utils-4.8.1-20.el6.x86_64                                   2/2 
  Verifying  : keyutils-1.4-5.el6.x86_64                                        1/2 
  Verifying  : cifs-utils-4.8.1-20.el6.x86_64                                   2/2 

Installed:
  cifs-utils.x86_64 0:4.8.1-20.el6                                                  

Dependency Installed:
  keyutils.x86_64 0:1.4-5.el6                                                       

Complete!

Installare samba client

Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: centos.fastbull.org
 * extras: centos.fastbull.org
 * updates: centos.fastbull.org
base                                                         | 3.7 kB     00:00     
extras                                                       | 3.4 kB     00:00     
updates                                                      | 3.4 kB     00:00     
updates/primary_db                                           | 2.0 MB     00:03     
================================ N/S Matched: samba ================================
samba-client.x86_64 : Samba client programs
samba-common.i686 : Files used by both Samba servers and clients
samba-common.x86_64 : Files used by both Samba servers and clients
samba-doc.x86_64 : Documentation for the Samba suite
samba-glusterfs.x86_64 : Samba VFS module for GlusterFS
samba-swat.x86_64 : The Samba SMB server Web configuration program
samba-winbind.x86_64 : Samba winbind
samba-winbind-clients.i686 : Samba winbind clients
samba-winbind-clients.x86_64 : Samba winbind clients
samba-winbind-krb5-locator.x86_64 : Samba winbind krb5 locator
samba4-client.x86_64 : Samba client programs
samba4-common.x86_64 : Files used by both Samba servers and clients
samba4-devel.x86_64 : Developer tools for Samba libraries
samba4-libs.x86_64 : Samba libraries
samba4-python.x86_64 : Samba Python libraries
samba4-swat.x86_64 : The Samba SMB server Web configuration program
samba4-test.x86_64 : Testing tools for Samba servers and clients
samba4-winbind.x86_64 : Samba winbind
samba4-winbind-clients.x86_64 : Samba winbind clients
samba4-winbind-krb5-locator.x86_64 : Samba winbind krb5 locator
sblim-cmpi-samba.i686 : SBLIM WBEM-SMT Samba
sblim-cmpi-samba.x86_64 : SBLIM WBEM-SMT Samba
sblim-cmpi-samba-devel.i686 : SBLIM WBEM-SMT Samba - Header Development Files
sblim-cmpi-samba-devel.x86_64 : SBLIM WBEM-SMT Samba - Header Development Files
sblim-cmpi-samba-test.x86_64 : SBLIM WBEM-SMT Samba - Testcase Files
ctdb.x86_64 : A Clustered Database based on Samba's Trivial Database (TDB)
samba.x86_64 : Server and Client software to interoperate with Windows machines
samba-domainjoin-gui.x86_64 : Domainjoin GUI
samba-winbind-devel.i686 : Developer tools for the winbind library
samba-winbind-devel.x86_64 : Developer tools for the winbind library
samba4.x86_64 : Server and Client software to interoperate with Windows machines
samba4-dc.x86_64 : AD Domain Controller placeholder package.
samba4-dc-libs.x86_64 : AD Domain Controller libraries placeholder package.
samba4-pidl.x86_64 : Perl IDL compiler

  Name and summary matches only, use "search all" for everything.
[root@host35-166e ~]# yum install samba-client
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.fastbull.org
 * extras: centos.fastbull.org
 * updates: centos.fastbull.org
Resolving Dependencies
--> Running transaction check
---> Package samba-client.x86_64 0:3.6.23-20.el6 will be installed
--> Processing Dependency: samba-winbind-clients = 3.6.23-20.el6 for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: samba-common = 3.6.23-20.el6 for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.9)(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.5)(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.2)(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtdb.so.1(TDB_1.2.1)(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.0.2)(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libwbclient.so.0()(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtevent.so.0()(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtdb.so.1()(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Processing Dependency: libtalloc.so.2()(64bit) for package: samba-client-3.6.23-20.el6.x86_64
--> Running transaction check
---> Package libtalloc.x86_64 0:2.0.7-2.el6 will be installed
---> Package libtdb.x86_64 0:1.2.10-1.el6 will be installed
---> Package libtevent.x86_64 0:0.9.18-3.el6 will be installed
---> Package samba-common.x86_64 0:3.6.23-20.el6 will be installed
---> Package samba-winbind-clients.x86_64 0:3.6.23-20.el6 will be installed
--> Processing Dependency: samba-winbind = 3.6.23-20.el6 for package: samba-winbind-clients-3.6.23-20.el6.x86_64
--> Running transaction check
---> Package samba-winbind.x86_64 0:3.6.23-20.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
 Package                      Arch          Version               Repository   Size
====================================================================================
Installing:
 samba-client                 x86_64        3.6.23-20.el6         base         11 M
Installing for dependencies:
 libtalloc                    x86_64        2.0.7-2.el6           base         20 k
 libtdb                       x86_64        1.2.10-1.el6          base         33 k
 libtevent                    x86_64        0.9.18-3.el6          base         26 k
 samba-common                 x86_64        3.6.23-20.el6         base         10 M
 samba-winbind                x86_64        3.6.23-20.el6         base        2.2 M
 samba-winbind-clients        x86_64        3.6.23-20.el6         base        2.0 M

Transaction Summary
====================================================================================
Install       7 Package(s)

Total download size: 25 M
Installed size: 89 M
Is this ok [y/N]: Y
Downloading Packages:
(1/7): libtalloc-2.0.7-2.el6.x86_64.rpm                      |  20 kB     00:00     
(2/7): libtdb-1.2.10-1.el6.x86_64.rpm                        |  33 kB     00:00     
(3/7): libtevent-0.9.18-3.el6.x86_64.rpm                     |  26 kB     00:00     
(4/7): samba-client-3.6.23-20.el6.x86_64.rpm                 |  11 MB     00:16     
(5/7): samba-common-3.6.23-20.el6.x86_64.rpm                 |  10 MB     00:19     
(6/7): samba-winbind-3.6.23-20.el6.x86_64.rpm                | 2.2 MB     00:03     
(7/7): samba-winbind-clients-3.6.23-20.el6.x86_64.rpm        | 2.0 MB     00:02     
------------------------------------------------------------------------------------
Total                                               610 kB/s |  25 MB     00:41     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libtalloc-2.0.7-2.el6.x86_64                                     1/7 
  Installing : libtevent-0.9.18-3.el6.x86_64                                    2/7 
  Installing : libtdb-1.2.10-1.el6.x86_64                                       3/7 
  Installing : samba-common-3.6.23-20.el6.x86_64                                4/7 
  Installing : samba-winbind-clients-3.6.23-20.el6.x86_64                       5/7 
  Installing : samba-winbind-3.6.23-20.el6.x86_64                               6/7 
  Installing : samba-client-3.6.23-20.el6.x86_64                                7/7 
  Verifying  : libtdb-1.2.10-1.el6.x86_64                                       1/7 
  Verifying  : samba-winbind-clients-3.6.23-20.el6.x86_64                       2/7 
  Verifying  : samba-common-3.6.23-20.el6.x86_64                                3/7 
  Verifying  : libtevent-0.9.18-3.el6.x86_64                                    4/7 
  Verifying  : libtalloc-2.0.7-2.el6.x86_64                                     5/7 
  Verifying  : samba-winbind-3.6.23-20.el6.x86_64                               6/7 
  Verifying  : samba-client-3.6.23-20.el6.x86_64                                7/7 

Installed:
  samba-client.x86_64 0:3.6.23-20.el6                                               

Dependency Installed:
  libtalloc.x86_64 0:2.0.7-2.el6       libtdb.x86_64 0:1.2.10-1.el6                
  libtevent.x86_64 0:0.9.18-3.el6      samba-common.x86_64 0:3.6.23-20.el6         
  samba-winbind.x86_64 0:3.6.23-20.el6 samba-winbind-clients.x86_64 0:3.6.23-20.el6

Complete!

Risorse:

Virsh tools per gestire le macchine virtuali in KVM

Virsh è un tool da linea di comando che consente di gestire le macchine virtuali nell’ambiente di emulazione kvm.

Molti i comandi disponibili del tipo

# virsh list

Il comando fornisce l’elenco delle virtual machine in esecuzione o in pausa:

E’ possibile anche accedere al terminale virsh in questo caso il comando precedente verrà eseguito semplicemente digitando list. Per accedere al terminale si digita virsh 

virsh
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
 'quit' to quit

Ecco la listade delle virtual machine in esecuzione o in pausa:

virsh # list
 Id Name State
----------------------------------------------------VMlist
 2 centos59_165 running
 5 Debian_74_wheezy running
 6 Lub1404 running
 8 Ubuntu12041S-2 running
 9 Windows7 running
12 u1404-test paused

Possiamo  visualizzare i pools a disposizione con

:virsh pool-list
Name State Autostart 
-------------------------------------------
 default active yes 
 VM-libvirt active yes

Per visualizzare tutte le vm  usare

virsh list --all

per installare virsh

sudo apt-get install libvirt-bin

Per connettersi ad un ipervisore remoto

virsh -c qemu+ssh://maurizio@192.168.1.140/system

Ridimensionare una macchina virtuale con virsh

Ad esempio per ridimesionare il disco di una VM windows 7 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

# virsh vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 24.00 GiB
 Allocation: 24.00 GiB

Quindi ridimensioniamo con

# virsh vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 30G --allocate
 Size of volume 'W7-64b-ETH.img' successfully changed to 30G

se siamo dentro virsh possiamo controllare le nuove dimensioni con  vol-info:

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 30.00 GiB
 Allocation: 30.00 GiB

Avviamo la macchina virtuale W7-64b-ETH.img con  virsh start

: virsh start W7
 Domain W7 started

Gestire una machina virtuale

Per fermare una macchina Virtuale si può utilizzare un comando del tipo

virsh --connect qemu:///system shutdown NomeVirtualMachine

Modificare il file di configurazione .xml di una macchina virtuale

La configurazione della macchine virtuali è conservata in file .xml in

/etc/libvirt/qemu

la struttura del file è del tipo :

<domain type='kvm'>
       <name>debian_DMZ</name>
       <uuid>b9f962c3-4031-4d31-b41d-b3aed75e693a</uuid>
       <memory unit='KiB'>1048576</memory>
       <currentMemory unit='KiB'>1048576</currentMemory>
       <vcpu placement='static'>1</vcpu>
       <os>
             <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
             <boot dev='hd'/>
       </os>
       <features>
             ...

Le modifiche possono essere apportate utilizzando il comando

virsh edit [Virtual-machine]

per l’esempio soprariportato virsh edit debian_DMZ

Il file .xml non può essere digitato direttamente perchè autogenerato.

Se si tenta la digitazione  diretta con comando del tipo nano debian_DMZ si ottiene il warning che segue.

WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
       virsh edit debian_DMZ
or other application using the libvirt API.

<domain type='kvm'>
       <name>debian_DMZ</name>
       <uuid>b9f962c3-4031-4d31-b41d-b3aed75e693a</uuid>
       ...

 

Macchine Ubuntu/Debian Installare acpid

Perchè l’arresto avvenga correttamente è necessario che sia installato acpid. Diversamente l’arresto sarà brutale come quando si toglie l’alimentazione con conseguenze che possono portare alla perdita di dati.

Una volta arrestata la VM può essere clonata ad esempio con

virt-clone --connect=qemu:///system -o CurrentVM -n NewVM -f /percorso_VMs/NewVM.gcow2

Se si clona una VM per evitare problemi è necessario procedere anche alla rinomina  del host modificando i files hosts e hostaname

sudo vim /etc/hosts
sudo vim /etc/hostname

 

 

Altri comandi

 virsh start  NomeVirtualMachine
 virsh reboot NomeVM
 virsh shutdown  NomeVM
 virsh suspend NomeVM
 virsh resume  NomeVM

 per visualizzare i dettagli di una VM  
 virsh dumpxml NomeVM   

 per reimportare i dati di una VM 
 virsh define  Nome VM 

 cancellare una macchina virtuale
 virsh destroy Nome VM 
 virsh undefine NomeVM

 

Risorse:

MultiCd per creare CD e DVD Multiboot in Linux

Riprendo un precedente post Creare un DVD, un CD o una chiave USB Multiboot  relativo a MultiCD un interessante script per  generare DVD e CD con una molteplicità di distribuzioni e utility da avviare direttamente grazie ad un comodo menu. Il vantaggio offerto da questo script non è da poco considerato che :  esistono molte distribuzioni linux  ottimizzate per compiti specifici o specializzate in ambiti particolari, vengono rilasciate con frequenza aggiornamenti di una distribuzione,  esistono diversi utili  tools avviabili da cd vedi antivirus, boot manager, etc.

multicd menu

multicd menu

Lo script Multicd  ( http://multicd.tuxfamily.org/ ), licenza MIT, come si legge nei sito dedicato ha i seguenti vantaggi:

  • Non è necessario avere un CD o DVD per ogni singola distribuzione ma spazio permettendo si possono appunto avere molte iso avviabili in un unico supporto 
  • Se le ISO sono già disponibili non è necessario riscaricarle. Lo script infatti è grado di scaricare
  • Al rilascio di una nuova versione di una distribuzione è sufficiente scaricare la nuova ISO e rilanciare lo scrpt per generare una nuova immagine muultiboot.
  • Aggiungo che grazie:
    • all’opzione -t o con qemu-kvm è possibile testate il multicd e tutte le iso installate prima del burning
    • a dd è posossibile trasferire la iso multiboot in una penna usb

Svantaggi:

  • Lo script opera con tante distribuzioni e utilities ma non con tutte. L’elenco è disponibile al seguente indirizzo MultiCD: Supported Distros.

Di seguito vengono presentati due possibili modi di utilizzo di multicd uno più semplice e uno po’ più articolato definito per differenziare “avanzato” ( nell’utilizzo avanzato indicato anche l’inserimento di utili tools live che può far comdo avere in un dvd in caso di emergenza) :

  • utilizzo base
  • utilizzo “avanzato”

L’approccio personlizzato fa ricorso intensivo a links simbolici per  contenere l’occupazione di spazio su disco, per consententire di inserire più versioni della stessa distro su DVD e per modificare il menu di avvio del multicd-dvd

Uso base di MultiCD

Avvertenza  qualora si intendano realizzare multiboot DVD consdierare che potrebbero anche occupare temporaneamente i 15GB di spazio disco.
Nel utilizzo di multicd in modo base creare una cartella ad hoc. Scaricare  e copiare lo script multicd nella cartella. Quindi copiare o generare un link simbolico alle distro e ai tools e lanciare lo script multicd.sh  Scaricare l‘ultima versione di sviluppo di multicd con git  Come installare Git client per Ubuntu

mkdir multicd
cd multicd 
git clone git://git.tuxfamily.org/gitroot/multicd/multicd.git

Copiare nella directory le iso che si intendono inserire nel CD/DVD multiboot. I files ISO devono talvolta essere rinominati secondo le indicazioni sul sito di multicd supported boot images.  Ad esempio per    Finnix → finnix.iso  viene indicato che il nome sicuramente funzionante è finnix.iso.

Ad esempio è possible copiare nella cartella multicd:

  •  systemrescuedcd-x86-3.6.0.iso
  • ubuntu-12.10-desktop-i386.iso

invece copiamo e rinomiamo

  • finnix-108.iso  in -> finnix.iso
  • super_grub2_disk_hybrid_1.98s.iso  1in -> super_grub2_disk_hybrid_1.98s1.img

Quindi rendere eseguibile lo script multicd.sh:

chmod +x multicd*.sh
./multicd.sh
o
sudo ./multicd.sh

Al primo avvio verrà scaricato syslinux.tar.gz

Lo script può essere eseguito più volte.
La iso multiboot.iso e tutte le distro contenute possono essere testate con

kvm -m 512 -boot d multicd.iso

E’ possibile anche avviare qemu automicamente utilizzano l’opzione -t cioè utilizzando

sudo ./multicd.sh

Utilizzo personalizzato di Multicd

Considerato che nella realizzazione di multiboot DVD si potrebbero raggiungere temporaneamente i 15GB creare una cartella in un partizione, anche separata, sufficientemente capiente. Ad es:

mount -t auto /dev/hda10 /media/dati
mkdir /media/dati/multicd
cd /media/dati/multicd

Scaricare l‘ultima versione di multicd con git  Come installare Git client per Ubuntu | maurizio siagri

git clone git://git.tuxfamily.org/gitroot/multicd/multicd.git

Installare dialog per  personalizzare il menu di avvio del multicd, colori, titoli…

  sudo apt-get install dialog

dialog consente anche di ridefinire i menu di avvio di alcune ditribuzioni quali ubuntu e mint.

Per inserire più versioni diverse di distribuzioni quali ubuntu e mint è preferibile che il nome dei files iso sia del tipo: xxxxx.ubuntu.iso. Tuttavia per evitare di rinominare i file .iso scaricati e risparmiare spazio Per le distro quali ubuntu è preferibile piuttosto che copiare le iso nella directory di multicd utilizzare dei symlinks.  Di seguito la preparazione di un dvd con diverse distro utilizzando esclusivamente symlinks.

ln -s ../../ISO/iso-tools/super_grub_disk_0.9799.iso  super_grub_disk_0.9799.img
ln -s ../../ISO/iso-tools/super_grub2_disk_hybrid_2.00s1-beta5.iso super_grub2_disk_hybrid_2.00s1-beta5.img
ln -s ../../ISO/iso-tools/super_grub_disk_hybrid-1.98s1.iso super_grub_disk_hybrid-1.98s1.img
ln -s ../../ISO/iso-tools/gparted-live-0.16.1-1-i486.iso gparted-live-0.16.1-1-i486.iso
ln -s ../../ISO/iso-tools/grub4dos-0.4.4/grub.exe grub.img
ln -s ../../ISO/iso-tools/systemrescuecd-x86-3.6.0.iso systemrescuecd-x86-3.6.0.iso
ln -s ../../ISO/slax/slax-6.1.2.iso slax-6.1.2.iso 
ln -s ../../ISO/iso-tools/finnix-108.iso finnix.iso
ln -s ../../ISO/suse/openSUSE-12.2-GNOME-LiveCD-i686.iso openSUSE-12.2-GNOME-LiveCD-i686.iso
ln -s ../../ISO/Ubuntu/ubuntu-12.04.1-server-amd64.iso  ubuntu-12.04.1-server-amd64.iso 
ln -s ../../ISO/Ubuntu/xubuntu-12.04.1-desktop-i386.iso xubuntu-12.04.1-desktop-i386.iso
ln -s ../../ISO/Ubuntu/raring-desktop-amd64.iso  raring-desktop-amd64.ubuntu.iso 
ln -s ../../ISO/Ubuntu/lubuntu-13.04-desktop-amd64+mac.iso  lubuntu-13.04-desktop-amd64+mac.ubuntu.iso

avviare come root e con l’opzione -i per modificare il menu di avvio

sudo ./multicd -i

La iso multiboot.iso e tutte le distro contenute possono essere testate avviando qemu-kvm  oppure utilizzando l’opzione -t di multicd oppure avviando kvm  con il comando:

kvm -m 512 -boot d multicd.iso

Nella fase di test è possibile via menu avviare le iso incluse nel multicd.iso. Di seguito le schermate di puppy 5.5 precise  xubuntu avviate direttamente dal menu.

multicd avvio puppy

multicd avvio puppy

puppy 5.5 via multicd

puppy 5.5 via multicd

xubuntu via multicd

Il file iso può essere masterizzato con brasero o Xfburn etc..

Creare un penna usb multiboot

Per creare una chiavetta USB multiboot contentente la iso prodotta con multicd in Linux è possibile varie soluzione una delle più semplici è utilzzare il comando dd :

dd if=multicd.iso of=/dev/sdh oflag=direct

per ulteriori informazioni su dd fare riferimetno al seguente post Clonare una penna usb – Salvare una iso su usb con dd.  E’ possibile usare anche programmi come UNetbootin.

Risorse:

Programmi per creare una chiavetta USBcon sistema operativo live LinuxLIve USb Creator, Unetbootin

Alternative windows xbootsardu, yumi.

ISO Distro e ISO Tools interessanti:

Nota:

Se compare l’errore:

cp: cannot stat ‘/tmp/syslinux-*/com32/modules/chain.c32’: No such file or directory

Di solito avviene la prima volta, risolvere semplicemnte riavviando lo script.

 ./multicd.sh

Di seguito messaggi a terminale nel caso specifico :

~/multicd/multicd$ sudo ./multicd.sh
[sudo] password for maurizio: 
Made a link named sysrcd.iso pointing to systemrescuecd-x86-3.6.0.iso (version 3.6.0)
multicd.sh 20121217
Extracting ISO images with mount; will build multicd.iso; UID 0.

SystemRescueCd
super_grub_disk_0.9799
Memtest86+

Continuing in 2 seconds - press Ctrl+C to cancel
Copying files for each plugin...
Copying SystemRescueCd...
Copying super_grub_disk_0.9799... Saved as 0.img.
Downloading SYSLINUX...
--2013-05-23 00:21:37--  https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.06.tar.gz
Resolving www.kernel.org (www.kernel.org)... 198.145.20.140, 149.20.4.69
Connecting to www.kernel.org (www.kernel.org)|198.145.20.140|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6651601 (6,3M) [application/x-gzip]
Saving to: ‘syslinux.tar.gz’

100%[=====================================================================>] 6.651.601    651KB/s   in 11s    

2013-05-23 00:21:49 (594 KB/s) - ‘syslinux.tar.gz’ saved [6651601/6651601]

Unpacking and copying files...
cp: cannot stat ‘/tmp/syslinux-*/com32/modules/chain.c32’: No such file or directory

RIAVVIARE 
:~/multicd/multicd$ sudo ./multicd.sh
removed ‘sysrcd.iso’
removed ‘sysrcd.version’
Made a link named sysrcd.iso pointing to systemrescuecd-x86-3.6.0.iso (version 3.6.0)
multicd.sh 20121217
Extracting ISO images with mount; will build multicd.iso; UID 0.

SystemRescueCd
super_grub_disk_0.9799
Memtest86+

Continuing in 2 seconds - press Ctrl+C to cancel
Copying files for each plugin...
Copying SystemRescueCd...
Copying super_grub_disk_0.9799... Saved as 0.img.
Unpacking and copying SYSLINUX files...
Downloading memtest86+ 4.20 from memtest.org...
--2013-05-23 00:27:00--  http://memtest.org/download/4.20/memtest86+-4.20.bin.gz
Resolving memtest.org (memtest.org)... 217.70.182.162
Connecting to memtest.org (memtest.org)|217.70.182.162|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 64960 (63K) [application/x-gzip]
Saving to: ‘STDOUT’

100%[=====================================================================>] 64.960       178KB/s   in 0,4s   

2013-05-23 00:27:01 (178 KB/s) - written to stdout [64960/64960]

Writing isolinux.cfg...
Building CD image...
Warning: Creating ISO-9660:1999 (version 2) filesystem.
Warning: ISO-9660 filenames longer than 31 may cause buffer overflows in the OS.
Size of boot image is 4 sectors -> No emulation
  2.41% done, estimate finish Thu May 23 00:27:02 2013
  4.83% done, estimate finish Thu May 23 00:27:02 2013
  7.25% done, estimate finish Thu May 23 00:27:02 2013
  9.66% done, estimate finish Thu May 23 00:27:02 2013
 12.07% done, estimate finish Thu May 23 00:27:02 2013
 14.48% done, estimate finish Thu May 23 00:27:02 2013
 16.90% done, estimate finish Thu May 23 00:27:02 2013
 19.31% done, estimate finish Thu May 23 00:27:02 2013
 21.73% done, estimate finish Thu May 23 00:27:02 2013
 24.14% done, estimate finish Thu May 23 00:27:02 2013
 26.55% done, estimate finish Thu May 23 00:27:02 2013
 28.96% done, estimate finish Thu May 23 00:27:02 2013
 31.38% done, estimate finish Thu May 23 00:27:02 2013
 33.79% done, estimate finish Thu May 23 00:27:04 2013
 36.21% done, estimate finish Thu May 23 00:27:04 2013
 38.62% done, estimate finish Thu May 23 00:27:04 2013
 41.03% done, estimate finish Thu May 23 00:27:04 2013
 43.44% done, estimate finish Thu May 23 00:27:04 2013
 45.86% done, estimate finish Thu May 23 00:27:04 2013
 48.27% done, estimate finish Thu May 23 00:27:04 2013
 50.69% done, estimate finish Thu May 23 00:27:03 2013
 53.10% done, estimate finish Thu May 23 00:27:03 2013
 55.51% done, estimate finish Thu May 23 00:27:03 2013
 57.92% done, estimate finish Thu May 23 00:27:03 2013
 60.34% done, estimate finish Thu May 23 00:27:03 2013
 62.75% done, estimate finish Thu May 23 00:27:05 2013
 65.17% done, estimate finish Thu May 23 00:27:05 2013
 67.58% done, estimate finish Thu May 23 00:27:04 2013
 69.99% done, estimate finish Thu May 23 00:27:04 2013
 72.40% done, estimate finish Thu May 23 00:27:07 2013
 74.82% done, estimate finish Thu May 23 00:27:08 2013
 77.23% done, estimate finish Thu May 23 00:27:08 2013
 79.65% done, estimate finish Thu May 23 00:27:08 2013
 82.06% done, estimate finish Thu May 23 00:27:09 2013
 84.48% done, estimate finish Thu May 23 00:27:10 2013
 86.88% done, estimate finish Thu May 23 00:27:10 2013
 89.30% done, estimate finish Thu May 23 00:27:09 2013
 91.71% done, estimate finish Thu May 23 00:27:09 2013
 94.13% done, estimate finish Thu May 23 00:27:09 2013
 96.54% done, estimate finish Thu May 23 00:27:10 2013
 98.95% done, estimate finish Thu May 23 00:27:10 2013
Total translation table size: 2048
Total rockridge attributes bytes: 4073
Total directory bytes: 12288
Path table size(bytes): 84
Max brk space used 1d000
207174 extents written (404 MB)
Running isohybrid...
Cleaning current directory...
removed ‘sysrcd.iso’
removed ‘sysrcd.version’

Copiare o trasferire un’ installazione zenphoto 1.4.3.2 in altro server Centos

Zenphoto

Nel precedente post Installare ZenPhoto 1.4.3.4 in debian ubuntu linux da zero veniva riportata la procedura per l’installazione di zenphoto un’ applicazione web di tipo CMS per photo gallery.

L’obiettivo di questo post è invece illustrare come trasferire o copiare una installazione zenphoto da un server linux ad un altro server.  Per poter effettuare l’operazione è necessario l’accesso a MySQL  e alle cartelle nei due server coinvolti nel trasferimento.

L’esempificazione riguarda la copia di zenphoto 1.4.3.2 da macchina remota Centos con Mysql 5.5.26 a macchina virtuale locale Centos 5.9 con MySQL 5.0.5 ( consdierare che MySQL 5.5 è la versione raccomdata ).

Zenphoto

Zenphoto gallery

1) Prima di iniziare verificare che siano installati anche i pacchetti mbstring e gdi ( o imagemagick) per php. Se mancati qualora si stia utilizzano php53 si possono installare con

yum install php53-mbstring php53-gd 
e riavviare apache
service httpd restart

2) Verificare che sia abilitato il modulo mod_rewrite in apache  se non abilitato modificare AllowOverride None in AllowOverride All

<Directory "/var/www/html">
  AllowOverride All

3) Copiare nel nuovo server directory /var/www/html  una versione di Zenphoto uguale a quella del sito da trasferire/copiare. Eventualmente è possbile scaricarla con wget

wget http://zenphoto.googlecode.com/files/zenphoto-1.4.3.2.tar.gz  
tar -zxvf zenphoto-1.4.3.2.tar.gz

qualora la nuova directory per zenphoto sia znpcms  i sorgenti di zenphoto dovranno trovarsi in

/var/www/html/znpcms

4) Copiare tutti i temi e i plugin personalizzati dall’installazione di zenphoto da trasferire nella nuova vartella znpcms

5) Copiare le cartelle albums e cache; se si utilizza il plugin Zenpage copiare la cartella uploaded.
6) Generare un backup del database del sito origine utilizzando Backup/Ripristino nelle funzioni utilità della pagina di amministrazione  Riepilogo ( Overview ).

7) Copiare la cartella backup nella cartella di base /var/www/html/znpcms della nuova installazione.

8) Cambiare i permessi  della cartella con zenphoto

chown -R apache:apache /var/www/html/zencms ;

9) Creare il database e lo user nel nuovo server MySQL.   Si può far ricorso al file zenphoto.cfg  per ottenere le informazioni relative al database MySQL di cui è stato effettuao il backup.

Il file si trova in zenphoto/zp-data/zenphoto.cfg. Si potranno visualizzare il nome del database, “mysql_database”,  il nome del proprietario del database, “mysql_user”,  la password usata dal mysq_user”, mysql_pass .

// Database Information 
////////////////////////////////////////////////////////////////////////////////
$conf['db_software'] = 'MySQL';
/** for historical reasons these fields reference mysql even though the database **
 ** might be a different software                                                **/
$conf['mysql_user'] = 'user_db-znp';
$conf['mysql_pass'] = 'pass_user_db-znp';
$conf['mysql_host'] = 'localhost';
$conf['mysql_database'] = 'name_db-znp';
// If you're sharing the database with other tables, use a prefix to be safe.
$conf['mysql_prefix'] = 'zp_';

// If you are having problems with displaying some characters you may have to change
// the following:
$conf['UTF-8'] = true;
...

Accedere a MySQL nel nuovo server con:

$ mysql -u root -h host -p

creare il nuovo database e lo user_db-znp con:

mysql> CREATE DATABASE name_db-znp;
mysql> GRANT ALL PRIVILEGES ON name_db-znp.* TO 'user_db-znp'@'localhost'
mysql> IDENTIFIED BY 'pass_user-db-znp' ;
mysql> FLUSH PRIVILEGES ;

10) Avviare la procedura di setup puntando il browser su zp-core/setup.php.  Si dovranno inserire manualmente i dati per l’accesso a MySQL.

setup mysql setting

setup mysql setting

11) Quindi avviare il setup premento il pulsante [GO] in basso. Terminato il setup, se tutto è  a posto,  la pagina che si ottiene presenta il link che consentirà di importare il backup del database originario. Il link per il restore è in basso come evidenziato in figura.

Setup  run backup restore
Setup run backup restore

Quindi, accettata la licenza, dalla finestra di backup sarà possibile effettuare il restore del database

zenphoto-setup-restore

11) A questo punto la reinstallazione è completa e sarà possibile operare in modo tradizionale come nel sito di origine.

Risorse:

KVM: installare CentOS 5.9 VM via virt-manager

Obiettivo: Installare una machcina virtuale Centos 5.9   su server Ubuntu 12.10 con KVM utilizzando virt-manager 0.9.3.

Lanciare Virtual Machine Manager da me nu o da terminale con

virt-manager

Creare il disco virtuale per la VM

Per creare il disco virtuale che ospiterà la Virtual Machine  KVM-QEMU possiamo agire in  più modi possiamo usare l’interfaccia grafica oppure il terminale. Optiamo per l’interfaccia grafica. Due  sono le possibilità creare il disco durante la creare della VM oppure separatamente. Seguiamo la seconda possibilità. Quindi Selezionare EDIT > Connection Details  se si sono più storage scegliere quello da utilizzare. Lo storage di base è denominato default.  Creare il nuovo discopremendo il pulsante <New Volume> in basso  al centro.

Aggiungere una nuova immagine Disco
Aggiungere una nuova immagine Disco

Il formato qcow2 è quello più efficente ed è tipico di kvm-qemu. Mentre il formato raw è da preferire in caso di conversioni della VM. Se non si hanno problemi di spazio disco e si usa il formato raw è preferibile alloccare tutto lo spazio disco.

creare New image disk for VM
creare New image disk for VM

Per installare Centos 5.9  64 bit usiamo la modalità online usando la iso netinstall, CentOS-5.9-x86_64-netinstall.iso.
La iso piuò essere scaricata con wget

wget http://mi.mirror.garr.it/mirrors/CentOS/5.9/isos/x86_64/CentOS-5.9-x86_64-netinstall.iso

Create una nuova macchina Virtuale

Premere il pulsante New

Create New VM using virt-manager
Create New VM using virt-manager

Creazione nuova Virtual Machine Centos 5.9 – Step 2/5
Selezionare la iso netinstall Centos e precisare Sistema Operativo e Versione

virt-manager Create New VM  2/5
virt-manager Create New VM 2/5

Step 3/5  –  Nuova Virtual Machine Centos 5.9

Indicare la quantità di memoria e il numero di CPU

Step 3/5 Virt-manager new VM
Step 3/5 Virt-manager new VM

Step 4/5  –  Nuova Virtual Machine Centos 5.9

Selezionare il disco immagine creato in precedenza e destinato ad accogliere la Virtual Machine

Step 4/5 Virt-manager select disk image
Step 4/5 Virt-manager select disk image

La macchina virtuale è stata creata. E’ possibile visualizzare le opzioni avanzate e customizzare  l’installazione prima di iniziare.

5/5 Creazione standard della VM ultimata
5/5 Creazione standard della VM ultimata

Ultimata la creazione standard della VM, se è stata attivata l’opzione customize, è possibile aggiungere altro hardware con <Add Hardware>. Aggiungiamo ad esempio una seconda NIC conviente usare il device model virtio

Virt-Manager Create VM add NIC
Virt-Manager Create VM add NIC
virt-manager VM check configuration
virt-manager VM check configuration

Prima iniziare l’installazione e possibile rivedere i vari settaggi ed eventualemtne modificarli.

Quindi avviare l’installazione con <Begin Installation>.

Installazione di Centos 5  con Virt Manager

Una volta premuto begin installation apparira la schermata di avvio installazione di Centos

Start Centos-5 installation
Start Centos-5 installation

Verrà richiesto di seleizonare il linguaggio  e la tastiera

Centos 5 - Choose Language
Centos 5 – Choose Language
Centos 5 - Choose Keyboard type
Centos 5 – Choose Keyboard type

A questo punto si deve selezionare il metodo di installazione

Centos 5 - Choose Installation type
Centos 5 – Choose Installation type

Se ci sono più schde di rete attivate, per l’installazione, è necessario selezionare la scheda di rete di default. Ne abbiamo 2 optiamo per la la eth0.  Quindi è necessario configurare il TCP/IP optiamo le impostazioni di default ().

Centos 5.9 Configure TCP/IP
Centos 5.9 Configure TCP/IP

Indicare ora il sito web e la directory centos dalle quali effettuare l’installazione via HTTP.

Nel nosto caso useremo questo percorso  Index of /mirrors/CentOS/5.9/os/x86_64/images/ pertanto

  •  mi.mirror.garr.it       come web site
  • mirrors/CentOS/5.9/os/x86_64     come directory centos
Centos 5.9 HTTP Setup
Centos 5.9 HTTP Setup

La fase di retriving potrà essere abbastanza prolungata

Centos 5.9 Retriving
Centos 5.9 Retriving

Al termine la schermata inziale per la configurazione/installazione di Centos. Da questo punto si potrà utilizzare anche il mouse

Centos 5.9 start
Centos 5.9 start

Clikkato <Next> ci sarà subito un primo warning che ci avvisa della necessità di creare  partition table e partizioni

Centos 5 partitioning warning
Centos 5 partitioning warning

Selezioniamo il partizionamento di default

Centos 5.9 partitioning default
Centos 5.9 partitioning default

Secondo warning ci informa che tutti i dati presenti del disco virtuale verranno cancellati e verrà applicato un layout per il partitioning standard adeguato per la maggior parte degli users.

Centos 5 partitioning warning
Centos 5 partitioning warning

Network setting è possibile  impostare interfaccia di rete, hostname, gateway., dns etc

optiamo per la modalità di default DHCP

Centos 5 Network configuraztion
Centos 5 Network configuraztion

Selezionare la regione geografica

Centos 5 choose region
Centos 5 choose region

Impostare la passowrd per l’account root

Centop 5.9 password root
Centop 5.9 password root

Selezionare il o i set di software tra quelli proposti. In questo caso opto per solo server e Customize later.

Centos 5.9 selezionare il set di software
Centos 5.9 selezionare il set di software

A questo punto avremo la maschera per dare inizio al processo di installazione

CentOS start installation
CentOS start installation

Visto la modalità HTTP armarsi da un po’ di pazienza per l’installazione

kvm
centos 5.9 install process starting

Installazione in corso

Centos Installazione in corso
Centos Installazione in corso

Completata l’installatione si deve effettuare il reboot.

CentOS installation complete
CentOS installation complete

Con il riavvio  verrà presentato il setup agent testuale se si è installato solo il set server diversamente con interfaccia grafica ecco le due modalità.

kvm-vm-centos5.9-sa100

oppure

kvm-vm-Centos5.9-IC039F

Altre risorse