jueves, 19 de septiembre de 2013

Jueves 19/9/13

despues de crear el nuevo disco:

particionamos el nuevo disco


con fdisk /dev/sdb

luego m o n para la nueva

luego enter etc.. creando una nueva tabla de parciciones, que se ocupe todo el disco.

verificando con p escribimos los cambios con w


despues creamos un sistema de archivos

ls -l /dev/sd*


mkfs.ext3 /dev/sdb1

una vez que se hace creamos la partición.


para saber que tenemos montado es mount

simulando que nuuestro disco se esta llenando:

df -h

du  nos da los detalles recursivamente.

du -s /*   con ello sacamos el tamaño de todo loque esta en raíz,

du -s /* 2>/dev/null | sort -n     mandamos todos los errores a null y ordenamos numéricamente el contenido de todo el disco.


Nota: el redireccionamiento esta en el primer comando, porque el primer comando manda los archivos de errores, los archivos en proc son cosas en memoria, por ende puede haber muchos errores ahi..

por eso es que se hace el redireccionamiento en el primer comando.
- si lo hacemos sin el sort, lo hará en el orden que él entienda.

/usr/ es el mas grande, por eso lo ampliaremos.

tiene muchos binarios, pero moveremos su contenido a la nueva partición.

1) generamos una particion que tenga todo lo quetenga usr y lo pongamos en un nuevo punto de montaje, para que el sistema use usr de manera transparente.

montando en var a usr.

1) copiando todo lo que esta en /usr a la nueva particion.

2) montamos la nueva particion y luego copiamos lo de usr a mount.

mount /dev/sdb1 /mnt

pero sin hacer cp , ya que copy trabaja a nivel humano, porque cuando copia un archivo, copia cualquier tipo de archivo.

Ej: las ligas simbólicas.

como se siguen las ligas simbólicas se copiaran todas las cosas queestarán en ram con el simple copy, por ende lo que se utiliza es cpio

es un empaquetador, pero lo que hace son copias a un nivel bajo, pero también es capaz de bajarse en las capas y evitar ciertos errores, pero lo ayudaremos con un find para que no copie todo.

find /usr -mount  (lo que hará sera buscar y preguntar si el fs tiene un puto de montaje particular)

find /usr -mount -print0  (con print, nos manda el nombre completo en cuanto a ruta, pero de manera predeterminada agrega un salto de linea para cada resultado, pero no queremos eso porque cpio entendera cada salto de linea como parámetro, pero en vez del salto con 0 mandará un null caracter).

find /usr -mount -print0 | cpio -0dump /mnt

esta haciendo una copia masiva al directorio

si queremos monitorear la copia de los archivos pero en vez de estar pegado

watch -n 0 'ps -fea | grep cpio'

antes se utilizaba lilo,

grub1 yh la beta podian configurar todo en un archivo, ahora grub2 funciona como funcionaba lilo, que tiene scripts que en conjunto tieene sus configuraciones que genera el archivo maestro que no podemos modificar.

ls -l /boot/grub/grub.cfg

hay un directorio en /etc que se llama grub.d, que tiene scripts del grub, tiene el script de linux que lista los sistemas operativos que tenemos instalados.

listando los diferentes sistemas instalados.

debian fue uno de los primeros que usaron grub2, en linux estan los OS listados.

son scripts de bash, que tiene una seccion en la qcual se define el objeto lista, que tiene los archivos de vmlinuz

siendo un kernel monolitico que en escencia son vbinarios que tienen todo, montandose en RAM. bla bla.

grub por cada kernel nos da 2, uno a prueba de fallo s y el otro normal.

hay otro archivo que esta en /etc, que se llama grub, en ese archivo trae las opciones mas generales de grub.
Ej: podemos sacar una consola del propio menu de booteo, antes de iniciar el sistema.

grub2 usa un archivo grub que esta en /etc/grub.d /etc/default grub, un archivo que esta en ... las imagenes.
podemos generar el grub.conf con una herramienta.
si tenemos que usar un grub anterior al 2 se tiene que utilizar uno que se llama menu.lst

nos mando script de inodos, mando el libro de fs forensic análisis

despues de haber copiado los binarios o lo que contenia /usr, desmontamos.

despues hacemos el cambio el cambio,

1) modificando fstab agregando éste punto de montaje, aunque puede haber errores el reiniciar etc...etc...
resumiendo se haría mierda el sistema.

2) puede hacerse sin reiniciar, modificando fstab, pero sin reiniciar mandando llamar fstab.

puede verse los identificadores con ls -l /dev/disk/by-uuid/

viendo el uuid respectivo a la particion


aunque podemos agregar la particion /dev/sdb1 /usr

que le montariamos, pero tenemos que hacer, ya que se acabo de hacer la copia, y despues de que se modifica fstab, quitamos el dirrectorio que teniamos y montamos el nuevo.

Salto mortal:

which mv

which mount

which mkdir

afortunadamente estan en /usr si no deberiamos de hacer las referencias a esos comandos de la particion.

movemos /usr/ a /usr_  siendo el temporal.

creando el directorio /usr con los permisos propietarios, remontamos con

mount -a que remontia dtodo lo que fstab tenga. (actualiza)

lvm o ldm para copiar particiones de manera de espejo.


BASH

en el script getinode

#!/bin/bash

define al interprete que permite cargar el script, recordando el path con get inode ./getinode


a las variables se les pueen meter cadenas, numeros etc.

$0 las comillas inversan  son de ejecuución.
en medio de una cadena se puede llamar a ejecución con las comillas inversas.

echo "uso : `basename $0` "
basename trae todo excepto el nombre que trae, osea solamente el comando.

$1 traera el primer argumento, que escupe el inodo de un archivo.

dentro de la prorgamación se puede meter a una variable, con todo y pipes que se usan en terminal.

las variables se pueden temer en constructos de ejecución y expandirlas en cadenas, se pueden expandir en comillas etc etc.

se pueden comparar salidas de comandos compuestos con valores numéricos.

Ej:
inodespergroup es una variable que se crea a partir del resultado de un comando,

porqeu en abstracto será la variable y a su salida un awk.

nota en la variable blockfile se puede concatenar la salida de un comando con otro.

pff


`date +"%Y%m%d_%H%M"p`


AWK 

lo hizo alguien que programabaen C que procesara cadenas un poco más humanas.

sintaxis

awk 'archivo a proocesar' .

es como grep, pero lo que esta dentro de las comillas son programas, que si se desglosan tienen más orden.


poner en el archivo passwd

passwd es un archivo de sinteaxis física,

si quisieramos poner todos los usuarios con privilegios sería

awk -F ":" '{print $3}' /etc/passwd

la idea es: tienes un flujo que se divide en lineas, y cada linea tiene campos por tanto hay separadores de campos.

pero se pueden dfeeinir separadores de líneas arbitrarios.

si decimos que si se consideren separadores específicos, podemos definir separadores compuestos .

$0  implica la linea completa

a partir de  ahi será cada campo.

si se dijera imprime $0 imprimirá cada linea

$0 ~ /Inode .../
{
   
}
lo que quiere decir-> si la linea tiene algo con estas caracteristicas vas a hacer lo que esta dentro.
de los corchetes.

si tu linea tiene Inode per group has lo que esta dentro de las llaves.





No hay comentarios:

Publicar un comentario

Entradas populares