jueves, 11 de diciembre de 2008

mySQL - usuarios y contraseñas

Cuando instalamos mySQL en un servidor por defecto este no tiene contraseña para el usuario root lo cual es muy peligroso asi que lo primero es poner una contraseña

#mysql> grant all privileges on *.* to root@'localhost' identified by 'contraseña' with grant option;

Ahora para entrar a la consola de mysql lo haremos con:
user@server:~$ mysql -u root -p


En muchas oportunidades para tener mejor administración de nuestro gestor de Base de datos mySQL necesitaremos crear un usuario de uso exclusivo para una base de datos en particular, esto lo conseguimos con la siguiente instrucción:

GRANT ALL ON baseDatos.* TO usuario@servidor IDENTIFIED BY 'contraseña';

baseDatos: Nombre de la Base de datos.
usuario: Nombre del usuario propietario de la base de datos.
servidor: Dirección del servidor de Base de Datos por defecto localhost.
contraseña: Contraseña usada por el usuario para control de BD.


ACCESO REMOTO:
Si necesitamos que nuestras bases de datos tengan acceso remoto haremos lo siguiente:

  • Editar el archivo my.cnf ubicado en /etc/mysql
  • Buscamos la linea que dice "bind-address = 127.0.0.1" y la reemplazamos por "bind-address = 0.0.0.0"
  • Enseguida entramos como root a mysql para dar privilegios al usuario que se conectara remotamente con GRANT ALL ON baseDatos.* TO usuario@'%' IDENTIFIED BY 'contraseña';
  • Finalmente reiniciamos el servidor con: '/etc/init.d/mysql restart'
MODIFICACIONES PARA LA VERSIÓN 8.

CREATE USER 'usuario'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'usuario'@'%';
ALTER USER 'usuario'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

miércoles, 15 de octubre de 2008

Formatear y montar USB disk

Usualmente los discos USB o pendrive al ser colocados en el puerto son reconocidos de modo automático por Linux, alguien me pregunto como seria la parte romántica de darle formato a este para que pueda ser usado por Windows y Linux (fat32); bueno aquí algunos pasos.

Primero tienes que ser root.

Para motar Linux lo hace de modo automático y lo hace como si fuesen SCSI en orden de numeración si es el único debería de ser /dev/sda y esta en /media/USBdisk

DESMONTAR:
umount /dev/sda1

Para formatear:
mkdosfs -F 32 -I /dev/sda

Para ver cual es el dispositivo instalado:
fdisk -l

Para montar en otro lugar, crear directorio mkdir miDisco
Luego mount /dev/sda1 /miDisco

Para montarlo como lectura y escritura
mount -t vfat -o rw /dev/sda /miDisco

martes, 23 de septiembre de 2008

Montar ISO

Muchas veces tendremos la necesidad de verificar el contenido de una imagen descargada en formato ISO, bueno lo unico
que tenemos que hacer es:

Como root
mount -t iso9660 -o loop <<archivo.iso>> /directorio/de/montaje

jueves, 24 de julio de 2008

Matar procesos en LINUX

Ver procesos que se están ejecutando
ps -aux

Matar proceso que esta corriendo
kill nroID
ó
kill -9 procesoID

Descargas en segundo plano

DESCARGAR TORRENT's.
===================
Primero tendremos que instalar screens para ejecutar en segundo plano y desde cualquier lugar de la red apt-get install screen
Segundo instalaremos el bittorrent apt-get install bittorrent

Ejecutamos screen y presionando enter tendremos una consola lista para trabajar

Para dejar la consola trabajando en segundo plano tendremos que salir con ctrl + a + d

Para ver las screen y acceder a cualquiera screen -ls
Para reconectarnos solo sera screen -r ####.pts-0.server1

Ahora con nuestro gestor de descargas de torrent hacemos el trabajo poniendo todos nuestros archivos .torrent en una carpeta de descargas.
* Accedemos al directorio de descargas
* screen -t bit
* Ejecutamos gestor de descargas btdownloadcurses.bittorrent archivo.torrent
* Para recuperar la pantalla screen -t bit -D -r
* Para salir de la pantalla de descarga "ctrl + c"

