Ubuntu: il nostro piccolo windows

Ritratto di zafran

E' ufficiale: ubuntu vuole essere l'unico e solo gnu-linux.
Per lui è molto meglio avere accanto un windows sul quale fare valere le proprie competenze che non un'altra distro della quale magari soffrire il confronto.

Durante un update esso ubuntu ha aggiornato il kernel e così facendo si è sentito in dovere di modificare le impostazioni di grub in modo da inserire il nuovo kernel (pratica diffusa ma comunque discutibile) ma anche di rimettere come default lui stesso medesimo.

Questione da poco, si dirà, a rimettere le cose come stavano ci ho messo due minuti, ma la domanda resta: non era forse, ed è tuttora, una pratica esecrata da tutti noi quella di windows di riscrivere l'mbr a suo uso e consumo?

Ritratto di joanlui

non facciamo la guerra tra poveri adesso...

Ritratto di monsee

Concordo appieno con te, Zafran!

Per rasserenarti, comunque, anche in vista del veniente Natale ("Auguri!") e dell'Anno Nuovo che lesto sopraggiunge ("Nuovi Auguri!"), ti informo che "il lato Terminale della Forza" ha aggiunto, al proprio attivo, una vera e propria "distro" Linux (derivata da Mandriva e "sorellina" di PCLinuxOS) che si chiama "Unity CLI".
Ne trovi traccia qui: http://www.flickr.com/photos/36847328@N05/5190150430/
E trovi istruzioni sull'installazione e l'utilizzo, qui: http://docs.unity-linux.org/CLI_iso_HowTo
Sapendoti abbastanza interessato a questo genere di cose, ho pensato che ti avrebbe fatto piacere saperlo.
Buone Feste, Zafran!

Ritratto di patel

io quoto invece joanlui, pclos fa anche di peggio, è più che normale che una distro privilegi se stessa.
Ho installato pclos gnome 2 giorni fa, il grub ha riconosciuto soltanto windows fregandosene delle altre numerose distro presenti sul mio disco.

Ritratto di monsee

Ma no, nessuna "guerra", figuriamoci!... Soltanto, è vero che UBUNTU sta prendendo -sul piano delle strategie commerciali propriamente intese- una strada decisamente improntata a una visione commerciale di base "microsoftiana"... Tutto qui.
Il "lato commerciale", sia ben chiaro, è importante. Ma quando tende a prevalere sopra alla "filosofia open-source" (sia pure non-illegalmente) è naturale che ci sia della gente che non la prende bene e lo rileva.
Pensa a Mandriva, le cui scelte amministrative e di strategia commerciale han provocato (e stan provocando) una sorta di "quasi-scissione" (che porterà fra poco all'uscita della prima versione stabile di MAGEJA e che ha già portato alla nascita di "distro" derivate quali UNITY Linux, SAMity, il nostro bel PCLinuxOS e altri due o tre che, per adesso, sono ancora in fase "alfa"). Tutto nornale, dunque, e niente guerre.

Ritratto di monsee

In che senso dici che PCLinuxOS "fa anche di peggio": mi consta che, in PCLinuxOS non c'è davvero nessunissima ossessione riguardo al "colonizzare" l'MBR... La trovi in altre "distro", ma in PCLinuxOS (così come in SAMity, etc... e anche in Vector Linux) decisamente no. Oppure sbaglio?

Ritratto di patel

mi sembra di averlo spiegato:
Ho installato pclos gnome 2 giorni fa, il grub ha riconosciuto soltanto windows fregandosene delle altre numerose distro presenti sul mio disco.
Ubuntu non lo fa, ti da la possibilità di avviare anche le altre senza dover aggiungerle manualmente.

Ritratto di zafran

@ Monsee
grazie della segnalazione. Come si vede, la linea di comando è sempre e comunque sottesa a qualuque operazione si faccia. Tanto vale quindi conoscerla, visto che non esclude affatto l'utilizzo delle gui.
Infatti anche queslla distribuzione può dotarsi di un DE come tutte le altre.

@ joanlui
io non sono povero: ho debian, pclinuxos, mepis, mandriva, fedora, slackware e un altro centinaio di fork vari.
E ho anche redhat, se la voglio pagare.
Sarei probabilmente più povero se avessi opensuse della quale non si capisce la politica di compiacenza ai brevetti microsoft e lo sarei anche se avessi un orizzonte limitato a solo windows o solo mac.
E' la parola solo che rende poveri.

@ patel
il riconoscimento di pclos probabilmente è limitato ai sistemi che hanno uno stage2 riconoscibile e quindi grub-legacy.
L'adozione di grub2 come strumento di divisione e inimicizia è stata plateale.
Io non sono daccordo che ogni distro debba privilegiare se stessa a danno delle altre, questa guerra non c'è mai stata nel mondo opensource, guarda caso fino all'apparizione di ubuntu, dei quattrini di redhat e delle avventure escortiane di opensuse.

Ritratto di monsee

Veramente, io ho installato PCLinuxOS stamattina e mi ha riconosciuto (già in fase di installazione di GRUB su floppy-disk) sia Windows che SAMity... son io che, manualmente, ho eliminato le voci correlate, giacché mi premeva che con quello specifico floppy-disk venisse avviato in automatico solamente PCLinuxOS...
Ritengo che i problemi che rilevi NON vengan da PCLinuxOS bensì dall'adozione (in tante "distro") di Grub2 (il quale, se è vero quel che se ne legge in Rete, presenta qualche problema). Personalmente, quando installo delle "distro" che utilizzano Grub2, risolvo installando Grub2 nella Partizione di ROOT e poi facendo ricorso a GAG per avviar quel che mi pare dall'MBR... e, in questo modo, non ho avuto mai problemi.

Ritratto di patel

Mi sembra che ora state esagerando, inimicizia, divisione, guerra, povertà non sono parole da usare in questo ambito, provate voi a fare uno script in grado di riconoscere le distro presenti in un disco per preparare un menù di avvio, da qualche parte occorre pure incominciare e mi sembra naturale che ognuno inizi dal proprio kernel. Dico questo perché io ci ho provato (scopiazzando qua e là ovviamente ), lo script allegato funziona su pclos, basta avviarlo con i privilegi di root con sh nome-del-file ed in questo caso inizia con windows e individua anche le distro con grub2, quindi se ci sono riuscito io, figuriamoci se lo possono fare gli sviluppatori di pclos.

#! /bin/sh -e
# funzione che converte il device tipo /dev/sda5 nella notazione grub (hd0,4)
convert () {
tmp_disk=`echo "$1" | sed -e 's%\([sh]d[[:lower:]]\)[0-9]*$%\1%' \
-e 's%\(fd[0-9]*\)$%\1%' \
-e 's%/part[0-9]*$%/disc%' \
-e 's%\(c[0-7]d[0-9]*\).*$%\1%'`
tmp_part=`echo "$1" | sed -e 's%.*/[sh]d[[:lower:]]\([0-9]*\)$%\1%' \
-e 's%.*/fd[0-9]*$%%' \
-e 's%.*/floppy/[0-9]*$%%' \
-e 's%.*/\(disc\|part\([0-9]*\)\)$%\2%' \
-e 's%.*c[0-7]d[0-9]*p*%%'`

# Get the drive name.
tmp_drive=`grep -v '^#' $device_map | grep "$tmp_disk *$" | sed 's%.*\(([hf]d[0-9][a-z0-9,]*)\).*%\1%'`

echo "$tmp_drive" | sed "s%)$%,`expr $tmp_part - 1`)%"
}

# legge il device.map e invoca convert
grubdevice () {
grub_dir="/boot/grub"
# Full path to the device.map
device_map=$grub_dir/device.map

#root_device="/dev/sda10"
grub_device=$(convert "$root_device")

#echo $grub_root_device
}

#inizio procedura di scansione delle partizioni tramite lo script os-prober
found_other_os=

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
exit 0
fi
if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
# missing os-prober and/or linux-boot-prober
exit 0
fi
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
# empty os-prober output, nothing doing
exit 0
fi
for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"
# grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
root_device=$DEVICE
grubdevice "$root_device"
if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi

echo "Found ${LONGNAME} on ${DEVICE}" >&2
found_other_os=1

# scansione sistemi windows installati
case ${BOOT} in
chain)

