o
programas propios.
El fichero /etc/rc.serial es para la inicializacion
de puertos serie.
El fichero /etc/rc.i386 es para especificaciones propias
de Intel, como la emulacion iBCS2 o la configuracion de la
consola del sistema.
A partir de la version 2.1.0R, tambien puedes tener un directorio
en el que instalar ficheros de arranque locales especificado en
/etc/sysconfig (o /etc/rc.conf ):
# Location of local startup files.
local_startup=/usr/local/etc/rc.local.d
Cada fichero acabado en Si quieres asegurarte de un cierto orden en la ejecucion sin tener
que cambiar todos los nombres de los ficheros, puedes usar un esquema
similar al siguiente con digitos al principio del nombre de cada
fichero:
10news.sh
15httpd.sh
20ssh.sh
Puede ser visto como "malo" (o SysV :-)) pero nos provee de un
esquema regular para programas anyadidos localmente sin tener que
hacer ediciones complicadas del fichero /etc/rc.local .
Muchos de los ports/packages asumen que /usr/local/etc/rc.d
es un directorio de arranque local.
Como anyado un usuario facilmente?
Usa el comando .
Hay otro package llamado <roberto@FreeBSD.ORG>
sobre el. En estos momentos esta en desarrollo.
Para borrar a un usuario, usa el comando .
Como puedo anyadir mi nuevo disco a FreeBSD?
La manera mas facil de hacer esto es desde el programa de
instalacion. Puedes arrancar el programa de instalacion ejecutando
/stand/sysinstall como root.
Alternativamente, si todavia tienes el floppy de instalacion,
pueder arrancar desde el y usar el editor de etiquetas y
particiones.
Si lo anterior no te funciona o
si eres masoquista total a quien le gustan los interfaces arcanos
asi es como usar el programa
manualmente:
CUIDADO: Debes leer y entender perfectamente lo que estas
haciendo!. Los comandos aqui descritos pueden BORRAR tu sistema.
Procede con precaucion!. Recuerda, un BACKUP es tu amigo .
antes
de poder ejecutar
/.
Esto significa que tendras que hacer tu mismo los calculos para las
particiones. Mira si puedes obtener informacion del disco con
disklabel -r <diskname> por ejemplo
disklabel -r /dev/rwd0s2 asumiendo que tu nuevo disco es
wd0, el primer disco IDE, y FreeBSD es el segundo slice (s2). Deberias
ver algo como esto:-
# /dev/rwd0s2:
type: ESDI
disk: wd0s2
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 64
sectors/cylinder: 4032
cylinders: 610
sectors/unit: 2459520
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609)
Aegurate que el tamanyo es correcto, en este caso, 2459520
sectores x 512 bytes/sector / 2**20 (1 Megabyte) = 1200 MB. El resto
de datos (b/s, t/c, s/c, interleave, etc.) deberian funcionar con
los que salen por defecto con , pero mira [ para
discos antiguos. fsize es el ][ del sistema de ficheros y bsize es el
][. 'c' es la particion que
ocupa FreeBSD (o el disco completo en caso de una unica particion
para FreeBSD), y debe quedar como esta. ]No deberia ser usada
para un sistema de ficheros . La particion 'c' es magica en que
es reconocida y usada por el kernel aunque no exista ninguna
etiqueta en ella.
En el caso trivial de querer usar todo el sistema de ficheros
para FreeBSD, la entrada para el campo "e" tiene que ser corregida
poniendo fsize a 1023 y bsize a 8192 (8 fragmentos/bloque), los
cuales son razonables. La entrada correcta para "e" seria:
e: 2459520 0 4.2BSD 1024 8192
Ahora el caso mas complicado, donde queremos 2 particiones para
2 sistemas de ficheros. Siguiendo la [, las particiones seran
]
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
e: 614400 0 4.2BSD 1024 8192
f: 1843200 614400 4.2BSD 1024 8192
disklabel -e wd0s2
''. Para mas informacion mira en
.
Si tienes la version 2.1.5 o superior, y quieres dedicar
enteramente el disco para FreeBSD sin compartirlo con otros
sistemas operativos, se pueden reducir las operaciones a
realizar de la siguiente manera:
# dd if=/dev/zero of=/dev/rwd0 count=100
# disklabel -Brw wd0 auto
# disklabel -e wd0
El primer comando asegura que
no hay basura en el inicio del disco que pueda confundir al kernel.
Lo siguiente a realizar es una generacion automatica de etiqueta
usando los procesos por defecto ejecutados en el arranque del
sistema. La edicion de la etiqueta continua de la manera descrita
anteriormente.
Has acabado!. Ahora debes inicializar el sistema de ficheros
con algo como:
newfs -d0 /dev/rwd0s2e
newfs -d0 /dev/rwd0s2f
Dependiendo del nombre del disco y la particion, quizas sea
requerida la ejecucion del script
para la creacion de los dispositivos.
Y montar tus nuevos discos/particiones (mira el comando
)
mount /dev/wd0s2e /mnt/foo
mount /dev/wd0s2f /mnt/bar
Deberias editar el fichero
para montar automaticamente los discos/particiones al arrancar el
sistema.
Fragment Size (fsize)
Unidad basica de almacenamiento para en tu sistema.
Block Size (bsize)
Un bloque se compone de uno o mas fragmentos. Mira la referencia
correspondiente en:
Disklabel Characteristics for Older Disks (ESDI)
Necesitaras dar mas informacion a
si quieres usar un "disco verdadero". Necesitaras saber la
geometria uniforme, cabezales reales, sectores y cilindros, como
en los discos ESDI antiguos. Toda esta informacion deberia ser
facilmente localizable en la cubierta del propio disco, manual, etc.
BSD Filesystem Naming Conventions
La particion 'a', por convencion, esta reservada para particiones
'bootables' y la particion 'b' para swap. Las particiones regulares
deben empezar en la 'd'. La particion 'e' corresponde a la primera
particion no bootable y a usar como sistema de ficheros.
Warning about swap space
El espacio requerido por la tabla de particion de BSD esta
permitido en el sistema de ficheros. No empieces la particion
swap en el cilindro 0.
Tengo un nuevo disco removible, como lo uso?
Se trate de un disco removible como un ZIP o EA (o un floppy,
si quieres usarlo de esta manera), o un nuevo disco duro, una vez
instalado y reconocido por el sistema, y tengas tu
cartridge/floppy/etc en su interior, las cosas son como para la
mayoria de dispositivos.
(esta seccion esta basada en )
Si es un disco ZIP o floppy, y esta formateado en DOS, puedes
usar el comando:
mount -t msdos /dev/fd0c /floppy
Si es un floppy, o este:
mount -t msdos /dev/sd2s4 /zip
para un disco ZIP con la configuracion de fabrica.
Para otros discos, mira como configurados usando /stand/sysinstall .
El resto de ejemplos seran para un disco ZIP en sd2, el tercer
disco SCSI.
A no ser que se trate de un floppy o disco removible, lo que
planeas compartir con otros usuarios, es aconsejable convertir
el formato de ficheros a BSD. Obtendras nombre de ficheros largos,
como minimo doblaras la velocidad de acceso del disco, y mucha mas
estabilidad. Antes, necesitas rehacer las particiones. Puedes usar
el comando o la utilidad /stand/sysinstall . Si es un
disco peque¤o que quieres dedicar enteramente a FreeBSD, solo
tienes que eliminar la FAT y tabla de particiones, y usar el sistema
de particiones de FreeBSD:
dd if=/dev/zero of=/dev/rsd2 count=2
disklabel -Brw sd2 auto
Puedes usar el comando disklabel (mas informacion en
[) o
]/stand/sysinstall para crear multiples particiones BSD.
Finalmente, crea un nuevo sistema de ficheros:
newfs /dev/rsd2c
y montalo:
mount /dev/sd2c /zip
Seria una buena idea anyadir una linea como esta en el fichero
para que solo tengas que teclear "mount /zip"
las siguientes veces.
/dev/sd2c /zip ffs rw,noauto 0 0
Como monto una particion secundaria DOS?
Las particiones DOS secundarias se encuentran despues de TODAS
las particiones primarias. Por ejemplo, si tienes una particion
"E" como la segunda particion DOS en el segundo disco SCSI, necesitas
crear los ficheros especiales para el dispositivo 5 en /dev, y despues
montar /dev/sd1s5:
# cd /dev
# ./MAKEDEV sd1s5
# mount -t msdos /dev/sd1s5 /dos/e
Puedo montar otros sistemas de ficheros bajo FreeBSD?
para mas informacion.
Como puedo usar el "NT loader" para arrancar FreeBSD?
La idea general es que copies el primer sector de la particion
root nativa de FreeBSD en un fichero en la particion DOS/NT.
Asumiento que nombras a ese fichero como c:\bootsect.bsd
puedes editar el fichero c:\boot.ini para conseguir
algo como esto:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
C:\BOOTSECT.BSD="FreeBSD"
C:\="DOS"
Este proceso asume que DOS, NT, FreeBSD o cualquier otro sistema
ha sido instalado en sus respectivas particiones en el mismo disco.
En nuestro caso, DOS y NT estan en la primera particion y FreeBSD
en la segunda. Instalamos FreeBSD para arrancarlo desde su particion
nativa y no desde el disco MBR.
Monta un floppy formateado en DOS bajo la particion /mnt .
dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
Rearranca en DOS o NT. Copia el fichero
attrib -s -r c:\boot.ini
Edita y anyade las lineas apropiadas del boot.ini mostrado
enteriormente de ejemplo, y vuelve a poner los atributos originales:
attrib -r -s c:\boot.ini
Si FreeBSD esta arrancando desde el MBR, restauralo desde el
comando
Como arranco FreeBSD y Linux desde LILO?
Teoricamente deberias poder arrancar FreeBSD desde LILO
tratandolo como un sistema operativo DOS, pero no hemos podido
hacerlo. Si instalas LILO al inicio de tu particion de arranque
Linux en vez de instalarla en el MBR, puedes arrancar LILO desde
el boot manager de FreeBSD. Asi es como lo hacemos.
Si estas usando Windows 95 y Linux, esta es la manera recomendada
de hacer que Linux arranque aunque tengas que hacer una reinstalacion
de Windows (el cual no deja que haya otro sistema operativo en el
Master Boot Record).
Puede un disco "dedicado" provocar problemas?
El proceso de instalacion nos permite elegir
dos metodos diferentes de particionar un disco. El sistema por defecto
hace que el disco sea compatible con otros sistemas operativos en
la misma maquina, usando las tablas de entrada de fdisk (llamadas
"slices" en FreeBSD). Opcionalmente, podemos instalar un
boot-selector que nos permite seleccionar el sistema operativo con
el que queremos arrancar.
Mientras este es el caso mas comun para gente proveniente del
mundo de PC, para la gente proveniente del mundo Unix y quienes
quieren instalar una maquina para funcionar con FreeBSD y solo
FreeBSD, es mas habitual usar el sistema de reservar todo el
espacio del disco para un solo sistema operativo.
Si seleccionas "A)ll FreeBSD" en el editor de fdisk de la utilidad
sysinstall, y respondes la siguiente pregunta con "No", usaras
este ultimo sistema. Ten en cuenta que usando este sistema no te
permitira la instalacion de ningun otro sistema operativo o
selector de arranque (boot manager).
Entonces, por que se llama "peligroso"?. Un disco en este modo
no contiene lo que las utilidades normales de un PC considerarian
una tabla de particion de ficheros valida. Dependiendo del disenyo
de estas aplicaciones, puede que danyen el sector de arranque una
vez entren en contacto con el disco. Por lo menos una BIOS Award
usada en por maquinas HP Netservers (pero no solo por ellos) es
concocida por ignorar los disco duros que no contengan lo que la
BIOS entiende por una tabla de ficheros valida.
Para volver un disco "peligrosamente dedicado" a formato
estandard de PC, hay basicamente dos opciones. La primera es,
escribes suficientes bytes NULL sobre el MBR para hacer que
las siguientes instalaciones crean que estan en un disco sin
usar. Puedes hacer esto asi:
dd if=/dev/zero of=/dev/rsd0 count=15
Alternativamente, puedes hacer:
fdisk /mbr
que instalara un nuevo master boot record.
Como puedo anyadir mas espacio de swap?
La mejor manera es incrementar el tamanyo de tu particion de
swap, o usar esta excusa para anyadir un otro disco nuevo (mira
[ si lo haces).
]Anyadir swap en discos separados hace las cosas mas rapidas
que simplemente anyadir swap en el mismo disco. Como ejemplo,
si estas compilando codigo fuente en un disco, y el swap esta
en otro disco, es mucho mas rapido que si el swap y la
compilacion se realizaran en el mismo disco. Esto es cierto
especificamente para disco SCSI.
Disco IDE no son capaces de permitir el acceso a ambos discos
en el mismo canal al mismo tiempo (FreeBSD no soporta el modo 4, ya
que todas las I/O de discos IDE con "programadas").
Es realmente muy mala idea instalar el swap sobre NFS a no ser que
trabajes en una red muy rapida con un muy buen servidor.
Aqui hay un ejemplo para un fichero de swap de 64Mb
/usr/swap0 , piensa que puedes usar el nombre que quieras).
Asegurate que el kernel esta compilado con la linea
pseudo-device vn 1 #Vnode driver (turns a file into a device)
en tu fichero de configuracion. El kernel GENERIC la contiene.
- crea un vn-device
cd /dev
sh ./MAKEDEV vn0
- crea un swapfile (
/usr/swap0 )
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
- activa el fichero de swap en
/etc/rc.conf
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
- rebota la maquina.
Para activar el fichero de swap inmediatamente teclea
vnconfig -ce /dev/vn0c /usr/swap0 swap
Tengo problemas para poner en marcha mi impresora.
Por favor, revisa la seccion de impresoras del manual. Cubre la
mayoria de posibles problemas. Pasate por
Mi teclado no coincide con los caracteres de pantalla.
El programa de control de teclado tiene una opcion para cargar
el mapa de teclado. En el directorio /usr/share/syscons/keymaps
hay diferentes ficheros de mapas de teclado. Selecciona el que
corresponde a tu sistema y cargalo.
kbdcontrol -l uk.iso
Tanto el directorio /usr/share/syscons/keymaps como la
extension .
Esto puede ser configurado en /etc/sysconfig (o ).
Mira los comentarios correspondientes en el propio fichero.
En la version 2.0.5R y posteriores, todo lo referente a fuentes,
teclado, etc esta en /usr/share/examples/syscons .
Actualmente se soportan los siguientes mapas de teclado:
- Belgian ISO-8859-1
- Brazilian 275 keyboard Codepage 850
- Brazilian 275 keyboard ISO-8859-1
- Danish Codepage 865
- Danish ISO-8859-1
- French ISO-8859-1
- German Codepage 850
- German ISO-8859-1
- Italian ISO-8859-1
- Japanese 106
- Japanese 106x
- Latin American
- Norwegian ISO-8859-1
- Polish ISO-8859-2 (programmer's)
- Russian Codepage 866 (alternative)
- Russian koi8-r (shift)
- Russian koi8-r
- Spanish ISO-8859-1
- Swedish Codepage 850
- Swedish ISO-8859-1
- Swiss-German ISO-8859-1
- United Kingdom Codepage 850
- United Kingdom ISO-8859-1
- United States of America ISO-8859-1
- United States of America dvorak
- United States of America dvorakx
Las cuotas de usuario no funcionan correctamente.
- No actives las cuotas en '/',
- Pon el fichero de cuotas en el sistema de ficheros en el que
se vayan a forzar las cuotas de usuario:
FS QUOTA FILE
/usr /usr/admin/quotas
/home /home/admin/quotas
...
Que es incorrecto en mi ccd?
El sintoma es:
# ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
#
Esto actualmente ocurre cuando estas intentando concatenar las
particiones c'. El driver ccd requiere que la particion sea del
tipo FS_BSDFFS. Edita la etiqueta del disco (disklabel) que estas
intentando concatenar y cambia el tipo de particion a '4.2BSD'.
Por que no puedo editar el disklabel en mi ccd?
El sintoma es:
# disklabel ccd0
(it prints something sensible here, so let's try to edit it)
# disklabel -e ccd0
(edit, save, quit)
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial label
#
Esto es porque el disklabel retornado por el ccd es actualmente
uno que no corresponde con el real. Puedes resolver este problema
escribiendo explicitamente:
# disklabel ccd0 > /tmp/disklabel.tmp
# disklabel -Rr ccd0 /tmp/disklabel.tmp
# disklabel -e ccd0
(this will work now)
Soporta FreeBSD primitivas IPC System V?
Si, FreeBSD las soporta. Estas incluyen memoria compartida,
mensajes y semaforos. Necesitas anyadir las siguientes lineas
en la configuracion de tu kernel para activarlas.
options SYSVSHM
options "SHMMAXPGS=64" # 256Kb of sharable memory
options SYSVSEM # enable for semaphores
options SYSVMSG # enable for messaging
Recompila e instala.
Como uso sendmail para envio de mail via UUCP?
La configuracion de sendmail incluida en FreeBSD esta preparada
para sistemas que conectan directamente con Internet. Los sistemas
que quieran usar UUCP para el envio de mail deben utilizar otro
fichero de configuracion.
Retocar /etc/sendmail.cf manualmente esta considerado
algo para puristas. La version 8 de sendmail incluye un nuevo
sistema de configuracion llamado
, en
el cual la configuracion se realiza en un nivel mas alto. Deberias
usar los ficheros de configuracion situados en
/usr/src/usr.sbin/sendmail/cf
Si no instalaste tu sistema con el codigo fuente completo, el
paquete de configuracion de sendmail esta en una distribucion
aparte. Asumiendo que tienes tu CD-ROM montado, haz:
cd /usr/src
tar -xvzf /cdrom/dists/src/ssmailcf.aa
No te preocupes, solo son unos cientos de kilobytes de tamanyo.
El fichero README en el directorio cf puede
servir como introduccion a la configuracion del m4.
Para envio y recepcion via UUCP, te aconsejamos usar la
opcion mailertable . Se basa en una base de datos
que sendmail puede usar como base para tomar las decisiones
de enrutado del mail.
Primero tienes que crear tu fichero .mc . Estos ficheros
se encuentran en el directorio
/usr/src/usr.sbin/sendmail/cf/cf . Si miras, encontraras
algunos ejemplos. Asumiendo que tu fichero se llama foo.com ,
todo lo que necesitas hacer para convertirlo en un fichero
sendmail.cf valido es:
cd /usr/src/usr.sbin/sendmail/cf/cf
make foo.cf
cp foo.cf /etc/sendmail.cf
Un fichero tipico .mc seria algo como:
include(`../m4/cf.m4')
VERSIONID(`Your version number')
OSTYPE(bsd4.4)
FEATURE(nodns)
FEATURE(nocanonify)
FEATURE(mailertable)
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCP
Las opciones nodns y nocanonify previenen
del uso del DNS durante el trafico de correo. La clausula
UUCP_RELAY se necesita por razones imperiosas, no
preguntes :). Simplemente pon un nombre de maquina de Internet que
sea capaz de gestionar pseudo-dominios .UUCP; mas sencillo,
entraras el mail relay de tu ISP.
Una vez hayas hecho esto, necesitas el fichero llamado
/etc/mailtertable . Un ejemplo tipico seria:
#
# makemap hash /etc/mailertable.db < /etc/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:sax
Como puedes ver, esto es parte de un fichero real. Las tres
primeras lineas manejan casos especiales donde el correo dirigido
a un dominio no debe ser enviado a traves de la ruta por defecto,
si no a traves de un UUCP vecino para acortar el path de envio.
La siguiente linea gestiona el mail del dominio local para que sea
enviado via SMTP. Finalmente, los vecinos UUCP son anotados en la
parte .UUCP pseudo-domains, para poder sobreescribir las reglas
por defecto. La ultima linea es siempre un punto, que indica el
mail gateway hacia el resto del mundo. Todos los nombres de nodos
detras de uucp-dom: deben ser vecinos validos UUCP.
Como recordatorio de que este fichero debe ser convertido a
una base de datos DBM antes de ser usada, la linea de comandos
para realizar esta operacion esta puesta como un comentario al
inicio del fichero. Siempre tienes que ejecutar este comando
cada vez que realices algun cambio en tu mailtertable.
Si no tienes la seguridad de que una ruta de correo vaya a
funcionar correctamente, recuerda la opcion -bt de
sendmail. Esta opcion arranca el sendmail en modo test ;
simplemente entra 0, seguido por la direccion de mail sobre la que
quieres testear la ruta. La ultima linea te indica el agente
interno, el host de destino y la direccion (posiblemente
traducido). Sal de este modo tecleando Control-D.
j@uriah 191% sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> 0 foo@interface-business.de
rewrite: ruleset 0 input: foo @ interface-business . de
...
rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
< @ interface-business . de >
> ^D
j@uriah 192%
Como configuro el correo para conexiones NO permanentes a Internet?
Si tienes una direccion IP fija en la conexion, no necesitaras
ajustar nada de lo que ya viene por defecto. Configura tu host name
como el nombre asignado a tu IP de Internet y sendmail hara el
resto.
Si tienes direcciones IP asignadas dinamicamente y usas una
conexion Para poder recoger el correo de tu buzon necesitaras instalar
un agente de recogida de correo. /etc/ppp/ppp.linkup
:
MYADDR:
!bg su user -c fetchmail
Asumimos que tienes una cuenta para
poll myISP.com protocol pop3 fetchall pass MySecret;
No hace falta decir que este fichero no debe ser "leible" por nadie
excepto Para enviar el correo con la cabecera El siguiente fichero
VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
CwmyISP.com
MASQUERADE_AS(`myISP.com')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(SMART_HOST, `relay.myISP.com')
DmmyISP.com
define(`confDOMAIN_NAME',`myISP.com')dnl
define(`confDELIVERY_MODE',`deferred')dnl
Mira en la seccion anterior para los detalles de como convertir
este fichero