DESCARGAR PAGINAS Y O CONTENIDOS

wget -c -b http://archivo.extension

-c: Le dice que si se desconecta continúe la próxima que levante
-b: Le dice que se ejecute en 2do plano

Actualizar el Reloj con Internet

Muchas veces necesitamos sincronizar el reloj son un servidor de internet para ello solo tendremos que intalar ntpdate

apt-get install ntpdate

para actualizarlo lo hara al reiniciar o tambien manualmente con:

ntpdate 146.164.48.5

miércoles, 25 de junio de 2008

MicroSoft Excel - Calcular Edad

Para porder calcular la edad o tiempo transcurrido en excel solo es necesari una formula tan simple como esta:
=sifecha(a1,hoy(),"y")
donde
a1: Contiene la fecha desde la cual se quiere calcular los años.
hoy() : Es la fecha actual del sistema.
"y": Es el formato de despliegue.

lunes, 2 de junio de 2008

Bind9 - configuracion basica DNS

Si queremos que nuestro servidor se convierta en un servidor de nombres hay que intstalar el BIND9 cuya configuracion basica es la siguiente.

1. Editar el archivo: /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
query-source address * port 53;
forwarders {
200.48.225.130;
200.48.225.146;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};


Las direccion IP en forwarders deberian de ser las mismas del /etc/resolv.conf en su nameserver

2. Editar el archivo /etc/resolv.conf
search direccionDominio
nameserver 127.0.0.1


Donde la direccion de Dominio sera el nombre de nuestra red, ejm: mi.dominio.com

4. Reiniciar bind y red
/etc/init.d/bind9 restart
/etc/init.d/networking restart

Si algo sale mal siempre podremos verificar los log
cat /var/log/syslog | grep bind
 
CONFIGURACION DE DNS PRIMARIO
=============================
Editamos
/etc/bind/named.conf.local

Agregamos una entrada como:

zone "in.dominio.edu.pe" {
    type master;
    file "/etc/bind/db.in.dominio.edu.pe";
  allow-query { any; };};
Creamos un archivo "db.in.dominio.edu.pe" en base al "db.local"
;
; archivo BIND para zona in.dominio.edu.pe
;
$TTL    604800
@       IN      SOA     in.dominio.edu.pe. hostmaster.in.dominio.edu.pe. (
              1       ; Serial
                        86400         ; Refresh
                         7200         ; Retry
                      1209600         ; Expire
                        10800 )       ; Negative Cache TTL

in.dominio.edu.pe. IN NS ns1.in.dominio.edu.pe.

localhost  IN A 127.0.0.1
in.dominio.edu.pe. IN A 200.48.82.50
ns1    IN      A       200.48.82.50
www   IN A 200.48.82.50
ftp   IN A 200.48.82.50
Luego reiniciar el demonio de bind
/etc/init.d/bind restart

Para ver si funciona
host www.in.dominio.edu.pe
resp = "www.in.dominio.edu.pe has address 200.48.82.50"

viernes, 30 de mayo de 2008

DHCP3 - Configuración básica

DHCP es nuestro servidor de direcciones IP dinámica, para que este trabaje hay que hacer unas cuantas configuraciones básicas como siguen:

Previas:
Disponer en nuestra maquina de una tarjeta de red adicional la cual debería de tener la dirección IP (10.10.10.1/8) de la red sobre la cual entregaremos las direcciones IP bajo demanda.

Instalación:

apt-get install isc-dhcp-server

Configuración:
El servicio DHCP solo debe de estar disponible en la red interna; solo se aceptan conexiones de esta, el archivo de configuración será:

* Editar el archivo: "/etc/default/isc-dhcp-server"

INTERFACESv4="enp0s8"


* Editar el archivo "/etc/dhcp/dhcpd.conf"

#Nombre de Dominio y direcciones de servidores de nombres
option domain-name "miDominio.com";
option domain-name-servers ipInternaServer, ipServidorNombresExterno;

# Reasigna direcciones a los clientes mal configurados
authoritative;

# Red en la que trabaja el servidor y rango de direcciones de la piscina
subnet 10.0.0.0 netmask 255.0.0.0 {
 option subnet-mask 255.0.0.0;
 option broadcast-address 10.255.255.255;
 option routers 10.10.10.1;
 pool {
   range 10.10.1.21 10.10.1.30;
 }
}

