Ultimi commenti
- spamp su Rimborso windows: risposta di Samsung
- RedSend su Wake-On-LAN
- imagin su Notebook acer con linux preinstallato
- RedSend su Notebook acer con linux preinstallato
- RedSend su Progetto USB Power Switch (ora si fà sul serio)
- baron su CHAP Plugin
- Mimmo su Progetto USB Power Switch (ora si fà sul serio)
- RedSend su Social Bookmarking & C.
Random Posts
Tags Cloud
Post più letti
- Il Bradipo - 2,684 views
- Configurare atheros ar5007eg - 2,349 views
- Recuperare password hotmail - 1,697 views
- Cancellare linux e il bootloader (soprattutto!) - 1,510 views
- Wicd non solo su Ubuntu - 1,473 views
Archivi
- Maggio 2008 (3)
- Aprile 2008 (9)
- Marzo 2008 (11)
- Febbraio 2008 (5)
- Gennaio 2008 (12)
- Dicembre 2007 (19)
- Novembre 2007 (36)
- Ottobre 2007 (18)
- Settembre 2007 (16)
- Agosto 2007 (13)
- Luglio 2007 (21)
- Giugno 2007 (13)
- Maggio 2007 (7)
- Aprile 2007 (4)
- Marzo 2007 (10)
- Febbraio 2007 (4)
- Gennaio 2007 (3)
- Dicembre 2006 (5)
- Novembre 2006 (4)
- Ottobre 2006 (10)
- Settembre 2006 (7)
- Agosto 2006 (3)
- Luglio 2006 (3)
- Giugno 2006 (6)
- Maggio 2006 (2)
- Aprile 2006 (7)
- Marzo 2006 (2)
- Febbraio 2006 (3)
- Gennaio 2006 (20)
- Dicembre 2005 (10)
- Novembre 2005 (14)
- Ottobre 2005 (6)
- Settembre 2005 (9)
- Luglio 2005 (1)
2nd
APR
History multipla con bash
Posted by raphe | Filed under Appunti, Linux
In questi giorni mi sono accorto di quanto è noioso lavorare con più shell aperte e trovarsi la history sovrascritta. Chiunque è abituato a lavorare in questo modo, soprattutto se si usa la nuova versione di yakuake, sa’ quanto è fastidioso al prossimo riavvio non trovare quel comando con mille parametri del quale non ricordiamo la sintassi. La situazione è particolarmente scomoda a chi programma, a chi gestisce qualche serverino casalingo, ecc.
Cercando in rete, ho trovato (non ricordo su quale forum) la soluzione:
- cercate il vostro file .bashrc (di solito è nella home);
- aggiungete alla fine queste due righe:
- shopt -s histappend
- PROMPT_COMMAND=’history -a; history -n’
Al prossimo avvio la history di bash conterrà i comandi di tutte le shell aperte.
Tags: Appunti > bash > history > Linux > sh > tips > yakuake6th
DIC
Spostare campi Mysql
Posted by raphe | Filed under Appunti, Programming
Se per qualche motivo avete un database mysql e in qualche tabella avete bisogno di spostare dei campi…questo è il post che fa per voi!
Oggi avevo necessità di spostare un campo (per spostare intendo proprio a livello di posizione, compreso il contenuto)e, mi son messo a cercare sul web prima di procedere a mano. Se per qualche motivo vi siete trovati nella stessa situazione e avete anche voi cercato, o chiesto su forum, ng, ecc. sicuramente vi avranno risposto cose del tipo: “perché devi farlo?”, “che conta la posizione?”, “stai sbagliando!”, ecc. Mi da molto fastidio quando i frequentatori di questi posti si comportano così.
Comunque, non perdiamo altro tempo
la soluzione è questa:
ALTER TABLE NOME_TABELLA MODIFY NOME_CAMPO DEFINIZIONE_CAMPO AFTER CAMPO_RIFERIMENTO
Vi spiego cosa significa…
Tags: Appunti > mysql > spostare-campi > tips26th
OTT
Slackware: Errore IO port probe 0×800-0×80f
Posted by nio | Filed under Linux
Benvenuti alla prima parte della “Guida alla sopravvivenza con Slackware”. Tutti gli articoli riguardanti Slackware prenderanno come riferimento la Slackware versione 12 con kernel versione 2.6.21.5
Il primo articolo riguarda un errore che si presenta su numerosi portatili di ultima generazione. Dopo aver effettuato l’installazione durante il primo avvio può capitare che il caricamento si blocchi alla seguente riga:
cs: IO port probe 0×800-0×80f: clean
questo errore è dato dall’hotplug che controlla le diverse periferiche PCMCIA e i lettori di schede integrati. Ora, purtroppo i suddetti lettori MMC/SD/MS integrati non sono ancora del tutto supportati dal kernel.
Cmq questo problema può essere bypassato nel seguente modo.
Riavviamo il computer con il 1° cd (o dvd) di slackware.
Rifacciamo gli stessi passi dell’installazione, solo che quando arriviamo al login, invece di dare il comando setup per far partire l’installazione, dobbiamo effettuare altre operazioni.
Dando il comando ls notiamo che abbiamo un filesystem sottomano, del tutto uguale ad un sistema installato. Ora andiamo nella directory /mnt e diamo il comando mkdir hd per creare un punto di montaggio. Dopodichè diamo il comando fdisk -l che ci elencherà le varie partizioni presenti sul nostro sistema. Individuiamo la partizione dove abbiamo installato slackware e diamo il comando mount -t (file system scelto all’installazione) /dev/percorso della nostra partizione /mnt/hd
esempio: mount -t xfs /dev/sda1 /mnt/hd
Ora andiamo nella directory /mnt/hd e facendo ls notiamo il filesystem installato sull’hard disk.
A questo punto andiamo nella directory /etc/pcmcia .
Ora diamo il comando pico config.opts e visualizziamo il file di configurazione.
Commentiamo con # la seguente riga:
“include port 0×100-0×3af, port 0×3e0-0×4ff, port 0×800-0×80f, port 0×820-0×8ff, port 0xc00-0xcff”
Salviamo ed usciamo premendo “Ctrl-x” poi “y” e infine Invio
A questo punto togliamo il cd/dvd dal lettore e riavviamo il pc.
= Leggenda: comando bash =
= nome directory =
= “codice” =
8th
AGO
Driver fuori da Gentoo!!!
Posted by deepred | Filed under Linux, Programming
Sottolineo già da queste prime righe che questo articolo si rivolge esclusivamente ad utenti Gentoo!!!
Problema: il mio nuovo computer ha una scheda ethernet della Realtek RTL8168. Durante l’installazione scopro che questa scheda non è supportata dal kernel Linux (2.6.21). Poco male, penso, i driver saranno nel Portage: e invece no. I driver per questa scheda di rete sono fuori da Gentoo. Girando per Internet trovo comunque i driver linux sul sito della Realtek, li scarico, li installo e tutto è ok! O quasi! Nel senso che trattandosi di un driver questo deve essere installato ogni volta che si ricompila il kernel. Gentoo, per ovviare al problema di dover ricordarsi tutti i moduli esterni e reinstallarli, offre un tool module-rebuild che provvede a fare ciò. Ma module-rebuild funziona solo per driver che sono presenti nel Portage e il driver della mia scheda di rete non c’è!!! Come devo fare?
Soluzione: Creare una ebuild (uno script che permette di installare un pacchetto con emerge, ndr) e aggiungerla al database di module-rebuild.
Per la prima parte della soluzione ho provveduto ad aprire il mio PORTAGE_OVERLAY e dentro ho inserito la porzione di portage tree presente qui. Siccome ho utilizzato una nuova categoria (net-eth) non ancora nel Portage, ho dovuto aggiungere questa al file /usr/portage/categories.
Per aggiungerla a module-rebuild nulla è stato più semplice: è bastato digitare il comando $ module-rebuild add net-eth/r8168-0.1_alpha1.
E per altri driver fuori da Gentoo?
Sebbene la soluzione proposta sia di validità generale, affinchè sia possibile inserire nel Portage il proprio driver è necessario costruire correttamente l’ebuild. Cercherò in breve di spiegare i passi da compiere per ottenere questo risultato, illustrando a titolo di esempio quanto fatto da me per il driver suddetto.
- All’interno del proprio PORTAGE_OVERLAY creare una cartella che indichi la categoria (net-eth nel mio caso), quindi al suo interno una cartella che indica il pacchetto (r8168 nel mio caso).
- Nella cartella creata genereare il file {nome_pacchetto}-{versione}_{stato}{num}, dove {nome_pacchetto} è il nome anche della directory contenitrice, {versione} è la versione del pacchetto a disposizione, {stato} è usato per indicare informazioni aggiuntive com “alpha” o “beta” version o release canidate (”rc”) (seguite eventualmente da un numero). Quindi nel mio caso un nome accettabile era r8168-0.1_alpha1, anche se sarebbe stato più corretto (attenendosi alla versione del driver presente sul sito) il nome r8168-8.002.00_alpha1.
- Per scrivere da 0 l’ebuild bisogna cominciare dall’header: questo può essere recuperato dal file /usr/portage/header.txt.
- In secondo luogo bisogna settare le variabili necessarie: SLOT=”0″, LICENSE (indicare la licenza con cui sono forniti i driver), KEYWORDS (solitamente i fornitori del driver indicano che tipo di architeetture sono supportate), DESCRIPTION, SRC_URI (dove scaricare i driver), HOMEPAGE, IUSE (potrebbe rimanere vuoto). Se sono richieste particolari dipendenze potrebbero essere espresse attraverso le variabili DEPEND e RDEPEND. Infine, bisogna indicare la variabile S, cioè il nome della cartella all’interno del quale bisognerà lavorare: la cosa più semplice potrebbe essere scomppattare il driver, analizzare il nome della directory creata ed impostare S=${WORKDIR}/nome_directory. Nel mio caso quindi ho impostato S=${WORKDIR}/r8168-8.002.00
- Come installare tale driver? per prima cosa leggete il readme contenuto all’interno del file scompattato. Questo conterrà le istruzioni necessarie all’installazione. Possiamo dividere queste istruzioni in 3 macrogruppi: istruzione di compilazione (prima del make install), istruzioni di installazione (make install e simili), istruzioni post-installazione (dopo il make install). Nel mio caso al primo gruppo apparteneva il comando make clean modules, al secondo make install, al terzo depmod -a.
- La suddivisione al punto precedente è necessaria per capire dove inserire i comandi all’interno dell’ebuild. le instruzioni di compilazione all’interno di src_compile(), le istruzioni di installazione all’interno di src_install() e le eventuali istruzioni post-installazione in pkg_postinst().
- Una attenzione particolare è riservata a make install: quando viene inserito nell’ebuild dovrà essere aggiunto il parametro DESTDIR=${D}. In questo modo il pacchetto sarà installato nella sandbox e solo dopo nella fase di merging nel sistema. Questo, come nel mio caso, potrebbe non bastare: infatti i Makefile del driver potrebbero contenere path assoluti. Per evitare ciò bisogna creare una patch e aggiungerla all’albero di portage all’interno della cartella files.
- Se è necessario applicare patch sarà necessario modificare ulteriormente la nostra ebuild, aggiungendo la linea inerith eutils e la funzione src_unpack(). Questa consetrà delle seguenti 3 istruzioni:
unpack ${A}cd "${S}" epatch "${FILESDIR}"/nome_patch - Una volta fatto completato l’ebuild bisognerà eseguire il comando: ebuild /path/to/ebuild/nome_ebuild.ebuild digest.
- Ora rimane da lanciare emerge e vedere che succede: se tutto funziona avete creato la vostra ebuild.
Creare una patch? E come si fà?
È abbastanza semplice: si copia il file da patchare. Tale nuovo file sarà modificato opportunamente aggiungendo, modificando o eliminando elementi nel file: ad esempio nel caso siano presenti path assolute queste potrebbero essere fatte precedere da ${DESTDIR}. Una volta modificato opportunamente, saremo pronti a creare il nostro patchfile: diff -u origfile newfile > patchfile. Attenzione al path inserito per newfile: deve essere tale che sia possibile riferircisi dalla posizione corrente durante la fase di installazione.
Spero che queste righe possano essere utili a qualche gentooista per risolvere i propri problemi.
