Archive | Linux RSS feed for this section

Bash history search

2 Nov

Molto comodo, usando il terminale, poter cominciare a scrivere un comando già usato in passato e scorrendo con la freccia da tastiera, poterlo recuperare al volo senza dover tornare su 2 o 300 volte!

Per poter fare questo è necessario (su osx ma credo che valga anche per linux) creare (se non esiste) nella propria home il file .inputrc e al suo interno copiare quanto segue:

# set show-all-if-ambiguous on

# do not bell on tab-completion
set bell-style none

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# show file types while completing
set visible-stats on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

# Only show ’show all nn items’ for > 1000
set completion-query-items 1000

$if mode=emacs

# for linux console and RH/Debian xterm
“\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5~": history-search-backward
"\e[6~": history-search-forward

# for rxvt
"\e[8~": end-of-line

# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line

$endif

# [Up] and [Down] do incremental history search
“\e[A": history-search-backward
"\e[B": history-search-forward

# Previous stops [Left] and [Right] working: reinstate
“\e[C”: forward-char
“\e[D”: backward-char

$if Bash
# Do expansion when space is pressed
Space: magic-space
$endif

virtualbox: ubuntu server 8.04 su OSX 10.5 howto italian

25 May

ATTENZIONE: QUESTO ARTICOLO FA RIFERIMENTO ALLA VERSIONE 1.x di VIRTUALBOX, INSTALLANDO UNA UBUNTU SERVER 8.04
ADESSO HO AGGIORNATO ALLA VERSIONE 2.x E FATTO UPGRADEA UBUNTU SERVER 9.04:
Molte cose sono rimaste invariate, alcune invece hanno bisongo che ci rimetta le mani, quindi aggiorno questa guida via via che faccio cose specificando quali sono gli aggiornamenti per la 2.x – 9.04
La mia intenzione è quella di installare Ubuntu Server 8.04 su una virtalbox su un McBook Pro OSX Leopard.

Volgio usare ubuntu come webserver locale di sviluppo per LAMP e per le applicazioni RAILS.
Via via sto incontrando piccoli problemi che cerco di risolvere. Questo post crescerà di volta in volta!

Intallazione ubuntu

L’iinstallazione è andata liscia senza problemi. Però all’avvio della macchina virtuale, al sistema risulta non essere valida la CPU e quindi non parte.
E’ necessario andare nelle impostazioni della macchina virtuale nella sezione:

GENERALE -> AVANZATE

e mettere il check su “Abilita ACPI” e “Abilita PAE/NX”

e questo è risolto!

Folder sharing

ATTENZIONE AGGIORNAMENO 2.x – 9.04: dopo l’aggiornamento le cartelle condivise non funzionano più; ho seguito quanto scritto su http://ubuntrucchi.wordpress.com/2009/03/09/installare-le-guest-additions-di-virtualbox-2x/

La mia necessità primaria è quella di poter avere i file di sviluppo sul mio hard disk OSX in maniera che possa editare i miei file da OSX e che li possa vedere su webserver ubuntu via browser. Dato che le macchine sono in rete pensavo di far puntare apache ad un indirizzo di rete locale ma ho scoperto che questo non si può fare. Virtualbox mette a disposizione le cartelle condivise, ciò la possibilità di montare delle directory che stanno sul HD OSX direttamente su ubuntu. Questo è possibile poichè i sistemi stanno sullo stesso HD.
Per configurare questa opzioni sono necessari alcuni passi.

  1. Configurare le cartelle condivise dal pannello di configurazione della macchina virtuale nel pannello “dettagli->cartelle condivise”. Ne aggiungiamo una e gli diamo un nome (il mio caso è “websites” che punta alla directory /home/users/profilo/Sites)
  2. Andare nella cartella delle applicazioni, selezionare l’applicazione virtualbox e col tasto destro cliccare su “mostra contenuti pacchetto”. Dentro Contents -> MACOSX troverete un file “VBoxGuestAdditions.iso”, copiatelo sulla scrivania o su un qualunque percorso visibile. (Fare attenzione a copiare e non a spostare!!!)
  3. Nel pannello “Dettagli -> CD/DVD ROM” di configurazione della virtual machine, scegliete di moontare un’immagine iso come cd selezionando il file VBoxGuestAdditions.iso che vi siete copiati.
  4. Avviare Ubuntu server
  5. Una volta eseguito il login è necessario montare il cd con “sudo mount /cdrom”. Apparirà un messaggio tipo “block device /dev/scd0 is write protected”, non è importante. Adesso cercate dove è stato montato il cd che può essere (mi è capito su posti diversi) in “/media/cdrom” oppure in “/media/crdrom0″
  6. Dentro ci sarà una serei di eseguibili, va scelto quello che interessa, nel mio caso “VBoxLinuxAdditions-x86.run”
  7. Non è possibile lanciare questo script dubito perchè ci servono le librerie del compilatore per GNU Linux. Quindi installiamo via apt “sudo apt-get install build-essential”
  8. Ancora non basterà perchè servono gli header giusti… per sapere queli sono basta fare “uname -a” che rende una stringa tipo “Linux webserver 2.6.24-19-server #1 SMP Wed Aug 20 etc etc”; nel mio caso significa che devo installare “apt-get install linux-headers-server”
  9. A questo punto possiamo lanciare dalla directory del cd montato “sudo ./VBoxLinuxAdditions-x86.run”
  10. Nella mia home ho creato una directory “Sites” con mkdir
  11. A questo punto provo a montare la cartella condivisa: “sudo mount -t vboxsf Websites Sites/”
  12. Se voglio che questa operazione sia automatica ad ogni avvio sarà necessario aprire “sudo nano /etc/fstab” e inserire una riga in fondo al documento così  “Websites /home/[utente]/Sites vboxsf defaults,uid=1000,gid=1000,exec 0 0″

e questo è risolto!
Grazie a David Mugnai

Come modificare la risoluzione maggiore di 800×600?

Voglio mettere la risluzione dell scherm a 1024×768 per una migliore visualizzazione della shell.
sudo nano /boot/grub/menu.list
alla fine delle “DEFAULT OPTIONS” comincia la lista delle opzioni grub. La prima dovrebbe essere quella di Ubuntu Server 8.0.x; nel campo kernel si trova in fondo alle opzioni un default.
sostituire in maniera che diventi “ro vga=791″
La mia stringa è:
kernel /boot/vmlinuz-2.xx.xx rot=UIID=xxxxxx ro vga=791*

Questo è rislto!
(Grazie a Tommaso Ghiachi!)

Come abilitare il mouse per fare selezioni di testo?

Ho trovato una sola via per poter abilitare il mouse, per poter fare la selezione di testo per copia incolla. Sembra che l’unico modo sia (anche se non mi torna per niente) l’installazioen di un piccolo software “gpm”
sudo atp-get install gpm

Come arrivare via browser al webserver?

Sulla vostra macchina locale, aprire una shell con la virtualbox non avviata.
per ogni porta che si vuole aprire è necessario scrivere questa tripletta:

VBoxManage setextradata “Linux Guest” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol” TCP
VBoxManage setextradata “Linux Guest” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort” 80
VBoxManage setextradata “Linux Guest” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort” 8000

Al posto di “Linux Guest” si dovrà mettere il nome preciso della macchina virtuale.
Nella seconda riga la porta che vogliamo aprire (la 80 per apache).
Nella terza la porta locale che vogliamo mappare (ho scelto la 8000)

Avviare la macchina virtuale con relativo login.

Su browser mettere http://localhost:8000 e magicamente… it works! Però si vedrà la directory interna di apache mentre io voglio vedere la cartella condivisa.

Andare su “nano /etc/apache2/sites-anabled/000-default

e modificare le righe DocumentRoot con il percorso della directory condivisa.

riavviare apache

sudo /etc/init.d/apache2 restart

Per eliminare il warning al riavvio di apache (apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName):

sudo nano /etc/apache2/apache2.conf
inserire in fondo la seguente linea:
ServerName [unNomePerIlServer]
salvare il file con ctrl+o seguito da invio e ctrl+x per chiuderlo
(thanks to http://www.pianeta.com/map/index.php/idQ20623/tipoQ/shwDAQsi/ricercaQ14/shSCQ403/pidQ11)
E questo è risolto!
Grazie a David Mugnai

Apache non serve bene i CSS

Su questo sono impazzito per un bel po’ ma lla fine è risolto. I file Html, Php vengono letti correttamente sulla mia Vbox da apache ma i file css vengono letti la prima volta, e poi rimangono come congelati una specie di cache che mostra sempre il file come visualizzato la prima volta… ovviamente non era un problema di cache.

Il problema è che apache stronca i file css e txt come documentato su http://forums.virtualbox.org/viewtopic.php?t=1940&highlight=apache

Ho trovato la soluzione su http://httpd.apache.org/docs/2.0/mod/core.html#enablesendfile per cui è necessario editare il file

sudo nano /etc/apache2/apache2.conf

e aggiungere in un punto qualunque la stringa

      EnableSendfile Off
e tutto funzioneraà a meraviglia!

E questo è risolto!
Grazie a David Mugnai

Come modificare il layout di tastiera?

non ci sono ancora riuscito e il problema più grosso è quello di riuscire a fare i caratteri che solitamente usiamo con il tasto Alt sinistro (in Osx) o Alt destro (in Win/Linux) (per esempio per fare la @, # ecc)

Ho provato svariate cose sul layout di MacBokk pro con

dpkg-reconfigure console-setup

ma nessuna ha funzionato. Però, rimettendo una tastiera generica 101 tasti e configurandoil tasto “Logo right” mi è adesso possibile usare quei caratteri. Alcuni altri invece sono rimappati, da scoprire e imparare le posizioni, m aalmeno adesso sono tutti raggiungibili.

Ultimo aggiornamento: 22-10-2008

Configure printer on ubuntu

7 Apr

I’ve got to configure my printer on the new UBUNTU release 8.04; everything was fine, printer on USB detected and so on but, when I’ve got to do the last magic click, the GUI asked me for a localhost password…
Obviously no password was right and I could not finish my setup.
Reading around I’ve found this little trick that might be usefull to someone else:

Alt-F2 to open application launcher and type

gksudo  system-config-printer

Ubuntu will ask your system password and then you’ll be able to configure, delete and modify your printers.

Aptana Studio RedRails Error

27 Feb

I was curious to try an IDE on Osx for Rails development and APTANA STUDIO seems to be the right product. (I do use TextMate as editor)

Aptana Studio is fully installed on my laptop but, when I try to install the RedRails plugin, it returns this error:

Requested operation cannot be performed because it would invalidate the current configuration. See details for more information.


Ruby Mylyn Connector Feature (Optional) (0.9.3.6479) requires feature
"org.eclipse.mylyn.context_feature (2.0.0.v20070628-1000)", or later version.

The solution: http://support.aptana.com/issues/browse/ROR-156

The most important steps are:

  1. Went to Help=>Updates=>Find and Install. Installed three Eclipse updates that the system found. Installation of updates worked ok.
  2. When the update window appears with RadRails updates, expand the tree and uncheck the box next to the Ruby Mylyn Connector Feature. This is an optional extension for users of Mylyn. You don’t need it, so you can safely uncheck the box and install.

This seems to works either on Windows, Osx and Linux

gem install mysql on linux

19 Feb

It might be a problem, an “old” well-known issue…

sudo gem install mysql

might return an error like:

ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

Well, this is cause you need the -dev environment of mysql. Too easy to think that it could be mysql-dev, no! just try

apt-get install libmysqlclient15-dev

It will works!