#Asignación única por mac de direcciones IP
host jefeLab {
  hardware ethernet 00:40:05:7F:F3:7E;
  fixed-address 172.25.0.102;
}


Reiniciar el servicio:
systemctl restart isc-dhcp-server

jueves, 29 de mayo de 2008

SQUID3 - configuración Básica

INSTALACIÓN:
apt-get install squid3

CONFIGURACIÓN:

******************************************************************
CONFIGURAR REGLAS DE IPTABLES

# IP del proxy
SQUIDIP=172.25.0.1

# puerto del proxy
SQUIDPORT=3129

iptables -t nat -A PREROUTING -s $SQUIDIP -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination $SQUIDIP:$SQUIDPORT
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t mangle -A PREROUTING -p tcp --dport $SQUIDPORT -j DROP
*********************************************************************
CONFIGURAR EL ARCHIVO
/etc/sysctl.conf

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 0

# Do not accept IP source route packets (we are not a router)
net.ipv4.conf.all.accept_source_route = 0

*********************************************************************
CONFIGURACION DE SQUID.CONF

Según orden de aparición mi configuración funciona y la comparto con uds.

# Squid normalmente escucha en el puerto 3128
# Pondremos IP interna del servidor : puerto opcion
http_port 172.25.0.1:3128 intercept


# Cache de accesos en log file
cache_access_log /var/log/squid/access.log


# memoria utlizada por Squid para realizar procesos
cache_mem 32 MB
***************************************************************************************

#Tamaño maximo de objetos almacenados en cache
maximum_object_size 10096 KB
***************************************************************************************

# Directorio de ubicacion de cache por defecto nroMB usados para almacenar directorios en primer y segundo nivel respectivamente
cache_dir ufs /var/spool/squid 700 16 256
***************************************************************************************

# Donde se almacena los mensajes del sistema
cache_log /var/log/squid/cache.log
***************************************************************************************

# Ubicacion del archivo de registro de archivos sacados de cache (cache_store_log none) se suguiere
cache_store_log /var/log/squid/store.log
***************************************************************************************

#Emula formato httpd para los archivos log (analisis de estadisticas webalizer)
emulate_httpd_log on
***************************************************************************************

#http_access allow Safe_ports
#http_access deny CONNECT SSL_ports
http_access allow CONNECT SSL_ports
***************************************************************************************

# LISTAS DE CONTROL DE ACCESO

http_access allow localhost
acl privilegio src "/etc/squid/IPprivilegio"
acl DAI src 172.25.0.0/16
acl contenidoNegado url_regex -i "/etc/squid/Negados"
acl appNegadas req_mime_type -i "/etc/squid/appNegadas"


#permitir acceso a docentes a todo
http_access allow privilegio
#denegar acceso a paginas al resto
http_access deny contenidoNegado
http_access deny all appNegadas
http_access allow DAI
http_access deny all
***************************************************************************************

#Para mostrar el nombre del host en errores de navegacion
visible_hostname willka
***************************************************************************************

#redirigir salida de paquetes por ACL
always_direct allow all
***************************************************************************************
#Habilitar emulacion httpd para sarg
emulate_httpd_log off

Los archivos de configuracion adicional tienen el contenido siguiente:
appNegadas
^application/x-msn-messenger$

IPprivilegio
172.25.0.101
172.25.0.102
172.25.0.103

Negados
www.hi5.com
xxx
sexo
p0rn

martes, 27 de mayo de 2008

ProFTPD

Para instalar el servicio lo haremos con:
apt-get install proftpd

Durante el proceso de instalación nos pedirá dos modos de operación por inetd crea un servicio por conexión e independiente cuando tenemos muchas conexiones, cosa de rendimiento.
Mi configuración es del tipo INDEPENDENTE.

ANONIMO
Primer Problema es habilitar la configuracion de FTP anonimo:
editando en archivo proftpd.conf en /etc/proftpd
quitando el comentario a las ultimas líneas (modo anónimo)

Reiniciando el demonio 
systemctl restart proftpd.service

