Sunday, 6 March 2011

OpenBSD: Unbound Domain Name Server

Local DNS Server Relay

Introduction

A Local DNS Server Relay is useful within a local network when an internet-facing web server is present, and you wish to access it by name from within the local network.

A DNS Server with a local override enables the internet addresses of internal webservers to be overridden with the internal address instead of the external internet address.

This is useful, particularly when the internet modem that does the network address translation from the internet address (WAN) to the appopriate local area network address (LAN) is unable to "loop-back" the TCP packets destined for the internal network.

The solution is to run a local DNS server, but override the names of the internal webservers. Two programs can do this (dnsmasq and unbound).

Unbound refers the DNS queries through the root nameservers on the internet, rather than relaying them through the ISP. It also caches the query results. Because dnsmasq does neither of these, it is slightly slower. This note describes the installation of unbound on OpenBSD.

Installation

Install unbound:
pkg_add -i ftp://ftp.mirrorservice.org/pub/OpenBSD/snapshots/packages/i386/unbound-1.4.7.tgz
Download the root domain name servers:
mkdir /var/unbound/var/hints
cd /var/unbound/var/hints
ftp ftp://FTP.INTERNIC.NET/domain/named.cache
Edit the configuration file /var/unbound/etc/unbound.conf:
interface: 0.0.0.0
access-control: 0.0.0.0/0 allow
outgoing-range: 64
chroot: "/var/unbound"
directory: "etc"
root-hints: "/var/hints/named.cache"
local-zone: "local." static
local-data: "mycomputer.local." IN A 192.168.2.1
local-data: "www.mydomainname.co.uk" IN A 192.168.2.2
Change the default DNS server to be the local machine:
  1. If the DNS server list is passed via DHCP, it should be done on the DHCP server (usually the modem that interfaces to the internet).
  2. If the DNS server list is configured statically, it must be modified on each machine on the internal network - note that DHCP is a better mechanism for alocation, particularly with laptops and other mobile computers.
Create a startup script in /etc/rc.d/unbound:
#!/bin/sh
#
# unbound domain name server
#

daemon="/usr/local/sbin/unbound"
daemon_flags=""
. /etc/rc.d/rc.subr
rc_cmd $1
Start the server:
/etc/rc.d/unbound start
Making Things Permanent

Edit /etc/rc.conf, and ensure that unbound is included in the rc_scripts section.
# rc.d(8) daemons scripts
# started in the specified order and stopped in reverse order
rc_scripts="unbound samba"
Integrating into the Admin Webserver

In order to integrate this function into the admin webserver, the local server entries must be unplugged from the unbound.conf file, and produced automatically.

Remove the local-data lines from the unbound.conf file.
Copy the unbound.conf file to unbound.src.
Create a script in /var/localadm/bin/reconfiguredns:
#!/bin/sh
cat /var/unbound/etc/unbound.etc /var/localadm/etc/unbound.local-data > /var/unbound/etc/unbound.conf
/etc/rc.d/unbound restart


Friday, 4 March 2011

OpenBSD: Formatting Disks

This note shows how to identify and format a disk using OpenBSD.

Tools

fdisk - partition table editor
disklabel - BSD partition editor
newfs - formatter

Steps

1. Identify name of new disk, for example, insert a USB stick, then type 'dmesg'
scsibus0 at umass0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: SCSI2 0/direct removable
sd0: 1000MB, 512 bytes/sec, 2048000 sec total
2. Allocate the whole disk to BSD

This is done so that if it is used in another operating system, it will be pre-allocated. This is done using fdisk. You can select 'help' at any time. You may wish to remove existing partitions, such as ones associated with Windows / Fat32 etc - if so, simply change the partition type to 0 using the edit command.
# fdisk -e sd0
fdisk: 1> edit 3
Partition id ('0' to disable) [0 - FF]: [0] (? for help) A6
Do you wish to edit in CHS mode? [n]
offset: [0]
size: [0] *
fdisk:*1> w
Writing MBR at offset 0.
fdisk: 1> q