cat << EOF
title ${LONGNAME} (on ${DEVICE})
EOF
# save_default_entry | sed -e "s/^/\t/"
# prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

case ${LONGNAME} in
Windows\ Vista*|Windows\ 7*)
;;
*)
cat << EOF
# drivemap -s (hd0) \${root}
}
EOF
;;
esac

cat < /dev/null | tr ' ' '^' | paste -s -d ' '`"
prepare_boot_cache=
for LINUX in ${LINUXPROBED} ; do
LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"
if [ -z "${LLABEL}" ] ; then
LLABEL="${LONGNAME}"
fi
if [ "${LROOT}" != "${LBOOT}" ]; then
LKERNEL="${LKERNEL#/boot}"
LINITRD="${LINITRD#/boot}"
fi
cat << EOF
title ${LLABEL} (on ${DEVICE})
EOF
cat << EOF
set root $grub_device
kernel ${LKERNEL} ${LPARAMS}
EOF
if [ -n "${LINITRD}" ] ; then
cat << EOF
initrd ${LINITRD}
EOF
fi
cat << EOF
EOF
done
;;
# scansione sistemi mac installati
macosx)
OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
;;
hurd)
cat << EOF
title ${LONGNAME} (on ${DEVICE})
EOF
cat << EOF
EOF
;;
*)

;;
esac
done

Ritratto di zafran

orpo... che bello....
Un po' di commentini non avrebbero disgarbato, tanto per capire meglio.

Di certo io non lo saprei scrivere ma il fatto che tu sia riuscito a ricostruirlo dimostra solo che se le cose non funzionano nel senso della condivisione vuol dire che dietro c'è la volontà di non farle funzionare.

Ritratto di patel

Purtroppo l'ho ricostruito ai tempi del grub1, sull'ultima ubuntu non funziona più perché manca il device.map, prima era tutto chiaro per me, ora commentarlo diventa un problema, ma ci posso provare.

Ritratto di joanlui

ho detto "poveri" per stuzzicare un po'. Ad ogni modo, l'ultimo PcLinuxOs ha qualche problemino con i drivers proprietari Nvidia. In fase di installazione il monitor diventa nero e non si riprende più.

Ritratto di monsee

Una cosa che si potrebbe tentare è far l'aggiornamento dei drivers NVIDIA (dal Repository, usando semplicemente Synaptic "in Live") PRIMA di avviar l'installazione di PCLinuxOS sull'Hard Disk... Andando a lume di ragione, dovrebbe funzionare e dar la giusta soluzione ai problemi... Il resto, lo si può aggiornare DOPO l'installazione, ma per chi sa di avere una Scheda Grafica della NVIDIA, l'aggiornamento "preventivo" di tali drivers dovrebbe essere una carta buona da giocare.

Ritratto di patel

buona idea, joanlui potrebbe fare da cavia e se funziona fare una guida da mettere in Documentazione.

Ritratto di joanlui

già fatto. il primo crash l'ho avuto appunto aggiornando il sistema una volta a settimana.