Si al reiniciar tenemos problemas con las direcciones del tipo IPv6 solo tendremos que poner en off la opción en el proftpd.conf
UseIPv6 off

CARPETA.
Por defecto la carpeta de ftp anónimo se encuentra en /srv/ftp/, la cual podremos cambiarla de ubicación si lo deseamos, para ello hay que tener en cuenta que la nueva carpeta ftp tendrá como usuario y grupo a ftp:nogroup (chown ftp:nogroup carpetaNueva) y su contenido también, y editar las líneas de configuración anónima.

#< Anonymous ~ftp >
< Anonymous /nuevaRuta >


Reiniciar el demonio y todo listo.


PARA ENJAULAR.
  Cada usuario siempre se tiene que quedar dentro de su carpeta personal y no estar deambulando por las carpetas de otros usuarios sin permiso para ello solo se tendrá que descomentar.

DefaultRoot   ~

Apache2 - PHP5


INSTALACIÓN


root@server:~# apt-get install apache2



Instalando PHP5
root@server:~# apt-get install php5-common libapache2-mod-php5 php5-cli

CONFIGURACIÓN DE LOCALHOST
Cuando instalamos apache2 y probamos con un localhost si está todo bien aparece una página que nos dice IT WORKS con algunos detalles adicionales del servicio de apache.

Ahora si quisiéramos cambiar el directorio de nuestro index tendremos que editar alguna lineas en la configuración de apache2.

  1. Editar el archivo  "000-default.conf", el cual se encuentra en "/etc/apache2/sites-available/".
  2. Cambiamos a la nueva ruta.
  3. Agregamos Directorio con permisos.
#DocumentRoot /var/www
DocumentRoot /nuevaRuta
<Directory /home/INTERNET/www>
        Require all granted
<Directory>


REINICIAR EL SERVIDOR

root@server:~# apache2ctl graceful  ó

root@server:~# /etc/init.d/apache2 restart

HABILITANDO USUARIOS (public_html)


Si solo tenemos el modulo apache instalado lo único que será necesario ejecutar es:

root@server:~# a2enmod userdir

y se reinicia el servicio.

Si tiene PHP, se tiene que editar "/etc/apache2/mods-available/php5.conf" comentando de la siguiente manera:

#        php_admin_value engine Off

NOTA.- Si aún así en los usuarios cuando llamamos a un archivo .php el servidor pretende descargarlos, entonces procedemos a comentar todas la lineas del archivo php5.conf de /etc/mods-available/


ADVERTENCIA DE SERVIDOR NO ENCONTRADO

Algunas veces nuestro servicio apache2 nos mostrara este mensaje

"Could not reliably determine the server's fully qualified domain name. Using 127.0.0.1 for ServerName waiting apache2: Could not reliably determine server's fully qualified domain name 127.0.0.1 for ServerName"

Se evita este warning agregando una linea en:
/etc/apache2/apache2.conf
o
 /etc/apache2/httpd.conf

#El nombre, será el nombre del servidor o el que se desee.
ServerName <nombre>

domingo, 25 de mayo de 2008

Quitar MTA - Exim4


MTA (Mail Transfer Agent) es el gestor de correo electrónico y al arrancar el sistema este demora mucho tiempo, como yo no tengo un servidor de correo me parece tiempo desperdiciado el que se dedique a este agente, lo que hice entonces fue desinstalar el agente por defecto que es exim4 y todo lo que tenga que ver con su nombre, y asunto solucionado.

apt-get -y remove --purge exim4

sábado, 24 de mayo de 2008

Reiserfs, dispositivos y montaje