# fdisk sd0
Disk: sd0 geometry: 127/255/63 [2048000 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: A6 0 0 1 - 127 122 59 [ 0: 2048000 ] OpenBSD

3. Create a whole partition on the disk with disklabel (the * means whole disk):
# disklabel -E sd0
> a
partition: [a]
offset: [0]
size: [2048000] *
FS type: [4.2BSD]
> w
> x
4. Format the disk:
# newfs sd0a
/dev/rsd0a: 1000.0MB in 2048000 sectors of 512 bytes
5 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each super-block backups (for fsck -b #) at:
32, 414688, 829344, 1244000, 1658656,
5. Add an entry in the fstab file
/dev/sd0a /mnt/usb ffs rw,nodev,nosuid 1 2
6. Mount the disk

This will be done automatically on boot, however the first time, the following commands should be used.
# mkdir /mnt/usb
# mount /mnt/usb

Monday, 14 February 2011

Configuring The CubeRevo IPBox 9000 HD

Installing Firmware

About the Images

There are three different relevant partitions on the cuberevo.
  • The boot partition, into which uboot is installed.
  • The kernel partition.
  • The database partition.
Normally, you wouldn't mess about with the boot partition - this is usually only done if you are upgrading the boot loader to allow you to use other images which are installed on the memory stick (e.g. Enigma2).

The best image to look for is usb_all_noboot.img, which installs both the kernel and the database partition in one go. If you just wanted to update the kernel, or just update the database, there are the kernel and db images to use.

Acquiring the Upgrade

Format a memory stick as FAT16 or FAT32.
Download the appropriate firmware from ftp.cuberevo-digital.com and rename to usb_upgrade.img.
Copy usb_upgrade.img to the memory stick.

Doing the Upgrade

Put the memory stick into the USB port on the decoder.
Hold the front panel power button and switch on. When you see 'BOOTING', press the up button on the front panel.

The upgrade will then take place, Loading / Erasing / Flashing / Done.
Do not interrupt this process!!
When you see 'Done', you can press the power button, and you should see Booting / Loading.

If you see ERR 10, make sure that the memory stick was formatted for FAT16 or FAT32, and try again.

Configuring the Firmware

The Serial Port View

The CubeRevo has a serial port, and debug information is passed out to it during all operations.

The Update Process
got all_noboot image.
updating boot loader.
DO NOT TURN OFF THE POWER while updating!!!
erase 0xa0040000 - 0xa1ffffff
..
Erased 2 sectors
..........
Erased 2 sectors
..
write to flash...
completed...
Select another file.
Or press power to reboot.

Completed !
Boot Process
U-Boot 1.3.1 (May 1 2009 - 17:58:06) - stm23-2008-03-19
Board: cuberevo (0x2D42C041)
Board: 12 dotmatrix vfd front
DRAM: 128 MB
Flash: 32 MB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Reserve 0x2010000 bytes from 0xa5ff0000 for DGS upgrade buffer.
Setup mac address.
booting...

## Booting image at a0060000 ...
Image Name: Linux 2.6
Image Type: Blackfin Linux Kernel Image (gzip compressed)
Data Size: 2052158 Bytes = 2 MB
Load Address: 84701000
Entry Point: 84702000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Warning: Unable to determine if kernel is built for 29- or 32-bit mode!

Starting kernel console=ttyAS1,115200 panic=3 root=/dev/mtdblock3 bigphysarea=1500 quiet - 0x00000000.

INIT: version 2.86 booting
mount: you must specify the filesystem type
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sd 1:0:0:0: [sdb] Assuming drive cache: write through
Checking all file systems...
fsck 1.39 (29-May-2006)
Hostname: (none).
INIT: Entering runlevel: 3
usb 1-1: failed to restore interface 0 altsetting 0 (error=-71)
Buffer I/O error on device sdb, logical block 0
Buffer I/O error on device sdb, logical block 0
Mounting sysfs on /sys....
sbox init script $Rev: 4454 $
make directory /var/bin/init.d
install default /etc/host.conf
install default /etc/hosts
install default /etc/passwd
install default /etc/group
cp: /etc/group.default: No such file or directory
installing /etc/group failed.
install default /etc/vsftpd.conf
install default /etc/httpd.conf
install default /etc/smb.conf
open success
checking database revision.
TV mode : 720x576-50i
* Looking for chipset model and version...
Load module stos_core [?] by insmod (pid 983)
Load module stsys_ioctl [253] by insmod (pid 1023)
STx7109 C detected (29BITS)
* Loading companions
sd 2:0:0:0: [sdb] Assuming drive cache: write through
sd 2:0:0:0: [sdb] Assuming drive cache: write through
usb 1-1: failed to restore interface 0 altsetting 0 (error=-71)
Buffer I/O error on device sdb, logical block 0
Buffer I/O error on device sdb, logical block 0
* Inserting Multicom
* Inserting STAPI Module
Load module stuart_core [253] by insmod (pid 1164)
Load module stevt_core [?] by insmod (pid 1164)
Load module stcommon_core [?] by insmod (pid 1164)
Load module stclkrv_core [?] by insmod (pid 1164)
Load module stfdma_core [251] by insmod (pid 1164)
Load module stmerge_core [?] by insmod (pid 1164)
Load module stavmem_core [?] by insmod (pid 1164)
Load module stbuffer_core [?] by insmod (pid 1164)
Load module stinject_core [?] by insmod (pid 1164)
Load module sti2c_core [?] by insmod (pid 1164)
Load module stpio_core [?] by insmod (pid 1164)
Load module stdenc_core [?] by insmod (pid 1164)
Load module stlayer_core [?] by insmod (pid 1164)
Load module stvout_core [?] by insmod (pid 1164)
Load module stvtg_core [?] by insmod (pid 1164)
Load module stvid_core [?] by insmod (pid 1164)
Load module stos_core [?] by insmod (pid 1164)
Load module stvmix_core [?] by insmod (pid 1164)
Load module stgxobj_core [?] by insmod (pid 1164)
Load module staudlx_core [250] by insmod (pid 1164)
Load module stblit_core [?] by insmod (pid 1164)
Load module stsubt_core [249] by insmod (pid 1164)
Load module stsmart_core [248] by insmod (pid 1164)
Load module sthdmi_core [?] by insmod (pid 1164)
Load module stpti4_core [?] by insmod (pid 1164)
Load module stuart_ioctl [247] by insmod (pid 1168)
Load module stevt_ioctl [246] by insmod (pid 1168)
Load module stcommon_ioctl [245] by insmod (pid 1168)
Load module stclkrv_ioctl [244] by insmod (pid 1168)
Load module stfdma_ioctl [243] by insmod (pid 1168)
Load module stmerge_ioctl [242] by insmod (pid 1168)
Load module stavmem_ioctl [241] by insmod (pid 1168)
Load module stbuffer_ioctl [240] by insmod (pid 1168)
Load module stinject_ioctl [239] by insmod (pid 1168)
Load module sti2c_ioctl [238] by insmod (pid 1168)
Load module stpio_ioctl [237] by insmod (pid 1168)
Load module stdenc_ioctl [236] by insmod (pid 1168)
Load module stlayer_ioctl [235] by insmod (pid 1168)
Load module stvout_ioctl [234] by insmod (pid 1168)
Load module stvtg_ioctl [233] by insmod (pid 1168)
Load module stvid_ioctl [232] by insmod (pid 1168)
Load module stvmix_ioctl [230] by insmod (pid 1168)
Load module stgxobj_ioctl [229] by insmod (pid 1168)
Load module stblit_ioctl [227] by insmod (pid 1168)
Load module stsubt_ioctl [226] by insmod (pid 1168)
Load module stsmart_ioctl [225] by insmod (pid 1168)
Load module sthdmi_ioctl [224] by insmod (pid 1168)
Load module stsys_ioctl [223] by insmod (pid 1168)
Load module stpti4_ioctl [222] by insmod (pid 1168)
* Creating device nodes in //dev/stapi
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sd 3:0:0:0: [sdb] Assuming drive cache: write through
starting network.
usb 1-1: failed to restore interface 0 altsetting 0 (error=-71)
Buffer I/O error on device sdb, logical block 0
Buffer I/O error on device sdb, logical block 0
info, udhcpc (v0.9.9-pre) started
debug, Sending discover...
size : 488386584
start main application.
HDD Mode
debug, Sending discover...
sd 4:0:0:0: [sdb] Assuming drive cache: write through
sd 4:0:0:0: [sdb] Assuming drive cache: write through
usb 1-1: failed to restore interface 0 altsetting 0 (error=-71)
Buffer I/O error on device sdb, logical block 0
Buffer I/O error on device sdb, logical block 0
compiled at 02/09/11 17:53:50 by woolee@build
dir_home "/usr"
dir_db "/var"
dir_fdb "/var"
dir_hdb "/usr/db_hdd"
dir_edb "/var"
dir_scr "/usr/share/sbox/scr"
dir_mpg "/usr/share/sbox/mpeg"
dir_mpghdd "/usr/share/sbox/mpeg"
dir_media "/media"
dir_tv "/media"
dir_streaming "/media/multi"
dir_rad "/media"
dir_mp3 "/media/mp3"
dir_divx "/media/divx"
dir_pic "/media/photo"
dir_img "/usr/share/sbox/image"
dir_fnt "/usr/share/sbox/font"
dir_locale "/usr/share/locale"
dir_plugin "/var/plug-in"
dir_pluginhdd "/usr/dir_db/plugin"
dir_addon "/var/add-on"
dir_addonhdd "/usr/dir_db/addon"
dir_tmp "/tmp"
dir_bin "/usr/bin"
dir_epgdata "/media/epg"
debug, Sending discover...
debug, Sending select for 192.168.2.23...
info, Lease of 192.168.2.23 obtained, lease time 86400
route: SIOC[ADD|DEL]RT: No such process
adding dns 192.168.2.1
info, udhcpc (v0.9.9-pre) started
debug, Sending discover...
debug, Sending select for 192.168.2.23...
info, Lease of 192.168.2.23 obtained, lease time 86400
route: SIOC[ADD|DEL]RT: No such process
adding dns 192.168.2.1
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Assuming drive cache: write through
starting vsftp daemon with /var/etc/vsftpd.conf
starting http daemon with /var/etc/httpd.conf
starting smb daemon with /var/etc/smb.conf
usb 1-1: failed to restore interface 0 altsetting 0 (error=-71)
Buffer I/O error on device sdb, logical block 0
Buffer I/O error on device sdb, logical block 0
/etc/rc.d/init.d/functions: line 19: /sbin/consoletype: No such file or directory
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
info, udhcpc (v0.9.9-pre) started
debug, Sending discover...
debug, Sending select for 192.168.2.23...
info, Lease of 192.168.2.23 obtained, lease time 86400
route: SIOC[ADD|DEL]RT: No such process
adding dns 192.168.2.1
sd 6:0:0:0: [sdb] Assuming drive cache: write through
sd 6:0:0:0: [sdb] Assuming drive cache: write through
ioctl failed.(Invalid argument)
[STAPI] SYS_Init()
[STAPI] PIO_Init()
[STAPI] EVT_Init()
[STAPI] MBX_Init()
[STAPI] DMA_Init()
[STAPI] DEMUX_Init()
[STAPI] INJECT_Init()
[STAPI] CLKRV_Init()
[STAPI] DENC_Init()
[STAPI] VTG_Init()
[STAPI] VOUT_Init()
[STAPI] LAYER_Init()
[STAPI] BLIT_Init()
[STAPI] GRAFIX_Init()
*** Error GRAFIX_Init:196: [TODO] remove text init
[STAPI] VMIX_Init()
[STAPI] VID_Init()
[STAPI] AUD_Init()
[STAPI] HDMI_Init()
[FRONT] [VFD] never use the power symbol

[STGFX] W[720]xH[576]
[STGFX] allocate osd
[STGFX] allocate osdbuf
STLAYER_OpenViewPort Sucess
STLAYER_OpenViewPort Sucess
input device name "/dev/input/event0"
img: prefix "/usr/share/sbox/image"
[PVR] open for play : 0 : 0x0
[PVR] open for record : 0 : 0x0
[PVR] open for record : 0 : 0x1
[PVR] open for play : 0 : 0x1
[PVR] open for record : 0 : 0x2
[PVR] open for record : 0 : 0x3
[TUNER] SMART_TUNER is enabled, start detect
[TUNER] try to detect 0
[TUNER] slot 0 : DVB-T
[TUNER] try to detect 1
[TUNER] slot 1 : DVB-S2
i2c_open success!(adap2),addr(0x68)
i2c_open success!(adap2),addr(0x60)
[TELETEXT] buffering thread start
slot_monitor
register RM recource 1 1 1
register AI recource 2 1 1
register CA recource 3 1 1
register MMI recource 64 1 1
[slot_monitor] smarcard resourceid = 00700041
register smartcard recource 112 1 1
epgdump: starting main thread

[LOCAL TIME] eepromdb_key_time : 137
piece: prefix "/usr/share/sbox/image"
487379970
/media is ready.
dir_home "/usr"
dir_db "/usr/dir_db"
dir_fdb "/usr/dir_db"
dir_hdb "/usr/db_hdd"
dir_edb "/usr/dir_db"
dir_scr "/usr/share/sbox/scr"
dir_mpg "/usr/share/sbox/mpeg"
dir_mpghdd "/usr/share/sbox/mpeg"
dir_media "/media"
dir_tv "/usr/var/media/tv"
dir_streaming "/usr/var/media/streaming"
dir_rad "/usr/var/media/radio"
dir_mp3 "/usr/var/media/mp3"
dir_divx "/usr/var/media/divx"
dir_pic "/usr/media/photo"
dir_img "/usr/share/sbox/image"
dir_fnt "/usr/share/sbox/font"
dir_locale "/usr/share/locale"
dir_plugin "/usr/dir_db/plugin"
dir_pluginhdd "/usr/dir_db/plugin"
dir_addon "/usr/dir_db/addon"
dir_addonhdd "/usr/dir_db/addon"
dir_tmp "/usr/tmp"
dir_bin "/usr/bin"
dir_epgdata "/usr/media"

[auto_desc] auto_desc_init
[auto_desc] condition wait....
[meta_check] done

/dev/sda2:
setting standby to 10 (50 seconds)
[RTC] clear alarm
use "/usr/share/locale/en/LC_MESSAGES/sbox.mo" as mo file.
[TZ] TZ updated with "/usr/share/zoneinfo/Etc/UTC"
hddinit success
> execute ui_init.
[STAUD] volume : 0
[PIECE] Open "volume" piece... 24 / 65
[PIECE] Open "progressbar_volume" piece... 25 / 65
[PIECE] Open "frame_mute" piece... 26 / 65
[PIECE] Open "dark_help" piece... 27 / 65
[PIECE] Open "background" piece... 28 / 65
[PIECE] Open "frame_big_radio_background" piece... 29 / 65
[PIECE] Open "frame_small_radio_background" piece... 30 / 65
[START]system locking check
[STAUD] current aud info
stream content : 0
freq : -1
### Warning aud_set_spdif_mode:270: [STAUD] can not stop audio(already stopped ??) : STAUD_ERROR_DECOP
[STAUD] spdif compressed
### Warning aud_set_spdif_mode:305: [STAUD] can not start audio(maybe started by DVM/PRM ??) : ST_ERRR
[STAUD] hdmi noncompressed
[RTC] clear alarm
[PIECE] Open "buttons_chlist" piece... 31 / 65
[PIECE] Open "button_simple_chlist_title" piece... 32 / 65
[PIECE] Open "textbox_chlist_epginfo" piece... 33 / 65
use "/usr/share/locale/en/LC_MESSAGES/sbox.mo" as mo file.
[PIECE] Open "button_base_darkmain" piece... 41 / 65
[AUTOMOUNT] automount_init ... !
[AUTOMOUNT] !! detected new usb device [sdb]
[AUTOMOUNT] ... mount [sdb]...
[AUTOMOUNT] ..... num of partition in sdb = 2
[AUTOMOUNT] ..... mount -o sync /dev/sdb1 /mnt/usb/usb0
[PVR_CORE]there is no live
[AUTOMOUNT] ..... mount -o sync /dev/sdb2 /mnt/usb/usb1
mount: /dev/sdb2 is not a valid block device
[AUTOMOUNT] ..... failed to mount , remove target directory [/mnt/usb/usb1]
usbinfo[0].host : scsi6
usbinfo[0].vendor : JetFlash
usbinfo[0].model : Transcend 2GB

[AUTOMOUNT] ... mount SUCCESS [sdb]
[PIECE] Open "msgbox_default" piece... 42 / 65
[PIECE] Open "frame_messagebox" piece... 43 / 65
[PIECE] Open "textbox_msgbox" piece... 44 / 65



Friday, 4 February 2011

VoIP and Inter-provider Dialling Codes


Background


I've got an SPA3102 VoIP adaptor, and am frustrated by the lack of proper dialling codes when using VoIP from a normal handset.

I want to be able to dial:

01234 12345678 -> Normal Landline Phone Call
#01234 12345678 -> Normal Phone over Internet
*1001 12345678 -> Call to another VoIP Phone

The problem is this: When you dial a VoIP phone, you dial

phonenumber@voipprovider.address

A phone number is easy to dial, but the @voipprovider.address is usually impossible to enter from a standard phone handset (which is exactly what you plug into an SPA3102 Analogue Telephone Adaptor)

I've tried sipbroker, as my provider gives you a prefix for it. What sipbroker does is have a directory of VoIP providers, and when you dial *pppnnnnn, it is translated to nnnnn@provider.address. So it's great for dialling out!

The problem is when calls are received. When I get an incomming call, the Caller Line ID (CLID) has the full sending address, but by the time it gets to my phone simply gives me their VoIP account number (i.e. misses off the @voipprovider.address, or *ppp), rather than something I can use to uniquely work out who has called.

I can't simply use my phone handset to return the call!

A Solution

What is needed is a mechanism where translations from @voipprovider.address to a dialling code can be standardised, and the numerical translation to be inserted into CLID numbers when calls are received.

Or at least that is what is needed at the handset end.

I'd like to be able to modify the code on the SPA3102 to enable a lookup table to be loaded. This lookup table would have a translation between the ascii addresses and numeric ones, for example:
1001 eu.voxalot.com
1002 voiptalk.org
If the number dialled were *1001999999999, the number would be translated to 999999999@eu.voxalot.com, and if a call were received from 999999999@voiptalk.org, it would be translated to *1002999999999 before being passed to the phone.

The lookup database could be standardised worldwide, however it is not essential, because the translation is done within the local modem.

The Stumbling Block

The stumbling block, as always, is access to the code! From the looks of the SPA3102, it contains GPL code, so I should be able to do the modification. My problem is that Cisco haven't released it (i.e. I believe there may be a GPL violation here).

On the CISCO website, you can request code, and you are advised that you will get a response within 2-3 business days. It's been 5 days so far, but I'm still hopeful - I've heard that they are quite responsive in this matter.

It's now 10 days, and I've submitted my third request. All that has happend so far is that Cisco appear to have added my email address to a junk mailing list, so at the moment, I'm not too happy.

Friday, 28 January 2011

My Favorite Mandriva Linux Applications


Environment


KDE
Compiz (Expo)

Internet Tools

Email: Komposer (KMail)
Chat: Kopete

Office Tools


Word Processing: LibreOffice Writer
Drawing: Dia
Graphics: GIMP

Design Tools

2D Drawing: QCad
Electronic Design: KiCad
Web Editing: Komposer

Programming Tools

Environment: Eclipse

Sound, Video, CD and DVD


Media Player: XBox Media Centre
Media Stream Ripping: gstreamer (plugin)
CD Ripping: SoundJuicer (Audio CD Extractor)
MP3 Editor: EasyTag
PodCast Downloader: gPodder
Burner: k3b
Sound Editor: Ardour (with jackd)
Video editor:

Hardware and Drivers

HP CM1415FN: cups & hplip (Printer installed through CUPS interface)

System / Scripts and Script Tools

Backup: Back In Time (network drives must be mounted)
Web Upload: ftpsync
Networking: samba
Emulator: wine
Speech Synthesis: cepstral

Disk Management


Filesystem:
/dev/sda5 on / type ext3 (rw,commit=0)
/dev/sda7 on /home type ext3 (rw,commit=0)
/dev/sda8 on /tmp type ext3 (rw,commit=0)
Network Disks:
  • Create entry for server in /etc/hosts
  • Add entry into /etc/fstab
//server/data /home/server-data cifs credentials=/etc/samba/auth.server.username 0 0
  • Create /etc/samba/auth.server.username, with contents:
username=user
password=pass
  • Chmod file so nobody can access it
Manually Re-installing

urpmi --replacepkgs system-config-printer