Introduccion:
Configurar el servicio SFTP para transferencias y que el usuario este enjaulado.
Requerimientos:
* FreeBSD instalado
* Conexion a Internet
* Leer este tutorial
Manuales utilizados:
Chroot sftp users using ssh
El proceso:
# edit /etc/ssh/sshd_config
Agragar al final las lineas:
Match group chroot
ChrootDirectory %u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Reiniciar (restart o reload) sshd
# /etc/rc.d/sshd reload
Agragar el nuevo grupo llamado chroot
# pw addgroup chroot
Nota:
Para eliminar un grupo creado, usar: # pw groupdel nombregrupo
Agregar el nuevo usuario con el que se conectaran
# adduser
Username: sftpuser
Full name: SFTP User
Uid (Leave empty for default):
Login group [sftpuser]: chroot <- Atencion a este parametro!
Login group is chroot. Invite sftpuser into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/sftpuser]: /home/sftpuser
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : sftpuser
Password : *****
Full Name : SFTP User
Uid : 1170
Class :
Groups : chroot
Home : /home/sftpuser
Home Mode :
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (sftpuser) to the user database.
Add another user? (yes/no): no
Goodbye!
Ahora le ajustamos los permisos al home del usuario
# chown -R root:chroot /home/sftpuser
Crear un directorio llamado pub dentro para que puedan crear archivos
# mkdir /home/sftpuser/pub
Ajustarle los permisos al directorio pub
# chmod -R 0777 /home/sftpuser/pub
Los archivos se deben transferir al directorio pub
2014/02/19
2014/02/06
ISC BIND (DNS)
Introduccion:
Instalar ISC BIND.
Requerimientos:
* FreeBSD instalado
* Conexion a Internet
* Leer este tutorial
El proceso:
Actualizar el arbol de ports
# portsnap update
Instalar el port de bind
# cd /usr/ports/dns/bind99
# make install clean
bind99-9.9.5
(dejo las opciones por defecto)
...
Installing bind99-9.9.5... done
Hacer que inicie con el equipo
# echo '# ISC BIND' >> /etc/rc.conf
# echo 'named_enable="YES"' >> /etc/rc.conf
Activar la tarjeta de red que va a nuestra LAN con la IP 192.168.1.1/24
# edit /etc/rc.conf
Agregamos la linea con los datos de nuestra segunda tarjeta de red
#Segunda tarjeta de red que va hacia la LAN
ifconfig_em1="inet 192.168.1.1 netmask 255.255.255.0"
Levantamos manualmente la segunda tarjeta sin reiniciar
# ifconfig em1 inet 192.168.1.1 netmask 255.255.255.0 up
Editar el archivo de configuracion de bind para crear nuestras zonas
# edit /usr/local/etc/namedb/named.conf
Ajustamos las lineas originales
...
listen-on { 127.0.0.1; };
...
forwarders {
127.0.0.1;
};
...
zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
...
por
...
listen-on { 127.0.0.1; 192.168.1.1; };
...
forwarders {
8.8.8.8;
8.8.4.4;
};
...
//zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
...
Note que:
1) En listen-on se agrega la IP interna para que bind responda consultas que le hagan.
2) En forwarders quitamos la IP local y agregamos las de los DNS de Google.
3) Con doble slash (//) comentamos la linea zone "example.com"...
Al final del archivo agregamos nuestras zonas "zona" y "zona inversa"
...
zone "example.com" {
type master;
allow-update { none; };
allow-transfer { localhost; 192.168.1.2; };
file "/usr/local/etc/namedb/master/example.com";
};
zone "1.168.192.in-addr.arpa" {
type master;
allow-update { none; };
allow-transfer { localhost; 192.168.1.2; };
file "/usr/local/etc/namedb/master/1.168.192.in-addr.arpa";
};
Creamos el archivo de nuestra "zona"
# edit /usr/local/etc/namedb/master/example.com
$TTL 3600 ; 1 hour default TTL
example.com. IN SOA freebsd.example.com. admin.example.com. (
2013021701 ; Serial
10800 ; Refresh (3 hours)
3600 ; Retry (1 hour)
604800 ; Expire (1 week)
300 ; Negative Response TTL (5 minutes)
)
; DNS Servers
IN NS freebsd.example.com.
; MX Records
;IN MX 10 mx.example.com.
;IN MX 20 mail.example.com.
IN A 192.168.1.1
; Machine Names
localhost IN A 127.0.0.1
freebsd IN A 192.168.1.1
; Aliases
Creamos el archivo de nuestra "zona inversa"
# edit /usr/local/etc/namedb/master/1.168.192.in-addr.arpa
$TTL 3600 ; 1 hour default TTL
1.168.192.in-addr.arpa. IN SOA freebsd.example.com. admin.example.com. (
2013021701 ; Serial
10800 ; Refresh (3 hours)
3600 ; Retry (1 hour)
604800 ; Expire (1 week)
300 ; Negative Response TTL (5 minutes)
)
; DNS Servers
IN NS freebsd.example.com.
; Machine IPs
1 IN PTR freebsd.example.com.
Iniciamos bind
# /usr/local/etc/rc.d/named start
Hacer que nuestro FreeBSD use el bind
# edit /etc/resolv.conf
Comentamos las lineas "nameserver" y agregamos a bind, queda asi
search example.com
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
#nameserver 8.8.8.8
#nameserver 8.8.4.4
nameserver 127.0.0.1
Verificamos que bind esta funcionando
Prueba a un host local
# dig @192.168.1.1 freebsd.example.com
; <<>> DiG 9.9.5 <<>> @192.168.1.1 freebsd.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36043
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;freebsd.example.com. IN A
;; ANSWER SECTION:
freebsd.example.com. 3600 IN A 192.168.16.1
;; AUTHORITY SECTION:
freebsd.example.com. 3600 IN NS ns1.freebsd.example.com.
freebsd.example.com. 3600 IN NS ns2.freebsd.example.com.
;; ADDITIONAL SECTION:
;; Query time: 0 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 06 13:40:35 COT 2014
;; MSG SIZE rcvd: 118
Prueba a un host remoto
# dig @192.168.1.1 google.com
; <<>> DiG 9.9.5 <<>> @192.168.1.1 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48596
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 4, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 190.248.35.30
google.com. 300 IN A 190.248.35.45
google.com. 300 IN A 190.248.35.35
google.com. 300 IN A 190.248.35.34
google.com. 300 IN A 190.248.35.24
google.com. 300 IN A 190.248.35.49
google.com. 300 IN A 190.248.35.54
google.com. 300 IN A 190.248.35.40
google.com. 300 IN A 190.248.35.25
google.com. 300 IN A 190.248.35.50
google.com. 300 IN A 190.248.35.59
google.com. 300 IN A 190.248.35.20
google.com. 300 IN A 190.248.35.55
google.com. 300 IN A 190.248.35.44
google.com. 300 IN A 190.248.35.39
google.com. 300 IN A 190.248.35.29
;; AUTHORITY SECTION:
google.com. 172742 IN NS ns4.google.com.
google.com. 172742 IN NS ns1.google.com.
google.com. 172742 IN NS ns3.google.com.
google.com. 172742 IN NS ns2.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 172742 IN A 216.239.32.10
ns2.google.com. 172742 IN A 216.239.34.10
ns3.google.com. 172742 IN A 216.239.36.10
ns4.google.com. 172742 IN A 216.239.38.10
;; Query time: 59 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 06 13:34:11 COT 2014
;; MSG SIZE rcvd: 431
---------------------------------------------------------------------------------------------------------
Para un bind (slave) que funcione como respaldo del primer bind (master)...
Todo se hace de forma muy similar, pero hay algunos cambios
En named.conf (slave), las zonas al final del archivo quedan asi (vea que en lugar de la carpeta master, quedan en slave) y con la linea masters se especifica la IP del primer bind (master)
...
zone "example.com" {
type slave;
file "/usr/local/etc/namedb/slave/example.com";
masters { 192.168.1.1; };
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "/usr/local/etc/namedb/slave/1.168.192.in-addr.arpa";
masters { 192.168.1.1; };
};
Los archivos "zona" y "zona inversa" no hay que crearlos ya que se importan automaticamente del primer bind (master).
Luego de iniciar bind (slave), los archivos seran transferidos desde el primer bind (master) como por arte de magia
# ls /usr/local/etc/namedb/slave
1.168.192.in-addr.arpa
example.com
---------------------------------------------------------------------------------------------------------
Instalar ISC BIND.
Requerimientos:
* FreeBSD instalado
* Conexion a Internet
* Leer este tutorial
El proceso:
Actualizar el arbol de ports
# portsnap update
Instalar el port de bind
# cd /usr/ports/dns/bind99
# make install clean
bind99-9.9.5
(dejo las opciones por defecto)
...
Installing bind99-9.9.5... done
Hacer que inicie con el equipo
# echo '# ISC BIND' >> /etc/rc.conf
# echo 'named_enable="YES"' >> /etc/rc.conf
Activar la tarjeta de red que va a nuestra LAN con la IP 192.168.1.1/24
# edit /etc/rc.conf
Agregamos la linea con los datos de nuestra segunda tarjeta de red
#Segunda tarjeta de red que va hacia la LAN
ifconfig_em1="inet 192.168.1.1 netmask 255.255.255.0"
Levantamos manualmente la segunda tarjeta sin reiniciar
# ifconfig em1 inet 192.168.1.1 netmask 255.255.255.0 up
Editar el archivo de configuracion de bind para crear nuestras zonas
# edit /usr/local/etc/namedb/named.conf
Ajustamos las lineas originales
...
listen-on { 127.0.0.1; };
...
forwarders {
127.0.0.1;
};
...
zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
...
por
...
listen-on { 127.0.0.1; 192.168.1.1; };
...
forwarders {
8.8.8.8;
8.8.4.4;
};
...
//zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
...
Note que:
1) En listen-on se agrega la IP interna para que bind responda consultas que le hagan.
2) En forwarders quitamos la IP local y agregamos las de los DNS de Google.
3) Con doble slash (//) comentamos la linea zone "example.com"...
Al final del archivo agregamos nuestras zonas "zona" y "zona inversa"
...
zone "example.com" {
type master;
allow-update { none; };
allow-transfer { localhost; 192.168.1.2; };
file "/usr/local/etc/namedb/master/example.com";
};
zone "1.168.192.in-addr.arpa" {
type master;
allow-update { none; };
allow-transfer { localhost; 192.168.1.2; };
file "/usr/local/etc/namedb/master/1.168.192.in-addr.arpa";
};
Creamos el archivo de nuestra "zona"
# edit /usr/local/etc/namedb/master/example.com
$TTL 3600 ; 1 hour default TTL
example.com. IN SOA freebsd.example.com. admin.example.com. (
2013021701 ; Serial
10800 ; Refresh (3 hours)
3600 ; Retry (1 hour)
604800 ; Expire (1 week)
300 ; Negative Response TTL (5 minutes)
)
; DNS Servers
IN NS freebsd.example.com.
; MX Records
;IN MX 10 mx.example.com.
;IN MX 20 mail.example.com.
IN A 192.168.1.1
; Machine Names
localhost IN A 127.0.0.1
freebsd IN A 192.168.1.1
; Aliases
Creamos el archivo de nuestra "zona inversa"
# edit /usr/local/etc/namedb/master/1.168.192.in-addr.arpa
$TTL 3600 ; 1 hour default TTL
1.168.192.in-addr.arpa. IN SOA freebsd.example.com. admin.example.com. (
2013021701 ; Serial
10800 ; Refresh (3 hours)
3600 ; Retry (1 hour)
604800 ; Expire (1 week)
300 ; Negative Response TTL (5 minutes)
)
; DNS Servers
IN NS freebsd.example.com.
; Machine IPs
1 IN PTR freebsd.example.com.
Iniciamos bind
# /usr/local/etc/rc.d/named start
Hacer que nuestro FreeBSD use el bind
# edit /etc/resolv.conf
Comentamos las lineas "nameserver" y agregamos a bind, queda asi
search example.com
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
#nameserver 8.8.8.8
#nameserver 8.8.4.4
nameserver 127.0.0.1
Verificamos que bind esta funcionando
Prueba a un host local
# dig @192.168.1.1 freebsd.example.com
; <<>> DiG 9.9.5 <<>> @192.168.1.1 freebsd.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36043
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;freebsd.example.com. IN A
;; ANSWER SECTION:
freebsd.example.com. 3600 IN A 192.168.16.1
;; AUTHORITY SECTION:
freebsd.example.com. 3600 IN NS ns1.freebsd.example.com.
freebsd.example.com. 3600 IN NS ns2.freebsd.example.com.
;; ADDITIONAL SECTION:
;; Query time: 0 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 06 13:40:35 COT 2014
;; MSG SIZE rcvd: 118
Prueba a un host remoto
# dig @192.168.1.1 google.com
; <<>> DiG 9.9.5 <<>> @192.168.1.1 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48596
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 4, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 190.248.35.30
google.com. 300 IN A 190.248.35.45
google.com. 300 IN A 190.248.35.35
google.com. 300 IN A 190.248.35.34
google.com. 300 IN A 190.248.35.24
google.com. 300 IN A 190.248.35.49
google.com. 300 IN A 190.248.35.54
google.com. 300 IN A 190.248.35.40
google.com. 300 IN A 190.248.35.25
google.com. 300 IN A 190.248.35.50
google.com. 300 IN A 190.248.35.59
google.com. 300 IN A 190.248.35.20
google.com. 300 IN A 190.248.35.55
google.com. 300 IN A 190.248.35.44
google.com. 300 IN A 190.248.35.39
google.com. 300 IN A 190.248.35.29
;; AUTHORITY SECTION:
google.com. 172742 IN NS ns4.google.com.
google.com. 172742 IN NS ns1.google.com.
google.com. 172742 IN NS ns3.google.com.
google.com. 172742 IN NS ns2.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 172742 IN A 216.239.32.10
ns2.google.com. 172742 IN A 216.239.34.10
ns3.google.com. 172742 IN A 216.239.36.10
ns4.google.com. 172742 IN A 216.239.38.10
;; Query time: 59 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 06 13:34:11 COT 2014
;; MSG SIZE rcvd: 431
---------------------------------------------------------------------------------------------------------
Para un bind (slave) que funcione como respaldo del primer bind (master)...
Todo se hace de forma muy similar, pero hay algunos cambios
En named.conf (slave), las zonas al final del archivo quedan asi (vea que en lugar de la carpeta master, quedan en slave) y con la linea masters se especifica la IP del primer bind (master)
...
zone "example.com" {
type slave;
file "/usr/local/etc/namedb/slave/example.com";
masters { 192.168.1.1; };
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "/usr/local/etc/namedb/slave/1.168.192.in-addr.arpa";
masters { 192.168.1.1; };
};
Los archivos "zona" y "zona inversa" no hay que crearlos ya que se importan automaticamente del primer bind (master).
Luego de iniciar bind (slave), los archivos seran transferidos desde el primer bind (master) como por arte de magia
# ls /usr/local/etc/namedb/slave
1.168.192.in-addr.arpa
example.com
---------------------------------------------------------------------------------------------------------
KDE
Introduccion:
Instalar el escritorio KDE4.
Requerimientos:
* FreeBSD instalado
* The X Window System instalado
* Conexion a Internet
* Leer este tutorial
El proceso:
Actualizar el arbol de ports
# portsnap update
Agregar los parametros recomendados en /etc/make.conf
# edit /etc/make.conf
Agregamos las siguientes lineas
# FreeBSD versions earlier than 10.X require this line
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pkgng-intro.html
#
WITH_PKGNG=yes
Instalar el meta-port kde4
# cd /usr/ports/x11/kde4
# make config-recursive
kde 4.10.5_1
[ ] KDEACCESSIBILITY Accessibility applications
[ ] KDEADMIN Administration utilities
[ ] KDEARTWORK Additional screensavers and wallpapers
[ ] KDEBINDINGS Bindings for programming languages
[ ] KDEEDU Entertaining, educational programs
[ ] KDEGAMES Collection of games
[ ] KDEGRAPHICS Graphics utilities
[ ] KDEMULTIMEDIA Multimedia applications
[ ] KDENETWORK Network-related programs
[ ] KDEPLASMA Extra plasmoids and plugins for Plasma
[ ] KDESDK Software development kit
[ ] KDETOYS Miscellaneous small applications
[ ] KDEUTILS Set of generic utilities
[ ] KDEWEBDEV Web development environment
───────────────── PIM ─────────────────
( ) KDEPIM Personal information management
( ) KDEPIM44 KDE-Pim 4.4 (legacy version)
Yo desactivo todo ya que solo quiero KDE4 sin adicionales (EDU, GAMES, etc.), pero se pueden instalar si los desea dejando todo por defecto.
Los ports "KDEACCESSIBILITY", "KDEADMIN", etc., los puedo dejar por defecto ya que en el meta-port kde4 los desactive y no se instalaran (si se desea instalar EDU, GAMES, etc., tambien se dejan por defecto).
Los demas ports necesarios para kde4 tambien se dejan las opciones por defecto.
Nota:
Si tengo problemas con los cambios al meta-port kde4, puedo borrar los ajustes que hice para dejarlo como estaba por defecto e iniciar los ajustes nuevamente con el comando # rm -rf /var/db/ports/*
# make install clean
KDE requiere montar /proc para hacerlo editamos /etc/fstab
# edit /etc/fstab
Agregamos las siguientes lineas
# KDE requires the /proc mounted
proc /proc procfs rw 0 0
Montamos manualmente para no tener que reiniciar
# mount -a
Crear el archivo que iniciara kde4 en el home del usuario, que en nuestro ejemplo se llama John Doe y su home es john
# echo '# KDE' > /home/john/.xinitrc
# echo 'exec /usr/local/bin/startkde' >> /home/john/.xinitrc
# echo 'setxkbmap -option "terminate:ctrl_alt_bksp"' >> /home/john/.xinitrc
# echo '# UTF-8' >> /home/john/.xinitrc
# echo 'export LC_ALL=en_US.UTF-8' >> /home/john/.xinitrc
# echo 'export LANGUAGE=en_US.UTF-8' >> /home/john/.xinitrc
# echo 'export LANG=en_US.UTF-8' >> /home/john/.xinitrc
Para iniciar kde4 desde el usuario John Doe, usamos
$ startx
Instalar el escritorio KDE4.
Requerimientos:
* FreeBSD instalado
* The X Window System instalado
* Conexion a Internet
* Leer este tutorial
El proceso:
Actualizar el arbol de ports
# portsnap update
Agregar los parametros recomendados en /etc/make.conf
# edit /etc/make.conf
Agregamos las siguientes lineas
# FreeBSD versions earlier than 10.X require this line
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pkgng-intro.html
#
WITH_PKGNG=yes
Instalar el meta-port kde4
# cd /usr/ports/x11/kde4
# make config-recursive
kde 4.10.5_1
[ ] KDEACCESSIBILITY Accessibility applications
[ ] KDEADMIN Administration utilities
[ ] KDEARTWORK Additional screensavers and wallpapers
[ ] KDEBINDINGS Bindings for programming languages
[ ] KDEEDU Entertaining, educational programs
[ ] KDEGAMES Collection of games
[ ] KDEGRAPHICS Graphics utilities
[ ] KDEMULTIMEDIA Multimedia applications
[ ] KDENETWORK Network-related programs
[ ] KDEPLASMA Extra plasmoids and plugins for Plasma
[ ] KDESDK Software development kit
[ ] KDETOYS Miscellaneous small applications
[ ] KDEUTILS Set of generic utilities
[ ] KDEWEBDEV Web development environment
───────────────── PIM ─────────────────
( ) KDEPIM Personal information management
( ) KDEPIM44 KDE-Pim 4.4 (legacy version)
Yo desactivo todo ya que solo quiero KDE4 sin adicionales (EDU, GAMES, etc.), pero se pueden instalar si los desea dejando todo por defecto.
Los ports "KDEACCESSIBILITY", "KDEADMIN", etc., los puedo dejar por defecto ya que en el meta-port kde4 los desactive y no se instalaran (si se desea instalar EDU, GAMES, etc., tambien se dejan por defecto).
Los demas ports necesarios para kde4 tambien se dejan las opciones por defecto.
Nota:
Si tengo problemas con los cambios al meta-port kde4, puedo borrar los ajustes que hice para dejarlo como estaba por defecto e iniciar los ajustes nuevamente con el comando # rm -rf /var/db/ports/*
# make install clean
KDE requiere montar /proc para hacerlo editamos /etc/fstab
# edit /etc/fstab
Agregamos las siguientes lineas
# KDE requires the /proc mounted
proc /proc procfs rw 0 0
Montamos manualmente para no tener que reiniciar
# mount -a
Crear el archivo que iniciara kde4 en el home del usuario, que en nuestro ejemplo se llama John Doe y su home es john
# echo '# KDE' > /home/john/.xinitrc
# echo 'exec /usr/local/bin/startkde' >> /home/john/.xinitrc
# echo 'setxkbmap -option "terminate:ctrl_alt_bksp"' >> /home/john/.xinitrc
# echo '# UTF-8' >> /home/john/.xinitrc
# echo 'export LC_ALL=en_US.UTF-8' >> /home/john/.xinitrc
# echo 'export LANGUAGE=en_US.UTF-8' >> /home/john/.xinitrc
# echo 'export LANG=en_US.UTF-8' >> /home/john/.xinitrc
Para iniciar kde4 desde el usuario John Doe, usamos
$ startx
The X Window System
Introduccion:
Instalar The X Window System en FreeBSD.
Requerimientos:
* FreeBSD instalado
* Conexion a Internet
* Leer este tutorial
El proceso:
Actualizar el arbol de ports
# portsnap update
Agregar los parametros recomendados en /etc/make.conf
# edit /etc/make.conf
Agregamos las siguientes lineas
# Installing KMS Ports
# https://wiki.freebsd.org/Graphics#Ports
#
WITH_NEW_XORG=yes
WITH_GALLIUM=yes # Needed for Radeon cards, but doesn't harm with Intel devices.
#
# FreeBSD versions earlier than 10.X require this line
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pkgng-intro.html
#
WITH_PKGNG=yes
Instalar el port xorg
# cd /usr/ports/x11/xorg
# make config-recursive
xorg-apps 7.7
(dejo todo como esta por defecto)
xorg-drivers 7.7
[X] MOUSE Install mouse input driver
[X] KEYBOARD Install keyboard input driver
desactivo todo y solo dejo estos tres activados
python27-2.7.6_1 (todo por defecto)
libdrm-2.4.17_1 (todo por defecto)
xterm-300 (todo por defecto)
pixman-0.30.2 (tod por defecto)
xf86-video-radeonhd-1.3.0_5 (tod por defecto)
libxml2-2.8.0_3 (todo por defecto)
m4-1.4.17,1 (todo por defecto)
perl5-5.16.3_4 (todo por defecto)
png-1.5.17 (todo por defecto)
freetype2-2.5.0.1 (todo por defecto)
dejavu-2.34 (todo por defecto)
xorg-server-1.7.7_11,1 (todo por defecto)
libcheck-0.9.11 (todo por defecto)
libxslt-1.1.28_1 (todo por defecto)
hal-0.5.14_22 (todo por defecto)
xkeyboard-config-2.9_1 (todo por defecto)
policykit-0.9_6 (todo por defecto)
docbook-xsl-1.76.1_1 (todo por defecto)
glib-2.36.3_1 (todo por defecto)
pcre-8.33 (todo por defecto)
polkit-0.105_1 (todo por defecto)
unzip-6.0_1 (todo por defecto)
xmlcatmgr-2.2 (todo por defecto)
docbook-1.4_1 (todo por defecto)
dbus-1.6.12 (todo por defecto)
libffi-3.0.13 (todo por defecto)
docbook-5.0_1 (todo por defecto)
cairo-1.10.2_6,2 (todo por defecto)
# make install clean
Agregar estas lineas para cargar al inicio
# echo '# X11 Configuration' >> /etc/rc.conf
# echo 'hald_enable="YES"' >> /etc/rc.conf
# echo 'dbus_enable="YES"' >> /etc/rc.conf
Iniciarlo complementos (start|stop|restart)
# /usr/local/etc/rc.d/dbus start
# /usr/local/etc/rc.d/hald start
Crear el archivo xorg.conf.new basico
# rehash
# Xorg -configure
Editar el archivo con los parametros para el monitor
# edit /root/xorg.conf.new
En mi caso tengo este monitor
http://support.dell.com/support/edocs/systems/1907FP/en/about.htm#Specifications
En la seccion "Monitor" le agregamos HorizSync, VertRefresh y Option "DPMS"
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-81
VertRefresh 56-76
Option "DPMS"
EndSection
En la seccion "Screen" solo dejamos Depth 24 y Modes "1280x1024"
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Probamos nuestro archivo para ver si funciona bien
# Xorg -config /root/xorg.conf.new -retro
Esto inicia las X, para pararlo
Ctrl+Alt+F1 y usamos Ctrl+C
Nota:
En mi caso con una tarjeta Nvidia, no carga las X, pero luego con el driver de nvidia todo funciona bien.
Copiar el archivo al lugar correcto con el nombre final
# cp /root/xorg.conf.new /etc/X11/xorg.conf
Instalar el driver de Nvidia
# cd /usr/ports/x11/nvidia-driver
# make config-recursive
nvidia-driver-319.32
[ ] ACPI_PM ACPI_PM Power Management support
[X] DOCS Build and/or install documentation
[ ] LINUX Linux compatibility support
[ ] WBINVD Flush CPU caches directly with WBINVD
<OK>
# make install clean
Cargar manualmente el modulo
# kldload nvidia
Agregar estas lineas para cargar al inicio
# echo '# NVIDIA Driver' >> /boot/loader.conf
# echo 'nvidia_load="YES"' >> /boot/loader.conf
Editar el archivo para usar el driver nvidia en lugar de nv
# edit /etc/X11/xorg.conf
cambiar la linea original
Driver "nv"
por
Driver "nvidia"
Instalar el port mesa-demos para poder usar glxgears y glxinfo
# cd /usr/ports/graphics/mesa-demos
# make install clean
Otros ports relacionados con NVIDIA
x11/nvidia-settings
x11/nvidia-xconfig
Instalar The X Window System en FreeBSD.
Requerimientos:
* FreeBSD instalado
* Conexion a Internet
* Leer este tutorial
El proceso:
Actualizar el arbol de ports
# portsnap update
Agregar los parametros recomendados en /etc/make.conf
# edit /etc/make.conf
Agregamos las siguientes lineas
# Installing KMS Ports
# https://wiki.freebsd.org/Graphics#Ports
#
WITH_NEW_XORG=yes
WITH_GALLIUM=yes # Needed for Radeon cards, but doesn't harm with Intel devices.
#
# FreeBSD versions earlier than 10.X require this line
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pkgng-intro.html
#
WITH_PKGNG=yes
Instalar el port xorg
# cd /usr/ports/x11/xorg
# make config-recursive
xorg-apps 7.7
(dejo todo como esta por defecto)
xorg-drivers 7.7
[X] MOUSE Install mouse input driver
[X] KEYBOARD Install keyboard input driver
desactivo todo y solo dejo estos tres activados
python27-2.7.6_1 (todo por defecto)
libdrm-2.4.17_1 (todo por defecto)
xterm-300 (todo por defecto)
pixman-0.30.2 (tod por defecto)
xf86-video-radeonhd-1.3.0_5 (tod por defecto)
libxml2-2.8.0_3 (todo por defecto)
m4-1.4.17,1 (todo por defecto)
perl5-5.16.3_4 (todo por defecto)
png-1.5.17 (todo por defecto)
freetype2-2.5.0.1 (todo por defecto)
dejavu-2.34 (todo por defecto)
xorg-server-1.7.7_11,1 (todo por defecto)
libcheck-0.9.11 (todo por defecto)
libxslt-1.1.28_1 (todo por defecto)
hal-0.5.14_22 (todo por defecto)
xkeyboard-config-2.9_1 (todo por defecto)
policykit-0.9_6 (todo por defecto)
docbook-xsl-1.76.1_1 (todo por defecto)
glib-2.36.3_1 (todo por defecto)
pcre-8.33 (todo por defecto)
polkit-0.105_1 (todo por defecto)
unzip-6.0_1 (todo por defecto)
xmlcatmgr-2.2 (todo por defecto)
docbook-1.4_1 (todo por defecto)
dbus-1.6.12 (todo por defecto)
libffi-3.0.13 (todo por defecto)
docbook-5.0_1 (todo por defecto)
cairo-1.10.2_6,2 (todo por defecto)
# make install clean
Agregar estas lineas para cargar al inicio
# echo '# X11 Configuration' >> /etc/rc.conf
# echo 'hald_enable="YES"' >> /etc/rc.conf
# echo 'dbus_enable="YES"' >> /etc/rc.conf
Iniciarlo complementos (start|stop|restart)
# /usr/local/etc/rc.d/dbus start
# /usr/local/etc/rc.d/hald start
Crear el archivo xorg.conf.new basico
# rehash
# Xorg -configure
Editar el archivo con los parametros para el monitor
# edit /root/xorg.conf.new
En mi caso tengo este monitor
http://support.dell.com/support/edocs/systems/1907FP/en/about.htm#Specifications
En la seccion "Monitor" le agregamos HorizSync, VertRefresh y Option "DPMS"
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-81
VertRefresh 56-76
Option "DPMS"
EndSection
En la seccion "Screen" solo dejamos Depth 24 y Modes "1280x1024"
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Probamos nuestro archivo para ver si funciona bien
# Xorg -config /root/xorg.conf.new -retro
Esto inicia las X, para pararlo
Ctrl+Alt+F1 y usamos Ctrl+C
Nota:
En mi caso con una tarjeta Nvidia, no carga las X, pero luego con el driver de nvidia todo funciona bien.
Copiar el archivo al lugar correcto con el nombre final
# cp /root/xorg.conf.new /etc/X11/xorg.conf
Instalar el driver de Nvidia
# cd /usr/ports/x11/nvidia-driver
# make config-recursive
nvidia-driver-319.32
[ ] ACPI_PM ACPI_PM Power Management support
[X] DOCS Build and/or install documentation
[ ] LINUX Linux compatibility support
[ ] WBINVD Flush CPU caches directly with WBINVD
<OK>
# make install clean
Cargar manualmente el modulo
# kldload nvidia
Agregar estas lineas para cargar al inicio
# echo '# NVIDIA Driver' >> /boot/loader.conf
# echo 'nvidia_load="YES"' >> /boot/loader.conf
Editar el archivo para usar el driver nvidia en lugar de nv
# edit /etc/X11/xorg.conf
cambiar la linea original
Driver "nv"
por
Driver "nvidia"
Instalar el port mesa-demos para poder usar glxgears y glxinfo
# cd /usr/ports/graphics/mesa-demos
# make install clean
Otros ports relacionados con NVIDIA
x11/nvidia-settings
x11/nvidia-xconfig
Subscribe to:
Posts (Atom)