Resiserf es un sistema de archivos que resulta mucho mas optimo cuando se trata de almacenar archivos pequeños, tal es el caso de paginas web y sus imagenes, en comparacion con ext3 resulta siendo mas ventajoso.
Para formatear una particion o disco duro con este, solo hay que instalar el paquete reiserfsprogs y luego podremo usar el mkfs.reiserfs o mejor el gparted.
Para montar esta unidad:
1. Crearemos una carpeta /nuevoDisco en este se montara como referencia hacia el disco, lo que almacenemos no estara en la carpeta sino en el disco.
2. Montar nueva unidad, a diferencia de DOS que llama a sus unidaes A: B: C: D: etc en linux cambia la figura.
2.1. Si los discos son IDE.
/dev/hda -----> Disco Duro conectado como maestro en canal 1
/dev/hda# ---> particion primaria (1, 2, 3, 4) o extendida (5, 6, ... 16)
/dev/hdb -----> Disco Duro conectado como esclavo en canal 1
/dev/hdc -----> Disco Duro conectado como maestro en canal 2
/dev/hdd -----> Disco Duro conectado como esclavo en canal 2
2.2. Si los discos son SCSI
/dev/sda -----> Disco Duro scsi 1.
/dev/sdb -----> Disco Duro scsi 2.
2.3. Montando unidades.
#mount /dev/hdb /nuevoDisco
2.4. Desmontando unidades.
#umount /nuevoDisco
2.5 Si queremos que se monten al iniciar el sistema tednremos que editar en /etc/fstab, agregando nueva entrada o reemplazando una de las nuestras como para aumentar espacio en disco (/home /var), sino como otra unidad; sftab cuenta con 6 secciones:
/dev/hdb /puntoMontaje sistemaArchivos opcionesSistem errMontaje Check
por defecto entraremos asi:
/dev/hdb /nuevoDisco reiserfs defaults 0 0

jueves, 22 de mayo de 2008

QUOTA - Limitando el uso de disco

Cuando tenemos un servidor y muchos usuarios en el, el problema que se presenta a menudo es el uso y abuso de espacio en disco, la solucion entonces esta en la asignacion de quotas a los usuarios.

1. Montaremos las particiones involucradas con el uso de quotas, para ello editamos el archivo fstab
cat /etc/fstab
nos mostrara entre otros datos la linea que nos interesa editar:
/dev/hda1 /home ext3 defaults 1 1
editamos esta linea colocando soporte para quotas de usuario y grupo
/dev/hda1 /home ext3 defaults,usrquota,grpquota 1 1

2. Ahora reiniciamos el sistema para que levante la particion con el cambio.

3. Creamos los archivos de BD donde se almacenaran las quotas de usuario y grupo
touch /home/aquota.user
touch /home/aquota.group
chmod 600 /home/aquota.user /home/aquota.group

4. Instalamos el software de soporte de quotas
apt-get install quota quotatool

5. Poner limites a usuario jperez en 200Mb de limite advertido y 250 como máximo permitido
quotatool -u jperez -bq 200 -l '250Mb' /home

Para ver el uso de disco y quotas:
repquota /home

Migrar usuarios Linux - Debian

Son pocas las veces en las que vayamos a necesitar migrar nuestros usuarios de un servidor antiguo a otro nuevo pero aqui tenemos unos pasos simples para poder migrarlos.
hay que resaltar que en la nueva distribucion no debe de existir usuario alguno ya o de la distribucion antigua tendremos que eliminar al primero creado ya que su identificador sera 1000 y podria confundir al getor de usuarios de la nueva distribucion (me paso y ahora no se como eliminarlo ;)).

Servidor Antiguo.
1. Crear un directorio para migrar:
mkdir /root/migrar

2. filtrar las UID esto espara DEBIAN:
export UGIDLIMIT=1000

3. Copiar las contraseñas:
awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/passwd > /root/migracion/passwd.mig

4. Copiar group:
awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534)' /etc/group > /root/migracion/group.mig

5. Shadow:
awk -v LIMIT=$UGIDLIMIT -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /root/migracion/shadow.mig


6. Gshadow si existe:
cp /etc/gshadow /root/migracion/gshadow.mig

7. BackUp del Home y correo si tienen:
tar -zcvpf /root/migracion/home.tar.gz /home

En el nuevo servidor
En este servidor tendremos que hacer un backUp de los usuarios y contraseñas porsilas.
mkdir /root/users.bk
cp /etc/passwd /etc/shadow /etc/group /etc/gshadow /root/users.bk

Comenzamos con restaurar:
cd /root/migrar/
cat passwd.mig >> /etc/passwd
cat group.mig >> /etc/group
cat shadow.mig >> /etc/shadow
cat gshadow.mig >> /etc/gshadow

Extraemos el HOME
cd /
tar -zxvf /root/migracion/home.tar.gz

Por Ultimo reiniciar el sistema y todos los usuarios de antes estan copiados en el nuevo.

Script de Arranque

Las reglas de IPTABLES son buenos candidatos a ser script de arranque.

1. Crear el script
2. Cambiar los permisos de ejecución chmod 750
3. Copiarlo en el directorio /etc/init.d
4. Decirle a linux que inicie ese script al arrancar update-rc.d "NombreScript" defaults
4.1. Si lo queremos quitar del arranque le decimos: update-rc.d -f "NombScript" remove

Grub - Eliminar entradas, Recuperar

Lo primero sera determinar que entradas tenemos en nuestro linux.
dpkg --get-selections | grep linux-image

Ahora queremos eliminar las entradas y liberar espacio.
apt-get remove --purge linux-image-XXX
donde XXX son las imagenes de linux antiguas que queremos liberar.

RECUPERAR. (grub 2)
* Utilizar una distribucion cdlive con grub2
* Ver las particiones fdisk -l
* Buscar la particion "/" por lo general es sda1... montar en mnt "mount /dev/sda1 /mnt"
* Ahora montar el resto de dispositivios
mount --bind /dev /nmt/dev
mount --bind /dev/pts /nmt/dev/pts
mount --bind /proc /nmt/proc
mount --bind /sys /nmt/sys
* Para acceder como root chroot /mnt
* Cargar en grub grup-install --recheck /dev/sda (sda sin numero es el disco duro donde estan cargados los SO)
* Actualizar el grub update-grub2

miércoles, 21 de mayo de 2008

Linux Particiones

Siempre me pregunte como deberían de ser las particiones que un sistema linux debería de tener, como base tengo la siguiente estructura.

/ {etc, bin, sbin, lib, dev archivos para arrancar} 200MB recomendado.
/usr {bin, lib, shared} 6GB recomendado como servidor, uso de escritorio 500MB, es variable..
/var 3GB como uso de servidor, uso de escritorio son 40MB.
/tmp {Datos temporales de los programas}100MB.
/home Variable, para uso del resto de usuarios del sistema.
/swap {recomendado como el doble de memoria solo si tenemos menos 100MB máximo asignable es de 2GB}


Tipo de datos recomendado ext3 para discos mayores a 6GB.

UNA MODIFICACIÓN (2015):

/ 250Mb
/usr 4GB
/var 2GB
/swap 637MB
/tmp 343MB
/home resto del disco
/boot 255MB  (primaria no tiene que formar parte del LVM)

martes, 20 de mayo de 2008

Grub - Orden de arranque - Tiempo de espera

Si hemos trabajado durante mucho tiempo bajo Windows, y ahora cambiaremos a otro sistema operativo como podría ser Linux DEBIAN eth, (en mi caso), lo haremos de apoco para acostumbrarnos, luego de instalar nuestro Debian, el gestor de arranque será grub, con él, podremos escoger al inicio con que sistema entraremos, pero muchas veces mientras dure la mudanza querremos que uno de los sistemas entre primero y en un tiempo adecuado.

Solo tenemos que modificar desde linux el archivo menu.lst ubicado en /boot/grub/
y ubicar las entradas:
default num
donde num es el numero de orden de arranque del sitema(s) operativo(s) que tenemos instalado, por defecto esta el num = 0 linux luego el modo single user seria el num = 1 y otros nuevos kernels abajo del archivo separados por :
title
root
kernel
initrd
savedefault
luego los otros sistemas operativos WINDOWS por ejemplo.
si queremos que sea este ultimo en arrancar entonces la modificación en será num = 2;

Por ultimo, esta el tiempo que demorara en mostrar el menú grup al arrancar, para esto solo le daremos los segundos de espera, en mi caso sec = 2:
timeout sec
como para que me dé un tiempo para reaccionar y estar probando mi Debian.

GRUB 2
* Conocer el orden de arranque al inicio o ver el archivo "/boot/grub/grub.cfg" contarlos desde cero de arriba a abajo.
* Editar el archivo "/etc/default/grub" cambiamos la linea GRUB_DEFAULT=nroArranque
* Actualizar el grub con update-grub