Friday, 31 July 2009

Understand DHCP superscope

What is Superscope?

A superscope is a collection of individual scopes that can be
managed as a single administrative unit. That's what the book
says, so it must make sense, right? Well if that doesn't make
much sense to you, join the club. Let's see if we can shed some
light on what superscopes are and what they can be used for.

A superscope is actually a collection of individual scopes. When
you group different scopes together into a single superscope, you
can do the following:

Place DHCP clients from multiple network IDs on the same
physical segment
Allow remote DCHP clients from multiple network IDs to
obtain an address from a DHCP Server
Place multiple DHCP Servers on the same physical segment,
with each DCHP Server being responsible for a different
scope.


The superscope will allow the DHCP Server to answer requests from
DHCP clients from different network IDs. Now, you might ask,
can't you just create multiple scopes on a DHCP Server and then
everything will be cool? Let's see what happens.


Multiple Scopes on a Single DHCP Server

Imagine that you have configured a DHCP Server with two scopes
serving the entire address range for the following network IDs:

192.168.1.0/24
192.168.2.0/24

The DHCP Server has a single network interface, and its IP
address is 192.168.1.5. You want the DHCP Server to answer
requests from clients on its locally attached network
192.168.1.0/24, and from the remote network, 192.168.2.0/24. The
remote DHCPRequest messages are forwarded through BOOTP Relay.
What will happen when a request from a client on the
192.168.2.0/24 makes a request to this DHCP Server?

The request is forwarded through the BOOTP Relay to the DHCP
Server. The DHCP Server checks the giaddr field in the
DHCPRequest or Discover message to see what network ID the
request is coming from. The DHCP Server compares this information
with the network ID assigned to its local interface. If the
network ID in the request and the network ID of the DHCP Server's
interface is the same, the DHCP Server will check to see if it
has a scope that can service the request. If it does have a
scope, it continues the DHCP negotiation.

However, if the request from a network ID that is different from
that of the DHCP Server, the DHCP Server will see if it has a
superscope that includes an address pool that can service that
network ID. If it does not have such a superscope, then it will
send a NACK packet, and the DHCP client must start all over
again.

How about adding multiple IP addresses to the DHCP Server's
Interface? In this way, the DHCP Server would be able to compare
the source network ID with the addresses on its interface, and
see that the source was on the name network ID as the DHCP
Server. Now it wouldn't need to look for a superscope.

This will not work! It will not work because when you bind
multiple IP address to a single adapter on the DHCP Server, the
DHCP Server service will only use the primary IP address to make
its assessments. It will not use any of the secondary IP
addresses bound to the adapter.

A solution to this problem could be to include a second NIC on
the DHCP Server and assign it a primary address on the
192.168.2.0/24 network ID. However, using a superscope is a lot
easier and a lot cheaper than adding new hardware.


What About Multinets?

A multinet is a single physical network segment that supports
multiple network IDs. A Windows 2000 DHCP Server can be used to
support multinet configurations. When would you want to configure
a multinet? Perhaps when you've used up all the IP addresses in
the scope that you've already configured on the physical segment,
and you want to add more hosts to that segment. In this case, a
multinet is your solution.

A multinet presents the same problems, and the same solutions as
our example above. You can either add multiple network interface
cards to the DHCP Server or assign an IP address on each card
dedicated to the required network IDs, or you can create a
superscope.


Multiple DHCP Servers on a Single Physical Segment

Perhaps you considered the possibility of placing multiple DHCP
Servers on the same physical segment to solve the problem of
issuing IP address for multiple network IDs. Let's take a look at
what might happen here.

We have two DHCP Servers, DHCP-1 and DHCP-2. The DHCP Servers
contain scopes that include all addresses for the following
network IDs:

DHCP-1 192.168.1.0/24
DCHP-2
192.168.2.0/24

Now imagine that a DHCP client with IP address 192.168.1.10 needs
to renew its IP address. When the client sends out its
DHCPRequest message to renew its address, that request is
broadcast to the entire segment. Therefore, either DHCP Server
can receive the message. If DHCP-2 receives the message, it will
check the network ID on the request and compare that with the
network ID on its local interface and find that the source
network ID is different from its own network ID. Since these are
different, DHCP-2 will look for a member scope in a superscope
that can service this request. Since there is no superscope to
service the request, DCHP-2 will send a NACK to the client.

After receiving the NACK, the DHCP client then has to begin the
discovery process from the beginning and send out a DHCPDiscovery
packet. Let's say that DHCP-2 is the first to respond to the
DHCPDiscover packet, and assigns the clients the IP address of
192.168.2.15. Hey look at that! The client is now a located on a
different network ID. And what's really rich is that the whole
thing could start all over again, and the DHCP client could end
up on network ID 192.168.1.0/24 again.


The Solution

The solution is to configure superscopes on both DHCP Servers,
and then exclude all the addresses on one of the scopes. For
example:

DHCP-1
Superscope
192.168.1.1-192.168.1.254
192.168.2.1-192.168.2.254
Exclude:
192.168.2.1-192.168.2.254

DHCP-2
Superscope
192.168.1.1-192.168.1.254
192.168.2.1-192.168.2.254
Exclude:
192.168.1.1-192.168.1.254

With this configuration, what happens to the DHCP client that
tries to renew its IP address, 192.168.1.10?

If DHCP-2 receives the DHCPRequest message, rather than sending a
NACK, it will just ignore the message, because it does have a
scope for the client's network ID, but just doesn't have any
addresses available because they've all been excluded. The client
will try again, and perhaps again, and sooner or later will
contact DHCP-1 and renew its IP address. The key here is that
when you configure the scope for network ID 192.168.1.0/24 and
then exclude all the addresses in the scope and make it part of
the superscope, DHCP-2 will ignore requests from clients from
that network ID.


Conclusion

If you didn't know about the utility of superscopes, you do now.
You now know that putting multiple scopes on a single DHCP Server
and letting 'er rip won't do the job, and so you have to consider
the network IDs of the clients that need to access the DHCP
Server, and the IP addresses and network interfaces on the DHCP
Server.

Superscopes allow you to not add extra network interfaces to your
DHCP and still be able to service DHCP clients from multiple
network IDs. They also allow you to place multiple DHCP Servers
on a single physical segment and prevent clients from obtaining
IP addresses on a different network ID as well as reducing the
number of NACKS send by the DHCP Server. This will help reduce
the number of NACK entries in your Event Log as well.

Wednesday, 29 July 2009

english links

Describe graphs
http://adw.hct.ac.ae/site_ilc/sites_ielts/graphsite/index.htm

Friday, 24 July 2009

howto-remotely-disconnect-a-terminal-services-session

Authenticate to the server you wish to manage. You can
easily accomplish this by mapping a network drive to a share on the
target server. Start a command prompt and type

/qwinsta /server:yourservername/

where /yourservername/ is the name or IP address of the server you wish
to manage.

In my case I ran /qwinsta /server:10.0.0.2/

<http://thebackroomtech.files.wordpress.com/2008/04/qwinsta1.jpg>

You can see the Administrator account is logged into session 0 and the
admin account is logged into session 1. To disconnect the admin session
with ID=1 I'll run the following from a command prompt:

/rwinsta ID /server:yourservername/

where /ID/ is the process ID of the sesstion you wish to terminate, and
/yourservername/ is the name or IP address of the server you wish to manage.

In my case I ran /rwinsta 1 /server:10.0.0.2/

<http://thebackroomtech.files.wordpress.com/2008/04/rwinsta.jpg>

I again ran /qwinsta /server:10.0.0.2 /which verified session 1 had been
disconnected. I confirmed that I was once again able to login to
Terminal Services.

Howto: enable remote desktop on a windows xp machine – remotely

Howto: enable remote desktop on a windows xp machine – remotely

May 18, 2007 — Julie

I've been configuring my LAN for spiceworks
<http://thebackroomtech.wordpress.com/2007/05/18/spiceworks-a-free-it-management-system/>
this afternoon. The Windows XP firewall is enabled on most of our PCs,
and I didn't want to visit each station to configure it to allow
spiceworks to inventory the machine. I'm also not big into group policy
here at the office (what the saying about the cobbler's son's shoes?) so
I didn't want to make the setting change that way.

My first idea was to use remote desktop to access the computers from my
machine. That worked fine, since I have local administrator access on
each machine… but I'd have to interrupt each user's work, log them off,
make my firewall adjustments, then tell them it's okay to log on now…
assuming that I could even get into their machines remotely.

I needed a solution for users with remote desktop disabled. If your
remote user has administrator access to their machine, have them click
on Start – Run and type:

netsh firewall set service remoteadmin enable

netsh firewall set service remotedesktop enable

[note: remoteadmin = remote administration, while remotedesktop = remote
assistance /and/ remote desktop]

You can also enable remote desktop over the network via regedit if you
have administrator rights to the remote machine:

1. Run *Regedit*
2. Select *File* –> *Connect Network registry*
3. Enter the *name* of the remote computer and select *Check Name*
4. At the bottom of the registry tree you will see *2 Hives* appear
*Hkey_Local_Machine* and
*Hkey_Users* (under the remote computer's name)
5. Goto *hklm\system\currentcontrolset\control\terminal
server\FdenyTSConnections=1*
6. Change the *FdenyTSConnections* to *0*
7. Attempt to *Re-Login*

This worked okay, but I like to implement the most elegant solution
possible.

So I fired up the command line on my local machine, and used psexec
<http://www.microsoft.com/technet/sysinternals/utilities/psexec.mspx> to
configure the firewall service on the remote machine via netsh. The
users never even knew I was working on their computer, which is fine by me.

To enable remote access to a machine via the command line, type:

psexec \\remotecomputername netsh firewall set service remoteadmin enable

psexec \\remotecomputername netsh firewall set service remotedesktop enable

If you aren't familiar with the PStools
<http://www.microsoft.com/technet/sysinternals/FileAndDisk/PsTools.mspx>
suite of utilities, and you like administration from the command line,
you need to check out the Sysinternals web site
<http://www.microsoft.com/technet/sysinternals/default.mspx>. Too bad
they were acquired by Microsoft in 2006.

Tuesday, 14 July 2009

Unix-Koans

very interesting!!

http://www.catb.org/~esr/writings/unix-koans/

Compiling the Linux Kernel

SOURCE: http://www.techenclave.com/printthread.php?t=5099
---------------
Compiling the Linux Kernel [Version 2]

Reasons to recompile your Linux kernel
1.You’ve bought some new hardware and want support for it in Linux.
2.You want to access features of Linux that have been turned off.
3.Something is fishy in your operating system.
4.You want to show off to all your friends and brag about how you are a (false) Linux guru.
5.You have nothing better to do.
6.You really want to.

Compiling the Linux kernel isn’t all that difficult really, but it is admittedly time consuming.
I will divide this tutorial into three parts:
1. Pre-configuration
2. Configuration
3. Post-Configuration

I have used kernel version 2.6.12. This tutorial is specific to 2.6.12 though other kernels in 2.6.x are probably similar. Download the latest version of the Linux kernel from www.kernel.org

I have tried this on two Linux distros :
1. A 32 bit PCQ Linux 2004 (Fedora core based)
2. FC3 – 64 bit. Sadly I was unsuccessful here as I will later explain.

Target Audience:
I have also assumed that the computer in question is a (possibly) dual boot home PC. This document is not really suitable for advanced users. Laptop users should also avoid messing around with their kernel too much – previous versions (2.4.x) have been known to irreparably damage laptops when not configured properly.

The configuration process depends a lot on the hardware you are using.
My setup is:
AMD 64 3200+
512 MB DDR 400 RAM
Nvidia nforce3 150 based motherboard.
Onboard sound Realtek ALC 658 (which, unfortunately is not easily configured in Linux)
ATI Radeon 9600 pro.
Silicon Image 3512A (SATALink)


(Some of you may have seen my previous guide over here. This one, I hope, is more accurate and comprehensive.)

Pre-Configuration

1. Visit www.kernel.org and download the latest stable kernel (at the time of writing it was 2.6.12).
2. Copy the downloaded kernel to /home/USERNAME
3. Uncompress the kernel
4. bunzip2 linux-2.6.12.tar.bz2 if you have the bzipped format
5. gunzip linux-2.6.12.tar.gz if you have downloaded the gzipped format
6. tar –xvf linux-2.6.12.tar
7. Change to the linux directory: cd linux-2.6.12
8. Make mrproper to remove any old configuration files or object files.
i. make mrproper
9. If you want to use an older configuration file then copy it over to .config. If you want a reference configuration file then you can use the config file in the appropriate subdirectory of ~/linux-2.6.12/arch. Actually, if you do nothing, the reference config file is read from the appropriate arch directory.
10. Issue one of four commands
make oldconfig (asks you to add new options as yes/no/module –not recommended)
make menuconfig (uses a terminal not unlike your bios screen)
make xconfig (uses GUI)
make config (first edit .config then run this command – very advanced users only)
Personally I go with make menuconfig. It simple in its design and easy to understand considering that there are well over a thousand options distributed under various subheadings.
If you run a system with KDE running, use make xconfig (issue it from xterm or any other terminal emulator, not the console). It looks quite attractive.
You may run in to problems with this in some cases, try make gconfig for GNOME based GUIs.

Post Configuration
In interests of not scaring the hell out of you, I will tell you the post-configuration section first. Firstly, check the dependencies (whether you have all the tools you need). Information on that can be found in ./Documents/changes.txt file. If you have a distro running any 2.6.x kernel it should be fine.

1. After running one of the make *config methods and saving the .config file you have to make the kernel (actual compilation process).
2. The command is: make.
3. Beware - the above command can take a little while. On my computer it took 6 or 7 minutes (on the 64 bit distro) and 18 minutes on the 32 bit PCQ Linux (there is some sort of bug in that, INIT keeps on restarting itself). It may take longer on slower computers. Don’t worry if it throws up warning messages. These are to do with the Linux source code and there is nothing you can do about them (unless, say, you are a Linux kernel developer).
4. change to root: su
5. Copy the image to /boot directory: cp /home/USERNAME/linux-2.6.12/arch/i386/boot/bzImage /boot/vmlinuz-2.6.12
6. If you are compiling on some architecture other than i386 (e.g. x86_64), replace the i386 above with the appropriate architecture.
7. Install the modules by issuing the command: make modules_install .
8. Copy the system map to /boot directory by issuing the command: cp /home/USERNAME/linux-2.6.12/System.map /boot/System.map-2.6.12
(NOTE: needed only for 3rd party boot managers)
9. Change to the /boot/grub directory : cd /boot/grub
10. Edit grub.conf and include the following lines:
title KingKrool’s Linux kernel 2.6.12
root (hdx, y)
kernel /boot/vmlinuz-2.6.12 ro root=/dev/hdpn
The first line is the title to appear in the Grub screen.

The second line gives the drive on which grub is installed. x and y must be replaced with the appropriate values. Eg. For the second logical drive on the first physical drive x = 0, y = 1. This is not fixed though. The best way would be to boot into Linux (using the old kernel) and use the hardware browser (in System tools of RH /FC distros). Depending on your installation there will be two or three linux partitions. If there are three the smallest will be the boot partition, the largest partition is root and third is swap. If there are two then the larger one is boot+root and second is swap.
If the label given is /dev/hdb3 then x = 1, y = 2.

The third line gives the kernel location. If you have a dedicated boot partition then /boot is not necessary in the path, otherwise the full path is required (i.e. all paths are relative to /boot). In root=dev/hdpn p and n are from above.
If the drive was listed as /dev/hda8 then p = a n = 8 (copy as is).

The simplest way to configure the kernel is to copy the existing code for any Linux kernel and just make a few modifications to the kernel image path.

If you have compiled support for the filesystem of the root partition as a module then you will have to add the following line at the end (4th line)
initrd (/boot)/initrd-2.6.12.img
(/boot) is used only if boot and root partitions are the same.
The file intrd-2.6.12.img has to be made by issuing the command
/sbin/mkinitrd /boot/intird-2.6.12.img `kernel version` where `kernel version` is 2.6.12 to which you append the string (if any) entered in local version.
Even if you have not compiled the FS as a module, it is still recommended to create an initrd – it is needed on several distributions, and will be necessary in the future due to the deprecation of devfs in the kernel (just take my word for it).
Save the file and exit. Reboot your computer and you are ready to use the new kernel!

Remember to leave the old kernel entries intact, that way if you have problems, you can always go back to the old kernel.



CONFIGURATION
NOTES:
Kernel modules are small pieces of compiled code which can be inserted in the running kernel, rather than being permanently built into the kernel. You use the "modprobe" tool to add (and sometimes remove) them.

Only some options can be compiled as modules. In menuconfig, they are marked < >. Press M to compile as a module. In xconfig, click multiple times. A tick means compiled in, a dot means module.

The [….] (eg. [EXPERIMENTAL]) refers to the option name as seen in the .config file. It will be prefaced by CONFIG_ (eg. CONFIG_EXPERIMENTAL=y). Just a little bit of trivia.


Code Maturity Level Options
Prompt for development and/or incomplete code/drivers
[EXPERIMENTAL]
Purpose: You have the option of using experimental (alpha-test) drivers and obsolete drivers.
Suggestion – exclude. However, if you are sure of what you are doing you can include it. This is only for developers or people who have an excellent idea of their hardware configuration. NOTE: you might need to enable this for SATA as explained at the end of the configuration section.

Select only drivers expected to compile cleanly
[CLEAN_COMPILE]
Purpose: If the previous option was selected, then this one appears. Select this
option when you do not even want to see the option to configure known broken drivers.
Suggestion – this option should not even show up, as, in general, the previous option should not have been included.

General setup
Local version - append to kernel release
Purpose: Append an extra string to the end of your kernel version.
This will show up when you type uname.
Select this and type in a string (up to 64 characters)
Suggestion – If you want to customize your OS, including this will really earn you geek points with your techie friends.

Support for paging of anonymous memory
[SWAP]
Purpose: Allows the kernel to have more virtual memory than RAM using swap files or swap devices.
Suggestion – Definitely build this in. If you have loads of RAM you might avoid this, but it is in general a bad idea to try to exist without a swap file. Exclude it on embedded systems, or real time systems only.

System V IPC
[SYSVIPC]
Purpose: This is a feature from the Unix background that Linux has come from. Required for many programs.
Suggestion – build in. There are many common programs that require IPC (inter process communication) provided by this feature.

BSD Process Accounting
[BSD_PROCESS_ACCT]
Purpose: Allows user level programs to specify that process accounting information be stored.
Suggestion – build in.

BSD Process Accounting version 3 file format
[BSD_PROCESS_ACCT_V3]
Purpose: This one show up only if you included the previous option.
Suggestion – leave it out for now.

Sysctl support
[SYSCTL]
Purpose: Allows modification of certain kernel parameters on the fly.
Suggestion – build in. In case of rescue disks it can be left out.

Auditing support
[AUDIT]
Purpose: Required by various kernel subsystems such as SELinux.
Suggestion – build in. It probably won't hurt.

Enable system-call auditing support
[AUDITSYSCALL]
Purpose: Enable low-overhead system-call auditing infrastructure. (appears only if previous option was selected)
Suggestion – might as well build this one in too.

Kernel Userspace Events
[KOBJECT_UEVENT]
Purpose: enables the kernel userspace event layer.
Suggestion – build in.

Kernel .config support
[IKCONFIG]
Purpose: This option enables the complete Linux kernel ".config" file
contents to be saved in the kernel. This information can be extracted from the kernel image file with the script scripts/extract-ikconfig It can also be extracted from a running kernel by reading /proc/config.gz if enabled.
Suggestion – built in. Makes it easier to compile your kernel the next time as you can just load the previous .config and select the changes.

Enable access to .config through /proc/config.gz
[IKCONFIG_PROC]
Purpose: This option enables access to the kernel configuration file through
/proc/config.gz.
Suggestion – build in.
Configure standard kernel features (for small systems)
[EMBEDDED]
Purpose: This is for non standard kernels.
Suggestion – leave it out.

Loadable Module Support

Enable loadable module support
[MODULES]
Purpose: Allows you to build a modular kernel. If you don't want to use modular kernels exclude it. Generally it is a good idea to keep it as you can then build a smaller (and faster) kernel this way.
Suggestion – build in.

Module Unloading
[MODULE_UNLOAD]
Purpose: Enables module unloading facility. All modules may not be able to make use of this feature (though that will not cause any errors).
Suggestion – build in.

Source checksum for all modules
[MODULE_SRCVERSION_ALL]
Purpose: Used by module developers.
Suggestion – leave it out.

Automatic Kernel Module Loading
[KMOD]
Purpose: Allows certain parts of the kernel to automatically load kernel modules using modprobe. It’s probably a good idea to include this unless you are sure of what you are doing.
Suggestion – build in.

Processor type and features

Subarchitecture type – Select PC Compatible (unless you are running non x86 systems)

Processor Family – Your processor should be automatically detected, but do scroll down the list to make sure that it has been selected correctly. Previously AMD64 was detected as K7 rather than K8 (in 2.6.6). Make sure that you choose the correct case (you can safely choose a lower level but never select a configuration higher than your own). Failure to make a proper choice can lead at best to a loss of features and at worst a kernel that fails spectacularly.

Generic x86 support
[X86_GENERIC]
Purpose: Includes Optimizations for processors other than the one selected.
This is required only if you wish to distribute the kernel you have compiled to machines of another architecture.
Suggestion – exclude.

HPET timer support
[HPET_TIMER]
Purpose: Uses the new HPET timer for the kernel's internal timing rather than the venerable 8254 (Anyone who has done a microprocessor techniques course will tell you that the 8254 was made way back in the late 70s and is still in use). It is safe to include this feature as it is only enabled if the platform supports it.
Suggestion – build in.

Provide RTC interrupt
[HPET_EMULATE_RTC]
Purpose: Related to the previous option but there is no documentation on the feature.
Suggestion – leave it out, I guess. It appears to have to do with emulating the real time clock (provided by/using?) the HPET (I infer this from the name).

Symmetric multi-processing support
[SMP]
Purpose: This enables support for systems with more than one CPU (symmetric multiprocessor systems).
Suggestion – if you have more than one processor in your system include this.
This is required to use the hyper-threading feature on processors that support the feature.

Preemptible Kernel
[PREEMPT]
Purpose: Allows low priority processes to be preempted even while in kernel mode (For further explanation read up about the linux process management from a good book).
Suggestion – built in for desktop systems, RTS or embedded.

Preempt The Big Kernel Lock
[PREEMPT_BKL]
Purpose: This option reduces the latency of the kernel by making the
big kernel lock preemptible (what does that mean?). This arises from the previous option.
Suggestion – build in.

Local APIC support on uniprocessors
[X86_UP_APIC]
Purpose: Allows uniprocessors with a local APIC to use this APIC. It can be safely enabled with no slowdown even if it is not present (some of you may have seen an option in the bios dealing with this).
Suggestion – build in.

IO-APIC support
[X86_UP_IOAPIC]
Purpose: this option appears only if you have selected the last one.
Suggestion – Similar to the last option and can be built in. If you have an SMP, it is likely that you will require this.

Machine Check Exception
[X86_MCE]
Purpose: Returns errors to the kernel if the processor detects an error (overheating etc)
Suggestion – built in is a safe option for everyone except Pentium users. Some older Pentiums (Pentium 1s) have a design flaw and report false MCE events. So Pentium users should be cautious while enabling this option. 386s and 486s do not have this feature, so in such cases this option can be excluded (it is still safe to enable it though).

Check for non-fatal errors on AMD Athlon/Duron Intel Pentium 4
[X86_MCE_NONFATAL]
Purpose: Similar to above, but returns errors specific to these processors.
Suggestion – module.

Check for P4 thermal throttling interrupt
[X86_MCE_P4THERMAL]
Purpose: Prints a message whenever the P4 enters thermal throttling.
Suggestion – user's choice.

Toshiba Laptop Support
[TOSHIBA]
Purpose: Useful only on Toshiba Laptops having a Toshiba bios.
Suggestion – exclude unless your system satisfies the above criterion.

Dell Laptop Support
[I8K]
Purpose: Useful only on the Dell Inspiron 8000.
Suggestion – exclude unless your system satisfies the above criterion.

Enable X86 board specific fixups for reboot (X86_REBOOTFIXUPS)
Purpose: This enables chipset and/or board specific fixups to be done
in order to get reboot to work correctly.
Suggestion - Currently, the only fixup is for the Geode GX1/CS5530A/TROM2.1. Combination. Others should exclude.

/dev/cpu/microcode – IA32 CPU microcode support.
[MICROCODE]
Purpose: If you say Y here and also to "/dev file system support" in the
'File systems' section, you will be able to update the microcode on
Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II,
Pentium III, Pentium 4, Xeon etc.
Suggestion – exclude. I have never heard of anyone ever using this.

/dev/cpu/*/msr – Model specific register support
[X86_MSR]
Purpose: Enables privileged processes access to MSRs.
Suggestion – module.

/dev/cpu/*/cpuid – CPU information support
[X86_CPUID]
Purpose: Access to the x86 CPUID instruction.
Suggestion – module.

High memory support
[NOHIGHMEM / HIGHMEM4G / HIGHMEM64G]
Suggestion – If you have not more than 1GB RAM then say “off”.
1- 4 GB then select 4GB
Up to 64 GB then select 64 GB. (Only on systems supporting PAE!)

Allocate 3rd level page tables from high memory.
[HIGHPTE]
Purpose: Setting this option will put user space page tables in high memory.
This avoids the waste of low memory space in systems having large amount of RAM.
Suggestion – build in. This option appears only if you have selected the previous option.

Math Emulation
[MATH_EMULATION]
Purpose: Emulates a math coprocessor on systems which do not have one.
Suggestion – exclude, unless you are running a 386 or 486SX without a coprocessor (unlikely).

MTRR support
[MTRR]
Purpose: Memory Type Range Registers may be used to control access to AGP and PCI buses. Improves performance of video cards.
Suggestion – build in.

Boot from EFI support
[EFI]
Purpose: This option has a meaning only on IA64 systems.
Suggestion – exclude.

Enable seccomp to safely compute untrusted bytecode
[SECCOMP]
Purpose: This kernel feature is useful for number crunching applications
that may need to compute untrusted bytecode during their
execution.
Suggestion – build in.

KingKrool 26 Jun 05 07:24 PM
Power Mangement Options

This section is highly system dependent. I would advise going through each option carefully. Many of the options are only for mobile systems or those running on mobile Pentium or Athlon processors.

Power Management support
[PM]
Purpose: Enables ACPI / APM
Suggestion – build in.

I won't describe the APM/ACPI options. If possible, use ACPI (some older systems will only support APM, others may not even support that). APM is deprecated.

CPU Frequency scaling
[CPU_FREQ]
Purpose: CPU Frequency scaling allows you to change the clock speed of
CPUs on the fly. Note that this driver doesn't automatically change the CPU
clock speed, you need to either enable a dynamic cpufreq governor
after boot, or use a userspace tool.

Enable CPUfreq debugging
[CPU_FREQ_DEBUG]
Suggestion – exclude

CPU frequency translation statistics
[CPU_FREQ_STAT]
Purpose: This driver exports CPU frequency statistics information through sysfs file system
Suggestion – exclude.

Default CPUFreq governor
This option sets which CPUFreq governor shall be loaded at
startup. If in doubt, select 'performance' ie. [CPU_FREQ_DEFAULT_GOV_PERFORMANCE].

Enable 'powersave' governor [CPU_FREQ_GOV_POWERSAVE],
'userspace' governor for userspace frequency scaling [CPU_FREQ_GOV_USERSPACE] and 'conservative' cpufreq governor [CPU_FREQ_GOV_CONSERVATIVE]. In case of desktop systems (excluding AMD systems), enable 'ondemand' cpufreq policy governor [CPU_FREQ_GOV_ONDEMAND] instead of 'conservative'.

CPUFreq processor drivers
Enable the appropriate driver (if any) for your system.

PCI Support
[PCI]
Purpose: Required if the system bus is PCI (as it is on almost all systems from P1 upwards).
Suggestion – build in.

PCI Access Mode – any [PCI_GOANY].

PCI Express support
[PCIEPORTBUS]
Purpose: This automatically enables PCI Express Port Bus support
Suggestion – if you have PCIE on your motherboard, build this in.

Message Signaled Interrupts (MSI and MSI-X)
[PCI_MSI]
Purpose: This allows device drivers to enable MSI (Message Signaled
Interrupts).
Suggestion – exclude for now, it is a new feature.

Legacy proc/pci interface
[PCI_LEGACY_PROC]
Purpose: Legacy support. Newer tools are now in use (ie lspci).
Suggestion – exclude.


PCI device name database
[PCI_NAMES]
Purpose: The kernel contains a database of all known PCI devices.
Disabling this feature replaces the device names by device IDs. It also reduces kernel image size by 80KB (though this memory can be freed at runtime).
Suggestion – build in. If you are creating a boot disk then it can be excluded.

PCI Debugging
[PCI_DEBUG]
Purpose: Produces PCI debug information and writes it to the system log.
Suggestion – exclude.

ISA Support
[ISA]
Purpose: Required only if you have ISA slots in your system.
Suggestion – Most modern systems do not have ISA slots (the Intel 875 may be an exception). It can, therefore, be excluded in such systems.
If your system does have ISA slots then include this as well as all subsequent options that appear on enabling it (except VESA Local Bus priming).

MCA Support
[MCA]
Purpose: Required on systems having Microchannel architecture.
Suggestion – This is supported only on a few systems from IBM. For most systems it should be excluded.

NatSemi SCx200 support
[SCx200]
Suggestion – Required only if you have the National Semiconductir
SCx200 processor. Exclude for most systems.

PCMCIA/ Cardbus Support
Purpose: This sub menu includes several options. It is necessary only on laptops.
Suggestion – exclude on desktop systems. On laptops it should be built in, giving access to several other options not described here.

Executable File Formats

Kernel Support for ELF binaries
Purpose: Required for using Binaries compiled in the ELF format. As the conversion to ELF was started in 1995, this option can be considered critical.
Suggestion – built in.

Kernel support for a.out and ECOFF binaries
Purpose: Required to run certain old binaries which were in the a.out format which is now dead (this has nothing to do with the fact that the default name of all files compiled by gcc is a.out, that was just a convention which is still followed). Needed only if you have really old binries lying around.
Suggestion – exclude. If absolutely necessary then include it as a module.

Kernel support for Miscellaneous binaries
Purpose: Plug wrapper-driven binary formats into the kernel.
Suggestion – built in.
Device Drivers
This is one of the weirdest parts of the configuration, and unfortunately, one which I can't help you with. There are hundreds if not thousands of options, all of them system dependent. I will give you a few tips though.

If you started your configuration using an existing reference .config (whether of the current running kernel or from /arch/... subdirectory) then you should have it a bit easier.

Include Parallel support (module) if you use the parallel port on your PC. Include PC-style hardware under this, but not Multi-IO cards.

Include PnP support – this is important.

Under block devices -
Normal floppy disk support – include
Parallel port IDE device support – exclude (unless you use an external CDROM / HDD connected to your parallel port.
Include Loopback device support (module)
RAM disk support – include
Leave the default values of RAM disk number and size.
Initial RAM disk (initrd) support – include.
Support for Large Block Devices – exclude (do you have a 2 TB disk?)
Packet writing on CD/DVD media – include (module)
ATA over Ethernet support – exclude (most of the time)

Use the CFQ I/O scheduler and exclude the others

ATA/ATAPI/MFM/RLL support – DEFINITELY include unless you have a pure SCSI system. Haven't heard of those for a long time.

Support for SATA [BLK_DEV_IDE_SATA] under Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support – exclude, as it is deprecated. Do not worry if you have SATA hard drives, there is another driver for them.

Include:
IDE/ATAPI CDROM support
IDE/ATAPI FLOPPY support
PCI IDE chipset support
generic/default IDE chipset support
Generic PCI bus-master DMA support
Use PCI DMA by default when available
AMD and nVidia IDE support (nForce users only)
Your SATA controller may be listed here, so include it as well.
For any chipset you don't have – exclude it.

Include SCSI device support. It IS required for USB storage. Also include legacy /proc/scsi/ support and SCSI disk support (for USB storage). Exclude everything else under SCSI and its submenus (except SATA support).

Multiple devices driver support - exclude. Few people use software raid or LVMs on desktops.
I2O support – exclude.

Do not disable networking, it is required even by some non-network programs.
Networking options – leave the defaults, but most people can get rid of Appletalk and IPX.
Choose the correct n/w card option - "Tulip" family network device support is used by NC100 based cards.

Do you have IR ports, Token Ring, Bluetooth, FDDI, 10Gbps networks? Use common sense and exclude everything in these sections.

Wireless LAN – include only on systems with a wireless card of some type. You will still need drivers.

WAN interfaces support – exclude. No one connects to a WAN using an interface card on a desktop. Very rare.

ISDN support – do you use ISDN? I don't, nor do I know anyone who does anymore.

Character devices -
do you need non standard serial support? – mostly no.
Intel/AMD/VIA HW Random Number Generator support – yes if you have an i8xx series chipset. Presumably it should work for i9xx series as well, but I can't be sure of that.
/dev/nvram support – include.
/dev/agpgart – build in (module).

Lookout for your chipset driver for AGP support in character devices and make sure to include it (all others can then be excluded). Specifically, there is support for i865 and nforce 1 and 2, SIS and VIA, apart from several others (If you have nforce3 you can try nforce2 driver).

If you have a Radeon then include its driver under Direct Rendering Manager of Character Devices.

Configure Graphics support carefully. It can cause problems otherwise.

Under sound, select ALSA, not OSS (which is deprecated).
In ALSA, under PCI devices, select your soundcard. There is support for quite a few soundcards – Aureal, Audigy, SBLive, AC97, Intel HD Audio and many others.

USB support should also be configured carefully. Most people now have USB 2.0, so it along with USB 1.1 should be selected. Include USB storage if you are likely to use a pen drive.

Remember this section is largely about common sense. If you don't have need for a particular feature, or do not have certain hardware, then in most cases it is safe to switch it off. This however, does not apply to the networking and SCSI. Be careful there.

File Systems
This is another large section, so I'll just mention whether you should include an option or not.

Second Extended fs support – build in for Redhat/Fedora etc distros.
EXT2 extended attributes – exclude.
EXT3 journalling file system support - build in for Redhat/Fedora etc distros.
EXT3 extended attributes – exclude.
(extended attributes must be included if you want to use SELinux or the like)
JBD debugging support – exclude.
Reiserfs support – include on SUSE, Mandrake and others.
JFS support – exclude.
XFS support – exclude.
Minix filesystem support – exclude.
ROM filesystem support – exclude.
(Some people might need these, but if you are such a person, you will know how to configure them)
Quota support – exclude. Only needed if you want to set limits on user disk usage. Again, an advanced option, not present on most home PCs or single user desktops.
Kernel automounter support – exclude.
Kernel automounter support v4 – exclude. Needed only on large networks.

CD/DVD ROM filesystems – use built in for all the options in the submenu.
DOS/FAT/NT Filesystems --->
MSDOS fs suport – exclude (usually, except in cases where linux is mounted from a DOS partition).
VFAT fs support – include.
NTFS support – build in.
NTFS debugging support – exclude.
NTFS write support – exclude. It doesn't do much.
(The above options should actually be included as modules, but I would recommend not doing so the first time. With experience you will learn which features should generally be compiled as modules and then these can be configured accordingly).

Pseudo Filesystems-->
/proc file system support – include.
/dev/pts extended attributes – exclude. Again, you will know if you need it.
Virtual memory file system support – include.
HugeTLB filesystem support – exclude. Not sure what this does.

Miscellaneous filesystems-->
All the options in the submenu can generally be excluded. They are not commonly used on Linux/Windows dual boot systems.

Network filesystems support-->
Again, all these options can usually be excluded. They are required only on networked computers. If you are on a networked system then your administrator should be able to tell you which filesystems are required. Accordingly support can be compiled in. Possibly you can include SMB file system support.

Partition types--> Only two options are to be included:
1. Advanced partition selection.
2. PC BIOS support.
If you use dynamic disks in Windows 2000 or later, then you should also include Windows Logical Disk Manager support.

Native Language Support--> exclude all except USA/Canada and NLS ISO 8859-1 + NLS ISO 8859-15. This is to do with codepages (non-english filenames, not contents).

Kernel Hacking
All the options in this menu are advanced features. It is best to exclude them from the kernel.

Security Options
Enable different Security models
Purpose: This allows you to use security models other than the default linux security model.
Suggestion – exclude. You may want to include this however if you are interested in using SELinux (security enhanced).
Enable access key retention support – exclude.

Cryptographic Options
It is safe to include all these options as modules. Don't build them in, otherwise your kernel size will increase dramatically. Compiling these options into the kernel is recommended only if you use them very frequently (e.g. All your documents are encrypted using one of these algorithms).
Even if you don't include them, third party tools can provide these services.

Library Routines
Both options can be included safely.

After you are finished save the file and proceed to the Post Configuration section given earlier.

The above configuration procedure was on the 32 bit system, when you try this on a 64 bit system, different options are available.

-The processor options are different.
-There are different ACPI options.
-CPU frequency scaling now has K8 PowerNow! (Cool n Quiet)
-Funnily enough, there is no option for initrd. Add it in manually to the .config file as:
CONFIG_BLK_DEV_INITRD=y
-File formats: there is no longer an a.out format in the 64 bit world. However, there is IA32 emulation, as well as IA32 a.out emulation.

Unfortunately, I was unable to get the kernel up and running on FC3 (64 bit). FC3 has some difficulties which I was unable to get around. For one, it is necessary to make an initrd (initial RAM disk). And there was no option in the kernel to enable it. Even after putting it in manually I was unable to boot up. Seems like some bug. If anyone has any success (on a 64 bit FC3) please do post here.
Funnily, I used the 64 bit kernel, with a 32 bit Distro (CentOS 3.6) and it booted up properly.

If you want to enable SATA then try this (it did not work on the 32 bit FC1, but did on the 64 bit kernel + CentOS combo – CentOS root was located on the SATA hdd):

In code maturity options, include “Prompt for development and/or incomplete code/drivers”, but exclude “Select only drivers expected to compile cleanly”. Then under ATA/ATAPI/MFM/RLL include support for your SATA chipset (if listed). Then go to SCSI, enable support for SCSI hard disks. Got to SCSI low level drivers, enable SATA hard disks and enable support for your SATA chipset/controller listed under that (sata_sil, sata_nv, etc.).

Well that's it! Enjoy!!!!

Monday, 13 July 2009

Ebooks sites

booktraining.net

Friday, 10 July 2009

msfweb on slackware 12.2

install metasploit packagge from slackbuild.org
install rubygem package
run the command "gem install rails"

Wednesday, 8 July 2009

Favorite slackware/linux links

http://wiki.linuxquestions.org/wiki/Slackware-FAQ
http://www.vcn.bc.ca/~dugan/setting-up-slackware.html
http://www.brunolinux.com/
http://humanreadable.nfshost.com/sdeg/index.htm
http://slackworld.berlios.de/links.html
http://www.linuxpackages.net/howto.php
http://www.basicconfig.com/
http://www.linuxhomenetworking.com/
http://www.bilbos-stekkie.com/slack_init/en/index.html
http://slackwiki.org
http://www.linuxconfig.org/
http://www.lugatgt.org/articles/

Tuesday, 7 July 2009

mouse wheel in slackware 12.2

As root edit /etc/X11/xorg.conf for slackware 12. The syntax of the file is the same for both.

Find the 'Core Pointer' section. In there you will have something like this:

Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"


Protocol and device might be different on yours if, for example, you have a USB mouse.

Add two lines here to make it look like this:

Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"


Restart the X server.

Enjoy abusing your wheel :)

Type vietnamese in slackware with scim & skim

install scim
install skim
connfig as instructed at
http://www.scim-im.org/wiki/documentation/installation_and_configuration/all/installation_from_the_source

install scim-unikey

restart computer.

Thursday, 2 July 2009

Failed to lock the file! VMWare virtual disk (vmdk)

just delete .lck folders

Wednesday, 1 July 2009

Intel wifi 5100 with Slackware 12.2

Just get the new kernel 2.6.30 and compile it. Now i can get injection working!!!

Friday, 26 June 2009

Injection with Intel Wireless (WiMax/)WiFi Link 4965AGN/51x0AGN, Intel Ultimate-N (WiMax/)WiFi Link 53x0AGN

Intel Wireless (WiMax/)WiFi Link 4965AGN/51x0AGN, Intel Ultimate-N
(WiMax/)WiFi Link 53x0AGN

The first reported success and how to do it is in this thread message.

A more recent success story is in this thread including detailed steps.
This one summarizes the the steps for Ubuntu 8.04. Another one.
Detailed HowTo

This is how you can get the Intel WiFi Link 4965AGN/5xxxAGN card to
inject under Linux using the iwlwifi drivers. Please note that the
injection is still under development, but is possible at this point.
Fake auth doesn't work but there's a workaround: using wpa_supplicant.
Deauth seems to be buggy.

What you need :

*
a kernel of 2.6.25 or higher,
*
the kernel sources,
*
the compat-wireless-2.6 package (for 2.6.27 and up) or the
compat-wireless-old package (for 2.6.25/2.6.26),
*
aircrack-ng => RC1 (=> SVN rev. 1531 if you want to use fakeauth),
*
basic development tools (make, gcc, ...),
*
injection patches for mac80211 (all kernels) and the drivers (only
for 2.6.25/.2.6.26).

Please note that the instructions provided here are suited for generic
Linux. Your distribution, especially if it uses some kind of advanced
package managing (Debian, Ubuntu, etc.), may have the needed packages in
its repositories (so that you don't need to compile them manually from
source).
Preparing the kernel

You need to make sure that your kernel configuration includes these
options. Pay attention which are to be build as modules and which can be
built-in.

Networking -> Wireless :
[M] Improved wireless configuration API
[*] nl80211 new netlink interface support
[*] Wireless extensions
[M] Generic IEEE 802.11 Networking Stack (mac80211)

If they exist, these should be either unchecked or modularized:

[M] Generic IEEE 802.11 Networking Stack (DEPRECATED)
[M] IEEE 802.11 WEP encryption (802.1x)
[M] IEEE 802.11i CCMP support
[M] IEEE 802.11i TKIP encryption
[M] Software MAC add-on to the IEEE 802.11 networking stack

You must also enable "Automatic kernel module loading" under "Loadable
module support", otherwise you will have module dependency errors.

If you are running a distro-supplied kernel, and find that these options
are not configured as described here, then you will need to recompile
your kernel with these options corrected. It is not enough to just
change these options in the kernel configuration, as you need these
options to be true for the running kernel.

At this point, it is assumed that you've got your kernel properly
configured, up and running right now.
Compiling the drivers

The development versions of the drivers are a part of the
compat-wireless project. We will need the latest version of the package,
which can be obtained here:

http://wireless.kernel.org/en/users/Download

Select compat-wireless-2.6 if you are using 2.6.27 or newer, or
compat-wireless-old if you are using 2.6.25 or 2.6.26. Download the
tarball to your home directory. Having downloaded it, we need to
download the patches for the iwlwifi drivers (only for 2.6.25/.26) and
the frag+ack patch for mac80211. The frag+ack patch is available on
http://patches.aircrack-ng.org (get the 2.6.28-rc4-wl version for
2.6.27+ and the 2.6.26-wl version for 2.6.25/.26). The driver patch (not
needed for 2.6.27 and up) is available here :
http://pastebin.com/f7bc96631.

Then, execute these commands:

2.6.25/.26 (not sure if this is still correct):

cd ~
tar xjf compat-wireless-old.tar.bz2
cd compat-wireless-old-2009-*
wget http://pastebin.com/pastebin.php?dl=f7bc96631 -O
iwlagn-injection.patch
wget http://patches.aircrack-ng.org/mac80211_2.6.26-wl_frag.patch
patch -p1 < iwlagn-injection.patch
patch -p1 < mac80211_2.6.26-wl_frag.patch
make -j4
make unload; rmmod ssb mac80211 cfg80211 [as root!]
make install [as root!]
echo options iwlagn swcrypto=1 >> /etc/modprobe.d/options [as root!]
make load [as root!]

2.6.27 and up:

cd ~
tar xjf compat-wireless-2.6.tar.bz2
cd compat-wireless-2009-*
wget
http://patches.aircrack-ng.org/mac80211_2.6.28-rc4-wl_frag+ack_v3.patch
patch -p1 < mac80211_2.6.28-rc4-wl_frag+ack_v3.patch
wget
http://patches.aircrack-ng.org/mac80211-2.6.29-fix-tx-ctl-no-ack-retry-c
ount.patch
patch -p1 < mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
make -j4
make unload [as root!]
make install [as root!]
echo options iwlagn swcrypto=1 >> /etc/modprobe.d/options [as root!]
make load [as root!]

NOTE: mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch is not needed
in the bleeding-edge compat-wireless-2.6, only in
2.6.29/2.6.30/compat-wireless-2.6.30.

That should get you the patched driver module up and running, you should
also see "wlan0" and "wmaster0" as your interfaces, the first one should
also be available by using iwconfig.
Injecting

Due to the way how mac80211 works, you cannot inject on the card's
"stock" interface - wlan0. This is where the airmon-ng tool comes in
handy. It will create a mon0 interface suited for injecting after
running it this way :

airmon-ng start wlan0

It may complain about the "iw" program missing. If it does, the link is
provided, so just download and compile it. The "iw" program, however,
requires the "libnl" libraries, available here :
http://people.suug.ch/~tgr/libnl/. If you have it all, run the program
again, and it should give you output somewhat similar to this:

# airmon-ng start wlan0

Interface Chipset Driver

wlan0 Intel 4965/5xxx iwlagn - [phy0]
(monitor mode enabled on mon0)

If that's how it looks, you're good to go. The mon0 interface can be
used for both listening with airodump-ng and injecting with aireplay-ng.

Printing with CUPS (Slackware)

Q) How do I add my printer/ enabling printing/ etc?

By default, Slackware now uses CUPS (as of 10.1, though apsfilter and lrpng can be found in /pasture).

To start CUPS, as root:

cd /etc/rc.d
chmod +x rc.cups
./rc.cups start

Confirm CUPS is running, thus:

ps -ef | grep cups

If running, result will be like:

root 3657 1 0 09:24 ? 00:00:00 /usr/sbin/cupsd

Before using CUPS, check the information for your printer at www.linuxprinting.org - it will tell you which is the best driver for your printer, and where to get it (gimp-print drivers come with the gimp-print package in Slackware, Ghostscript (LP's "PPD") based drivers require you to download a PPD front end file and put this in /usr/share/cups/model)

To add your printer, you can either use the command line: CUPS Admin Manual - Managing Printers (www.cups.org)

Or you can use the web based configuration: http://localhost:631

Either of the methods above can also be used for managing printers, printer classes, etc.

Worked example using Firefox to browse to http://localhost:631/printers (Slackware 11, Netgear PS110 print server at IP address 192.168.0.20 and HP LaserJet 2200D on Port 1)
---------------------------------------------------------------
SOURCE:
http://wiki.linuxquestions.org/wiki/Slackware-FAQ#Q.29_How_do_I_add_my_printer.2F_enabling_printing.2F_etc.3F#ixzz0JyxOz4Dc&D

Slackware Bootsplash Howto

- SOURCE: http://n00bsys0p.wordpress.com/tag/slackware/
------------------------------------------------------------
Slackware Bootsplash Howto
3 02 2009
Hi all. I don't know about any of you, but the fact that the original
bootsplash patch is becoming obsolete and being superceded by sucky...
sorry, I mean splashy... really pisses me off. I love the simplicity and
speed of bootsplash, and splashy has failed to deliver on almost every
front. It's slow, ungraceful, difficult to make really pretty, and what
annoys me more than anything is that the verbose mode is utter crap.
Kernel panics will never be easy to diagnose again.
I don't install bootsplash often enough to know it off by heart, and I
find that every time I install Slackware on a new system I want to put a
bootsplash on I can never exactly remember how - cue many frustrating
wasted hours trying to get it sorted. I'd imagine it's a problem that
I'm not alone in encountering, so for your intellectual enjoyment (and
hopefully to help retain your hair's colour!), here's a full howto.
NB: If you are a newbie to compiling kernels, creating initramfs images
and reconfiguring LILO, then consider seriously practising/reading up on
them before attempting this, as you could render your system unbootable.
Step 1: Patch, configure and install the kernel.
You'll need a working patch for the kernel you're using. Sometimes a
patch from a previous kernel will work, but always patch with the
following tags first:
patch --dry-run -p1 < bootsplash-3.1.6-$(uname -r)
This will just test the patch. If you get any HUNK FAILED messages, then
DON'T USE IT! Also, if you are trying a patch from a different kernel,
then replace $(uname -r) with the patch's kernel version.
You will now need to configure the kernel using your favourite .config
editor. I'm a huge fan of xconfig (type make xconfig in your kernel's
unpacked directory). You will need to turn OFF the existing bootup logo
and turn on the bootup splash screen. It's probably a good idea to make
sure you have initrd/initramfs support in there too.
Now compile and install your kernel. If you don't know how to do this,
Eric Hameleers (Alien Bob) has written an excellent guide on his
Dokuwiki. Take heed of all of his warnings, as doing this wrong could
hose your computer. See you after the KERNEL PANIC.
Now boot up your new kernel.
Step 2: Download, compile and install the splash util.
There are countless copies of the splash utilities scattered around the
internet, and the places you'll find them change regularly, so I can't
give you a direct link, but version 3.0.7 seems to be a pretty good bet,
and easy to find.
Once you have downloaded the package, just typing make will result in a
huge b0rk-fest. The only binary you need is splash, so just type make
splash, and you should be ok. Now copy this into /sbin and that's step 2
complete.
Step 3: Make your initramfs format initrd.gz
I find this is where the guides all start to tell fibs. They all tell
you just to use the splash binary and redirect the output to a file.
THIS DOES NOT WORK. The reason being that Slackware now uses an
initramfs image for it's initial ramdisk, which is a compressed cpio
archive. Just using this file will not be recognised, and annoyingly
there will be no useful pointers to show you what's wrong.
First off, you'll want to download a bootsplash from somewhere. Kde-look
has some pretty nifty ones. Now create the directory
/etc/bootsplash/themes. Put the files you downloaded in here in the
format /etc/bootsplash/themes/theme-name/images and
themes/theme-name/config.
Now to actually create the initramfs. First of all, check for the
existence of a file called initrd.gz in your /boot folder. If there is
one there, then you should back it up before proceeding, as it will now
be blown away. Navigate to /boot and type:
mkinitrd -c -k $(uname -r) -f filesystem on root partition -r /dev/root
partition
There will now be a folder called initrd-tree in /boot. This will be the
contents of your initrd. Navigate to this folder and use the following
command:
splash -s -f
/etc/bootsplash/themes/theme-name/config/bootsplash-1024x768.cfg >
bootsplash
This has placed some information for the kernel on the location of the
bootsplash theme in the cpio archive. You now need to place the
bootsplash into the folder in exactly the same directory structure that
exists on your filesystem. Create the folder
/boot/initrd-tree/etc/bootsplash/themes and copy in the bootsplash theme
you downloaded and installed earlier.
To finish off our penultimate step, go to /boot again and type simply
mkinitrd to compress the contents of /boot/initrd-tree into the
initrd.gz file you will now see in the /boot folder.
Step 4: Reconfigure LILO and reboot.
Ok, we've got to the point of no return. You have a working bootsplash
enabled kernel and a brilliantly put together initramfs image. Now
you'll need to modify the /etc/lilo.conf section which points at your
new kernel as follows:
image = /boot/vmlinuz-custom-2.6.27.7-1 # Or whatever your kernel image
is called
root = /dev/hda7 # Or whatever your root partition is.
label = Slacksplash # Name it anything you like
initrd = /boot/initrd.gz
append = "splash=silent"
read-only
Now run lilo. I tend to use lilo -c -v as -c speeds up the initial
loading of the kernel, and -v gives you a whole bunch of useful
information.
Now reboot, select your kernel from the list and admire all the
beautiful colours swirling across your screen.
That's it... Done. Any questions just leave me a comment.
n00b





















Thursday, 25 June 2009

vmlinuz vs bzImage - Slackware

vmlinuz - Nothing but bzImage file.
config - Config file used for kernel compliation
system.map - Used by kernel ,if it needs to recover from fatal errors.
initrd - Used to mount real root file system


initrd.img is completely different from System.map.

While System.map is used for debugging.
initrd.img stands for initial ram disk,provides initial temporary file system which
allows kernel to mount the real root file system,while booting.

If you have real file system (ext3) build inside your kernel ,rather than using it as an
loadable module,you won't need initrd.
__________________

Microsoft Information Store\First Storage Group Database was not found, or could not be accessed."

A Backup Exec 11d or 12.0 Exchange Information Store (IS) backup to a Backup-to-Disk Folder fails with the error: "Backup- \\Exchange\Microsoft Information Store\First Storage Group Database was not found, or could not be accessed."

http://seer.entsupport.symantec.com/docs/290493.htm

Resolution: exclude the backup folder from the local antivirus server

WPA wireless with Slackware 12.2

edit following files:
- /etc/rc.d/rc.inet1.conf (dhcp or static)
- /etc/wpa_supplicant.conf

note: use the following cmd to convert ur passphase to psk
#wpa_passphase YOURSSID passphase
Use the output for /etc/wpa_supplicant.conf

if not sure on your wap, run "#iwlist scan" to detect

Tuesday, 23 June 2009

The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain

http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx
http://www.experts-exchange.com/Operating_Systems/Windows_Server_2003/Q_21112381.html

How to find Hsync and Vsync of a monitor? (linux)

For those values, it is usually best to see what the manufacturer lists - check manual or website. I don't specify those values in the xorg.conf of my laptops and they work fine.

You can try this command to get some good screen info though:
Code:
xdpyinfo

On my box (Fedora) it is in the xorg-x11-utils package.

Also, you can try to let X determine your best settings. Try these steps:

1. (re-)boot into non-Graphical runlevel (init 3)
2. log in as root
3. run
Code:
X -configure

4. test it with
Code:
X -config /root/xorg.conf.new
(or whatever the generated xorg conf file is called)
5. press Ctrl+Alt+Backspace to get out of the X test window

and see if that works for you.

Sunday, 21 June 2009

PPTP client with Slackware 12/13/13.1

This works with my remote router with vpn enabled.

Get necessary info for your connection:
* vpn server name or ip
* vpn account (username & password)
* name for the connection: myvpn (u can name it to whatever you like)

Modified the following files:
* /etc/ppp/chap-secrets

# cat /etc/ppp/chap-secrets
your_username server_name your_pwd *

* /etc/ppp/options.pptp
# cat /etc/ppp/options.pptp
lock
noauth
#refuse-eap
#refuse-chap
#refuse-mschap
nobsdcomp
nodeflate

Created the following file
* /etc/ppp/peers/myvpn
* /etc/ppp/ip-up (also chmod +x /etc/ppp/ip-up)
* create symbol link /bin/ip to /sbin/ip


# cat /etc/ppp/peers/myvpn (this depends on your remote vpn configs)
pty "pptp server_ip --nolaunchpppd"
name your_username
remotename server_name/ip_address
require-mschap
require-mschap-v2
file /etc/ppp/options.pptp
ipparam myvpn


#cat /etc/ppp/ip-up
#!/bin/sh
/sbin/route add -net REMOTE_NET_IP netmask REMOTE_NET_MASK gw DEFAULT_GATEWAY dev ppp0

execute the following command to connect
# pppd call myvpn dump debug logfd 2 nodetach

Friday, 12 June 2009

Change to screen resolution 1280x800 on Slackware 12

-Calculate VESA GTF mode lines with gtf command
#gtf 1280 800 60

# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync

-Copy the result to section Monitor in /etc/X11/xorg.conf


Section "Monitor"

Identifier "My Monitor"

HorizSync 28-64

VertRefresh 40-90

Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
EndSection

- Also add the following in the Screen section
Section "Screen"
Identifier "Screen 1"
Device "VESA Framebuffer"
Monitor "My Monitor"

# If your card can handle it, a higher default color depth (like 24 or 32)
# is highly recommended.

# DefaultDepth 8
# DefaultDepth 16
DefaultDepth 24
# DefaultDepth 32

# "1024x768" is also a conservative usable default resolution. If you
# have a better monitor, feel free to try resolutions such as
# "1152x864", "1280x1024", "1600x1200", and "1800x1400" (or whatever your
# card/monitor can produce)

Subsection "Display"
Depth 8
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth 16
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth 32
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubsection

EndSection

-Check the result with xrandr
$ xrandr
Screen 0: minimum 640 x 480, current 1280 x 800, maximum 1280 x 800
default connected 1280x800+0+0 0mm x 0mm
1280x800 75.0*
1024x768 76.0
800x600 86.0
640x480 86.0

you might require to reboot

Install TrueCrypt 6.1a in Slackware 12

1. Download truecrypt source from www.truecrypt.org and expand it in a temporary folder. (opt/truecrypt)

2. Ftp the files below from ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20 and copy them into the truecrypt source directory.
/opt/truecrypt/truecrypt-6.1a-source in my case.

cryptoki.h
ct-kip.h
opt-pkcs11.h
pkcs-11v2-20a3.h
pkcs-11v2-20a3d3.h
pkcs11.h
pkcs11f.h
pkcs11t-consolidated-d1.h
pkcs11t.h
pkcs11t.h.org

3. Download wxWidgets from: http://www.wxwidgets.org/downloads/ wxAll is what you want.

4. unpack wxWidgets in the truecrypt source directory.

5. run the following command from the truecrypt source directory /opt/truecrypt/truecrypt-6.1a-source# make NOGUI=1 WX_ROOT=/opt/truecrypt/truecrypt-6.1a-source/wxWidgets-2.8.10 wxbuild

Note: change directories to match your installation

6. run the following command: make NOGUI=1 WXSTATIC=1
7. after the compiling is completed, copy the truecrypt file in the Main folder to /usr/bin
8.

Tuesday, 9 June 2009

install vmware server 2 on slackware 12

SOURCE: http://www.basicconfig.com/install_vmware_server_slackware
NOTE: this can apply when install vmware server on BT3 Final

if your kenel is 2.6.30 then u need to download patch from http://communities.vmware.com/thread/215985 ( vmware-server.2.0.1_x64-modules-2.6.30-fix.sh (3.5 K)
* vmware-server.2.0.1_x64-modules-2.6.30-fix.patch (8.4 K))

When the installer ask you to run vmware-config.pl, choose no then run the fix. After that, run vmware-config.pl to complete your installation.

------------------------
VMware installation procedures

Installing vmware in Slackware Linux is quite difficult in the past. Many pre-installation requirements and some tweaks need to be done before proceed the installation. However this time, both vmware 2.0 and Slackware 12.2 have made our job easier. The things left for us are:

1. Download vmware server 2 from official vmware website. If you not already done it, here is the link to get vmware.
2. Install Linux PAM software. You can get Linux PAM package for Slackware from LinuxPakages website.

Finished the tasks above before you continue vmware server 2.0 installation.

Untar vmware server 2.0 source in your installation directory. Normally slackers use /usr/local/src directory, which is in it's own partition created during Slackware installation. It's up to you where to extract vmware server source, but put every added software in one directory location is a good practice to make your system in order and tidy.

root@hitam:~# cd /usr/local/src/
root@hitam:/usr/local/src# tar zxvf /home/slackware/source/VMware-server-2.0.0-122956.i386.tar.gz

Compile vmware server 2:

root@hitam:/usr/local/src# cd vmware-server-distrib/
root@hitam:/usr/local/src/vmware-server-distrib# ls
FILES doc/ installer/ man/ vmware-install.pl@
bin/ etc/ lib/ sbin/ vmware-vix/
root@hitam:/usr/local/src/vmware-server-distrib# ./vmware-install.pl

Everything after those steps above, you just enter and accept default value. It should work and finish without error. But that's not the way to learn Linux, is it? What you can do is read and take notes of each step. That way you know what happen. Here are some things that you should know:

To uninstall vmware server from Slackware, issue the command below (Only if you choose the default directory during vmware server installation):

root@hitam:~# /usr/bin/vmware-uninstall.pl

If you choose to enable vmware server networking, you need to configure host dhcp (which is Slackware) not to interfere with vmware server's dhcp server. You can add the following line in Slackware /etc/dhcpd.conf:

Subnet 172.16.121.0 netmask 255.255.255.0 {
# Note: No range is given, vmnet_dhcpd will deal with this subnet.
# Change the ip address to your vmnet ip address, nat and hostonly.
}

Seriously, that's all you need to do to install vmware server 2.0 in Slackware 12.2. If vmware server compiled without any error, then we can start vmware server to install guest operating system. If you did take notes during vmware server configuration steps, you should notice that vmware server 2.0 uses web base for administration, setup, etc. The default ports are 902 for remote, 8222 for http and 8333 for https.

So, start kde now if you installed vmware server in terminal. Open firefox and enter localhost:8222 in url:

vmware server open in firefox image

Enter login name and password. The default login name is root if you do not change it during vmware installation.
VMware installation troubleshooting

Although I said earlier that vmware server 2.0 installation in Slackware 12.2 has been easier but that doesn't mean it will go smoothly. If you are lucky to have an error during vmware installation, check log file in /var/log/secure directory. You must have root privilege to run this command.

root@hitam:~# tail -f /var/log/secure

There is only one problem I encountered during vmware server 2.0 installation, which is Login failed due to a bad username or password . The Login failed due to a bad username or password happened when I tried to login vmware control panel with firefox. That problem solved when I installed Linux PAM package.

Monday, 8 June 2009

C header files location asked when installing BT3 - vmware-tools with vmware server 2

just download the kernel from: http://www.offensive-security.com/kernel.lzm

and install it with the command: "lzm2dir kernel.lzm /" and re-run "/usr/bin/vmware-config-tools.pl"

vmware-tools on slackware 12.1

Okay, here is a list of steps that install vmware-tools on Slackware 12.1
You need to install PAM before proceding the instruction, get PAM from LinuxPackages.net & install it
(http://www.linuxpackages.net/search_view.php?by=name&name=pam&ver=12.1)

After that, do:

1.cd /etc/rc.d

2.for V in {0,1,2,3,4,5,6}; do ln -s /etc/rc.d /etc/rc.d/rc${V}.d; done

3.mkdir /etc/pam.d

4.cp /etc/rc.d/rc.inet1 /etc/init.d/network

5.cp /etc/rc.d/rc.inet1 /etc/init.d/networking

6.In VMWARE, select Settings => Install Vmware Tools

7.$mount /dev/cdrom /mnt/cdrom

8.cp /mnt/cdrom/vmware*.tar.gz /tmp

9.cd /tmp

10.tar zxf vmware*.tar.gz

11.goto the extracted folder and $./vmware-install.pl

Saturday, 6 June 2009

SOURCE: http://forums.remote-exploit.org/backtrack3-howtos/18470-howto-compile-truecrypt-6-1-bt3-final.html
-----------------------------
Howto: Compile TrueCrypt 6.1 on BT3-Final
/offtopic:

First of all, as this is my first post on the forum, I want to thank all the people involved in this community and of course all the guys from remote-exploit for putting together this great distro!
Thanks to you people I've been learning a great deal in the past few weeks and I have a feeling there is lots more to come! Once again, thanks.

And now to the topic.


/ontopic:

Since I am using quite a lot of external hard drives which are all crypted using TrueCrypt 6.1, I wanted to be able to use them on BT3 too. unfortunately, BT3-Final still comes with an outdated version of TrueCrypt. So I sat down and learned how to compile the current TrueCrypt 6.1.

It wasn't really that hard, basically some reading of and thinking about the right information that comes along with the downloads.

First of all, we will need the sourcefiles of Truecrypt, which can be downloaded here:


Code:

hxxp://www(dot)truecrypt(dot)org/downloads2.php


See that you the Linux/Mac OS tar.gz file AND the corresponding PGP signature file, just so we can make sure we got the "real deal" here... This we will do by taking a look at "gpg" to verify the source code we just got is valid and not tempered with.

Now if you don't know what gpg is, feel free to search google, because to explain all the features and their usage of gpg would be far beyond my little tutorial here. Just so much: Me just found out that messing with it might be a Pretty-Good-Precaution for future communication... On the other hand, if you are the trustworthy and "I-don't-think-the-world-is-bad-cause-everyone-is-full-of-good-intentions" kind of person, feel free to skip this part (and maybe consider doing a reboot into the M$-world)

Otherwise, you will need to fire up a terminal and do a:


Code:

wgex hxxp://truecrypt(dot)sourceforge(dot)net/TrueCrypt-Foundation-Public-Key.asc


to get the public key, which we will than import into gpg:


Code:

gpg --import TrueCrypt-Foundation-Public-Key.asc


Now we can finally verify that we got the correct source files by typing:


Code:

gpg --verify TrueCrypt\ 6.1\ Source.tar.gz.sig TrueCrypt\ 6.1\ Source.tar.gz


After that we should get a good signature message in return from gpg, telling us that our downloaded file is the original, unmodified source code given out by the authors.

Next would be to untar the source and change the pwd to the new directory:


Code:

tar -zxvf TrueCrypt\ 6.1\ Source.tar.gz
cd truecrypt-6.1-source


To actually compile the binaries of TrueCrypt 6.1, a


Code:

less Readme.txt


tells us we will need the RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki) 2.20 header files and where we can get them. So we will do a


Code:

wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/cryptoki.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/ct-kip.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/opt-pkcs11.h
wgex fxp://ftp(fot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20a3.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20a3d3.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs11.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs11t-consolidated-d1.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h
wgex fxp://ftp(dot)rsasecurity(dot)com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h.org

which should provide us with the needed files now being stored in the source code directory. After that we should be ready to create a working binary from the source by including the PKCS header files by typing:


Code:

make PKCS11_INC=/root/truecrypt-6.1-source


Of course you would have to adjust the code of the PKCS11_INC variable to your needs, if you happen to work in a different directory structure. Just make sure it points to the PKCS files we got earlier.

If everything goes well, we should end up with a nice working binary of TrueCrypt 6.1 in the "/root/truecrypt-6.1-source/Main" directory. We can now change into this directory, copy the compiled file to "/usr/bin" and thus overwriting the old binary of TrueCrypt 4.3a (I think it was). To keep things clean, we can also delete the directory with the source code as we don't need it anymore.


Code:

cd /root/truecrypt-6.1-source/Main
cp truecrypt /usr/bin/
cd /root
rm -rf truecrypt-6.1-source


That's it folks. For the looks and feels one might want to right-click on the K --> Menu-Editor, navigate to Backtrack --> Miscellaneous --> Truecrypt and uncheck the "Run in terminal" box. Also, in the "Command" text field, make sure truecrypt doesn't get any arguments passed on startup through the menu. Save the KDE Menu Editor, hit the X and off you go...

I hope this tutorial is of any use for someone. Shouldn't be to hard to walk through, as a rather beginning user as myself could figure this out and get it to compile.

Any comments, suggestions and critics are wellcome. Thanks again guys and have fun playing around with this info as I did.

Cheers
FreqVer

CODE: http://repository.slacky.eu/slackware-12.1/security/truecrypt/6.1a/src/

Friday, 12 December 2008

Install BT3 on USB with persistent changes, using Linux.

SOURCE:

http://forums.remote-exploit.org/showthread.php?t=14486
------------------------------------------------------------
Before I start, I would like to thank Pureh@te for his video tutorial that covers this. GREAT JOB

When I could not find a written Tutorial that included the persistent changes, and was done from start to finish on a Linux box, I decided to write my own so here it is.
On a side note, this is the first Tutorial I have ever written, so any feedback would be appreciated


For this Tutorial I will be installing BT3 on a 2 GB Flash Drive. Feel free to use a drive with more capacity, I recommend that you have at least 2 GB's.

Now lets get started.

Download the BT3B USB version.

Open a terminal and wget it.
Code:

wget http://www.remote-exploit.org/cgi-bin/fileget?version=bt3b-usb

I can't post links so you'll have to correct it

Once you have downloaded the file. place it in a directory of your likings and forget about it for the time being.

We will need to split our 2GB drive into 2 separate partitions. One partition will be 1.10 GB's on a FAT32 file system, and the second will be the remainder of the free space as an Ext 3 filesystem.

I will be using "fdisk, mkfs, & fsck" to setup the partitions.

Insert your drive into the nearest USB port and lets-

Create the Partitions

Open a terminal and type the following command:
Code:

fdisk /dev/sdb

You will need ROOT Privs. for most of the commands I use

This is the fdisk prompt:
Code:

Command (m for help):

To list the existing partitions type "p" and enter
Code:

Command (m for help): p

Disk /dev/sdb: 1998 MB, 1998585344 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa62da6ab

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 132 1060258+ b W95 FAT32
/dev/sdb2 133 242 883575 83 Linux

We need to delete these partitions so type "d" and enter
You will then be asked for the partition number that you want to delete.
Code:

Command (m for help): d
Partition number (1-4):

Type the number "1" and hit enter, now repeat the process for the remaining partitions.

Once there are no partitions, the output of "p" will be:
Code:

Command (m for help): p

Disk /dev/sdb: 1998 MB, 1998585344 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa62da6ab

Device Boot Start End Blocks Id System

To create a new partition type "n" and enter. This will prompt us for some details:
Code:

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-242, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-242, default 242): +1080M

Lets create the second partition
I know the first partition should be FAT32 and is clearly Linux, don't worry we are getting to that

Again type "n" and answer the questions.
Code:

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (133-242, default 133):
Using default value 133
Last cylinder or +size or +sizeM or +sizeK (133-242, default 242):
Using default value 242

Lets look at our partition layout now. Type "p" and enter.
Code:

Command (m for help): p

Disk /dev/sdb: 1998 MB, 1998585344 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa62da6ab

Device Boot Start End Blocks Id System
/dev/sdb1 1 132 1060258+ 83 Linux
/dev/sdb2 133 242 883575 83 Linux

Its time to change the ID of partition 1 to correspond with the Fat 32 Filesystem type that we will be using.

Type "t" and enter, then answer the questions:
Code:

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (W95 FAT32)

We only need to change partition 1 because 2 is already set for Ext 3.

Now we will make the first partition bootable.

Type "a" and enter the partition number that you want bootable. in this instance it will be 1.
Code:

Command (m for help): a
Partition number (1-4): 1

One last look at our partitions before we move on, so type "p" and enter:
Code:

Command (m for help): p

Disk /dev/sdb: 1998 MB, 1998585344 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa62da6ab

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 132 1060258+ b W95 FAT32
/dev/sdb2 133 242 883575 83 Linux

Everything looks good so lets write these changes to the drive.
Type "w" and enter

Writing the Filesystems

For this task we will be using "mkfs"

At the terminal type:
Code:

user@laptop:~$ mkfs -t vfat /dev/sdb1

Should output
Code:

mkfs.vfat 2.11 (12 Mar 2005)

Then for the second partition type:
Code:

mkfs -t ext2 /dev/sdb2

Should output
Code:

mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
56896 inodes, 226918 blocks
11345 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=234881024
7 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Its time to use "fsck" to -

Check The Filesystems

At the Terminal type:
Code:

fsck -y /dev/sdb1

Should Output:
Code:

fsck 1.40.8 (13-Mar-2008)
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
/dev/sdb1: 0 files, 1/264543 clusters

Then:
Code:

fsck -y /dev/sdb2

Should Output:
Code:

fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/sdb2: clean, 11/55328 files, 6071/220893 blocks

Thats it, the partitions are created, filesystems written, and then checked. We are ready to start installing!!!

"cd" to the directory where you have the downloaded BT3 rar file, and run unrar.
Code:

unrar x bt3b141207.rar

If you experience issues on your Distro unpacking the .rar, be sure you have unrar installed.

Once the unpacking is completed OK we need to start copying files to our drive. "cd" into the unpacked directory and copy "boot" and "BT3" directories to the first partition of your flash drive.

So type:
Code:

cp -r boot /media/disk

Then:
Code:

cp -r BT3 /media/disk

I'm using ubuntu and the flash drive is mounted in /media you will need to change this to where your drive is mounted

We need to "cd" to the first partition of the flash drive.

So type:
Code:

cd /media/disk

"cd" into the boot directory and then into the syslinux directory.
Code:

cd boot/syslinux

Here we need to change a few permissions.

In the terminal type:
Code:

chmod 777 lilo

then:
Code:

chmod 777 syslinux

Using your favorite text editor we need to modify the syslinux.cfg file. Here I will use nano.
Code:

nano syslinux.cfg

Change this line:
Code:

LABEL pchanges
MENU LABEL BT3 Graphics mode with Persistent Changes
KERNEL /boot/vmlinuz
APPEND vga=0x317 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/slax/slaxsave.dat autoexec=xconf;kdm

To:
Code:

LABEL pchanges
MENU LABEL BT3 Graphics mode with Persistent Changes
KERNEL /boot/vmlinuz
APPEND vga=0x317 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw changes=/dev/sdb2 autoexec=xconf;kdm

You can add this line to any of the boot choices, as it is you will need to boot to "BT3 Graphics mode with Persistent Changes" for the changes to be saved

We need to go back up one directory to run the bootinst.sh script
So:
Code:

cd ..

An "ls" should show:
Code:

bootinst.bat bootlilo.sh dos isolinux mt86p vesamenu.c32
bootinst.sh chain.c32 initrd.gz modules syslinux vmlinuz

Run the bootinst.sh script:
Code:

./bootinst.sh

This begins the Slax boot installer:
Code:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Welcome to Slax boot installer
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This installer will setup disk /dev/sdb1 to boot only Slax.

Warning! Master boot record (MBR) of /dev/sdb will be overwritten.
If you use /dev/sdb to boot any existing operating system, it will not work
anymore. Only Slax will boot from this device. Be careful!

Press any key to continue, or Ctrl+C to abort...

Hit any key and:
Code:

Flushing filesystem buffers, this may take a while...
Setting up MBR on /dev/sdb...
The Master Boot Record of /dev/sdb has been updated.
Activating partition /dev/sdb1...
No partition table modifications are needed.
Updating MBR on /dev/sdb...
Setting up boot record for /dev/sdb1...
Disk /dev/sdb1 should be bootable now. Installation finished.

Read the information above and then press any key to exit...

The install worked perfectly!!!!

Reboot your machine and test out the stick

If anyone has any questions or are not clear on any part of this Tutorial I will answer any of your questions to the best of my ablility.

Ubuntu Dark Arts: Hacking Networks With Ettercap To Gain Usernames And Passwords

SOURCE:http://www.zimbio.com/Runescape+Hacks/articles/3164/Ubuntu+Dark+Arts+Hacking+Networks+Ettercap
-----------------------------------
Ettercap is a program that can accomplish many things, most notably gaining usernames and passwords from networked computers. For example, let's say you think your husband or wife is carrying on an online relationship with somebody and you want to gain access to their email or social site accounts. With ettercap, you can do just that.

First, you need to install ettercap. From the command line type in this:
sudo apt-get install ettercap-common ettercap-gtk

Before running ettercap you will need to modify the config file to allow for SSL access. Some other guides state to edit the file located at /usr/local/etc/etter.conf but my config file was not located there. I found mine at /etc/etter.conf. You have to uncomment the two iptables lines about iptables in the .conf file to allow for SSL access. So locate these two lines:

#redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp –dport %port -j REDIRECT –to-port %rport"

#redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp –dport %port -j REDIRECT –to-port %rport"

Remove the "#" before each line and save the edited file. Then go to Applications –> System Tools –> ettercap and follow this mini-guide to "sniff" your local network for usernames and passwords.

ettercap start screen

Go to Sniff –> Unified sniffing

ettercap unified sniffing

Choose your network interface (eth0, wlan0, etc.)

ettercap choose interface

Press CTRL+s to scan the network for hosts

ettercap scan network

Go to Mitm –> Arp poisoning

ettercap arp poisoning

After selecting arp poisoning, then check the box "Sniff remote connections"

ettercap sniff remote connections

Finally, select Start –> Start sniffing to start the sniffing for usernames and passwords

ettercap start sniffing

This works out quite nicely if you have everything set up right. I have tried this out and can confirm that it does indeed sniff out usernames and passwords. When someone on your local network goes to a website where they need to log in to gain entry, such as Yahoo Mail, then immediately after they log in to the site, the website url, username and password will be listed in the ettercap terminal. Pretty cool, huh?

Just to be on the safe side I will just say that this guide is for informational purposes only; it is not my intention to have anyone read this and head off to a local coffee shop and try to hack everyone's accounts!

Thursday, 11 December 2008

Unlock pdf file online

http://www.ensode.net/pdf-crack.jsf

Monday, 8 December 2008

Fix no sound on Ubuntu 8.10

SOURCE: http://onlyubuntu.blogspot.com/2008/11/fix-for-no-sound-issue-in-ubuntu-810.html
--------------------------------------------

sudo killall pulseaudio

sudo alsa force-reload

and then go to System>Preferences>Sound and change everything to ALSA

Wednesday, 3 December 2008

How to get Vmware server to access USB stick?

SOURCE: https://lists.ubuntu.com/archives/ubuntu-users/2008-March/139099.html
exec the following command "mount -t usbfs usbfs /proc/bus/usb/" before starting
VMWare does the job.

Monday, 1 December 2008

How can I view those Microsoft Office 2003 Scanned documents in Unix?

SOURCE: http://nomoa.com/index.php?module=articles&func=display&aid=1864&theme=print
-------------
Ubuntu - the straw that broke the camels back
Posted by: Samiuela LV Taufa onWed, 30 May 2007 14:57:24

Otherwise known as: How can I view those Microsoft Office 2003 Scanned documents in Unix?

[Update 2007.06.14 to include gnome2/nautilus-script and hopefully clarified some text]

The desktop replacement Ubuntu box I've been putting together for my father-in-law's office has ground to a halt because of a very simple problem:

I can't get a graphics viewer for Microsoft Office 2003's TIFF format created by the MS Office 2003 tool for managing scanners, Microsoft Office Document Imaging.

Technically, Ubuntu/Linux can view the multiple images embedded in the TIFF file, but it is a song and dance affair at the moment that is doable for a techno-dweeb, but not yet accessible to mere humans.

Scanning: YES we can scan documents under Ubuntu by using XSane Image Scanner, but I'm interested in viewing TIFF documents created by business partners.
Background

Microsoft Office Document Imaging (MDI) is part of Microsoft Office 2003 suite and provides a generic scanning tool for scanning images into your machine (most notably for attaching printed documents to email.) This tool is a way way easier to use than the driver based tool provided by the scanner manufacturer, as well as allowing a single application on which the user is trained for scanning documents/pictures.

We currently use it for scanning contracts, forms and sent faxes to forward between business partners. Likewise, our major business partner uses it extensively when sending us printed forms and faxes.

MDI's scanning tool saves multi-page scanned documents as a single TIFF file. Within this TIFF file are:

1. JPEG images of the scanned pages
2. JPEG thumbnails of the scanned pages
3. OCR'd versions of the above pages (OCR - Optical Character Recognition - an attempt to recognise the text in your document)

The TIFF/TIF file format has been extensively documented and in Microsoft's own promotional blurb about Microsoft Office - Document Imaging.

TIFF is a commonly used format for various imaging applications, including those that scan and fax. Microsoft Office Document Imaging uses the TIFF format, utilizing the format's capability to contain text recognized by optical character recognition (OCR) (OCR: Translates images of text, such as scanned documents, into actual text characters. Also known as text recognition.) When you scan new documents, they are saved in TIFF format (with a .tif extension), and any OCR text is stored in the TIFF file along with the image.

You can open and edit TIFF files created with Office Document Imaging by using many other graphics applications. When you do so, any OCR text that the file contains is lost. You will have to rerun OCR if you want to access the text in the TIFF file again in Office Document Imaging.

It seems that Microsoft are using legitimate extensions to TIFF 6.0 and it's extensions, but not near enough programmers out there have access to the documentation on these extensions or can cut the code for it.

Some further notes on the TIFF format in the below Unix section but there are problems even within Microsoft Windows to view these scanned multi-page documents.

Visit bTonga


Viewing:

On an MS Windows XP desktop, you can view these multiple pages using:

* Microsoft's MDI application's viewer, or
* the free application IrfanView, or
* the free application XnView (my preferred tool at the moment)

On Unix, Linux there's a convoluted way to get at the files and shown later in this post.
Viewing Limited:

Microsoft's Office Picture Manager (12.0.4518) can view the 1st Image in the TIFF file, but I can't see anyway of seeing the rest of the images in the file and there are no notable indications that there are multiple images in the file (leading you to a conclusion that the single image you see is the only relevant image.)

OT: Weird limitation considering the product is shipped by the same team, only further highlighting how big Office development/programming has become.
Viewing NOT:

You cannot, however, view the images using Microsoft's own current tools and other popular tools.

* Windows Picture and Fax Viewer, or
* Imagic Magic 6.2.3 Q16 IMDisplay 1.0, or
* Paint.NET v3.07

Unfortunately I don't have a copy of Adobe Photoshop on my machine to give people more information.

Similarly, I have tried to view multipage TIFFs on Linux with the following applications also failing with errors complaining about the TIFF format

* F-Spot Photo Manager 0.3.5 (crashes on import, and fails to display image/s)
* GIMP Image Editor 2.2.13 (multiple "unknown field tag" error message on loading file)
* GNU Paint gpaint-2 0.3.0-pre5 (error: cannot open file)
* gThumb Image Viewer 2.10.2 (no errors, but no image view)
* Gwenview 1.4.1 (multiple "unknown field tag" errors and "Invalid YCBCr subsampling")
* xloadimage 4.1 (same error message as tiffinfo shown below)

Viewing GNU Linux:

Thanks to a post by Michael R. Head, there is a way to view the multipage TIFF files, but there is some command-line magic you have to walk through.

Let's first take a look at an indicator that we have a TIFF file created by Microsoft's MDI by using LibTIFF's tiffinfo tool. We first transport 2 multipage TIFF files (multipage.tif and multipage2.tif) from our Windows box to Ubuntu Linux.

$ ls
multipage2.tif multipage.tif

$ file multipage.tif multipage2.tif
multipage.tif: TIFF image data, little-endian
multipage2.tif: TIFF image data, little-endian

The unix file utility is telling us that the two images we're using in this example is a file with the format "TIFF image data, little-endian"

$ tiffinfo multipage.tif
TIFFReadDirectory: Warning, multipage.tif: unknown field with tag 513 (0x201) encountered.
TIFFReadDirectory: Warning, multipage.tif: unknown field with tag 514 (0x202) encountered.
TIFFReadDirectory: Warning, multipage.tif: unknown field with tag 37680 (0x9330) encountered.
multipage.tif: Invalid YCbCr subsampling.
TIFFReadDirectory: multipage.tif: cannot handle zero strip size.

Using tiffinfo we now know that for both the multipage.tif and multipage2.tif file that we do not recognise portions of the file that seem to be equivalent areas in both files.

$ tiffinfo multipage2.tif
TIFFReadDirectory: Warning, multipage2.tif: unknown field with tag 513 (0x201) encountered.
TIFFReadDirectory: Warning, multipage2.tif: unknown field with tag 514 (0x202) encountered.
TIFFReadDirectory: Warning, multipage2.tif: unknown field with tag 37680 (0x9330) encountered.
multipage2.tif: Invalid YCbCr subsampling.
TIFFReadDirectory: multipage2.tif: cannot handle zero strip size.

Seeing the error messages displayed by tiffinfo helps us to understand some of the error messages displayed by the above image viewers. The errors are implying these viewers use of the libtiff library and it's limitations. It should be pointed out here that libtiff.org documents:

TIFF 6.0 Specification Coverage

The library is capable of dealing with images that are written to follow the 5.0 or 6.0 TIFF spec. There is also considerable support for some of the more esoteric portions of the 6.0 TIFF spec.
...
Note that there is no support for the JPEG-related tags defined in the 6.0 specification; the JPEG support is based on the post-6.0 proposal given in TIFF Technical Note #2.
...
The JPEG-related tag is specified in TIFF Technical Note #2 which defines a revised JPEG-in-TIFF scheme (revised over that appendix that was part of the TIFF 6.0 specification).

I am not so sure how relevant the above is to the Microsoft MDI problem, but suffice it to say I don't know enough to blame anyone for why so many open source software lack support for viewing MDI multi-page TIFF files.
Unix: Extracting the Images

We now know that the TIFF file could be a legitimate TIFF file, but we can't view the images without resorting to a Windows box. Thanks again to Michael R. Head's article the solution is through a forensics tool Foremost.

Foremost is a console program to recover files based on their headers, footers, and internal data structures. This process is commonly referred to as data carving. Foremost can work on image files, such as those generated by dd, Safeback, Encase, etc, or directly on a drive. The headers and footers can be specified by a configuration file or you can use command line switches to specify built-in file types. These built-in types look at the data structures of a given file format allowing for a more reliable and faster recovery.

Foremost seems to understand the TIFF data structure presented by Microsoft's MDI, so it can extract the separate streams/images and store them to the disk for 'later processing. Using foremost is rather simple as shown below on our two multipage files.

$ ls
multipage2.tif multipage.tif

$ foremost -i multipage.tif -o multipage
Processing: multipage.tif
|*|

$ foremost -i multipage2.tif -o multipage2
Processing: multipage2.tif
|*|

foremost creates subdirectories (-o) jpg and ole where jpg contains the images (both full image and thumbnail image), and ole contains ocr'd versions of the pages.

$ ls -R
.:
multipage multipage2 multipage2.tif multipage.tif

./multipage:
audit.txt jpg ole

./multipage/jpg:
00000000.jpg 00000545.jpg 00000937.jpg 00001543.jpg 00002127.jpg
00000538.jpg 00000931.jpg 00001535.jpg 00002120.jpg 00002682.jpg

./multipage/ole:
00002692.ole

./multipage2:
audit.txt jpg ole

./multipage2/jpg:
00000000.jpg 00002941.jpg 00006432.jpg 00009274.jpg 00011870.jpg 00014243.jpg 00016827.jpg
00001609.jpg 00004364.jpg 00006444.jpg 00009284.jpg 00011879.jpg 00014252.jpg 00016836.jpg
00001622.jpg 00004375.jpg 00007880.jpg 00010598.jpg 00012939.jpg 00015470.jpg 00018163.jpg
00002931.jpg 00004954.jpg 00007891.jpg 00010608.jpg 00012948.jpg 00015481.jpg

./multipage2/ole:
00018172.ole

The jpg files, being thumbnail and full image should have distinctive sizes such as the above listing shown below

$ ls -lR

./multipage:
total 12
-rw-r--r-- 1 samt samt 1178 2007-05-30 14:47 audit.txt
drwxr-xr-- 2 samt samt 4096 2007-05-30 14:47 jpg
drwxr-xr-- 2 samt samt 4096 2007-05-30 14:47 ole

./multipage/jpg:
total 1380
-rw-r--r-- 1 samt samt 275019 2007-05-30 14:47 00000000.jpg
-rw-r--r-- 1 samt samt 3709 2007-05-30 14:47 00000538.jpg
-rw-r--r-- 1 samt samt 197089 2007-05-30 14:47 00000545.jpg
-rw-r--r-- 1 samt samt 3011 2007-05-30 14:47 00000931.jpg
-rw-r--r-- 1 samt samt 305575 2007-05-30 14:47 00000937.jpg
-rw-r--r-- 1 samt samt 4002 2007-05-30 14:47 00001535.jpg
-rw-r--r-- 1 samt samt 294723 2007-05-30 14:47 00001543.jpg
-rw-r--r-- 1 samt samt 3442 2007-05-30 14:47 00002120.jpg
-rw-r--r-- 1 samt samt 284052 2007-05-30 14:47 00002127.jpg
-rw-r--r-- 1 samt samt 4793 2007-05-30 14:47 00002682.jpg

./multipage/ole:
total 8
-rw-r--r-- 1 samt samt 5632 2007-05-30 14:47 00002692.ole

./multipage2:
total 12
-rw-r--r-- 1 samt samt 1998 2007-05-30 14:47 audit.txt
drwxr-xr-- 2 samt samt 4096 2007-05-30 14:47 jpg
drwxr-xr-- 2 samt samt 4096 2007-05-30 14:47 ole

./multipage2/jpg:
total 9200
-rw-r--r-- 1 samt samt 823649 2007-05-30 14:47 00000000.jpg
-rw-r--r-- 1 samt samt 6345 2007-05-30 14:47 00001609.jpg
-rw-r--r-- 1 samt samt 669597 2007-05-30 14:47 00001622.jpg
-rw-r--r-- 1 samt samt 5344 2007-05-30 14:47 00002931.jpg
-rw-r--r-- 1 samt samt 728014 2007-05-30 14:47 00002941.jpg
-rw-r--r-- 1 samt samt 5365 2007-05-30 14:47 00004364.jpg
-rw-r--r-- 1 samt samt 296251 2007-05-30 14:47 00004375.jpg
-rw-r--r-- 1 samt samt 756384 2007-05-30 14:47 00004954.jpg
-rw-r--r-- 1 samt samt 6134 2007-05-30 14:47 00006432.jpg
-rw-r--r-- 1 samt samt 734716 2007-05-30 14:47 00006444.jpg
-rw-r--r-- 1 samt samt 5064 2007-05-30 14:47 00007880.jpg
-rw-r--r-- 1 samt samt 707892 2007-05-30 14:47 00007891.jpg
-rw-r--r-- 1 samt samt 4973 2007-05-30 14:47 00009274.jpg
-rw-r--r-- 1 samt samt 672318 2007-05-30 14:47 00009284.jpg
-rw-r--r-- 1 samt samt 4854 2007-05-30 14:47 00010598.jpg
-rw-r--r-- 1 samt samt 645537 2007-05-30 14:47 00010608.jpg
-rw-r--r-- 1 samt samt 4784 2007-05-30 14:47 00011870.jpg
-rw-r--r-- 1 samt samt 542300 2007-05-30 14:47 00011879.jpg
-rw-r--r-- 1 samt samt 4081 2007-05-30 14:47 00012939.jpg
-rw-r--r-- 1 samt samt 662687 2007-05-30 14:47 00012948.jpg
-rw-r--r-- 1 samt samt 4416 2007-05-30 14:47 00014243.jpg
-rw-r--r-- 1 samt samt 623235 2007-05-30 14:47 00014252.jpg
-rw-r--r-- 1 samt samt 5299 2007-05-30 14:47 00015470.jpg
-rw-r--r-- 1 samt samt 688888 2007-05-30 14:47 00015481.jpg
-rw-r--r-- 1 samt samt 4436 2007-05-30 14:47 00016827.jpg
-rw-r--r-- 1 samt samt 678824 2007-05-30 14:47 00016836.jpg
-rw-r--r-- 1 samt samt 4619 2007-05-30 14:47 00018163.jpg

./multipage2/ole:
total 8
-rw-r--r-- 1 samt samt 5632 2007-05-30 14:47 00018172.ole

I don't know what the sequencing issues are with the file names, but it seems obvious that the larger files will be the full image, with one of the smaller files being a thumbnail of the same (presumably the nearest higher order number.)
Unix: Automating extraction and viewability

In a comment to Michael R. Head's article, typhoncore writes a nice bash script that uses ImageMagick's 'convert' utility and pdftk to create a multipage PDF file from the larger images. It is listed here with a few minor modifications I have inserted (for better or worse.)

#!/bin/bash
DOC_COUNT=0
arg1=$1
arg_out=$arg1.out
echo "Extracting Images from $arg1 using foremost to $arg_out"
foremost -i $arg1 -o $arg_out
echo "Done"
cd $arg_out/jpg
echo "Converting Single Images to PDF"
for i in $(ls *.jpg); do
ODDEVEN=$(echo "scale=0; $DOC_COUNT % 2" | bc)
if [ "$ODDEVEN" = "0" ] ; then
echo -n " > $i to $i.pdf"
convert $i $i.pdf
echo " - done"
fi
DOC_COUNT=$(echo "scale=0; $DOC_COUNT + 1" | bc)
done
echo -n "Merging separate single page PDF's to a multipage PDF"
pdftk *.pdf cat output merged.pdf
mv merged.pdf ../../$arg1.pdf
echo " - done"
cd ../..
echo -n "Removing temporary directory $arg_out"
rm -Rf $arg_out
echo " - done"

The bastardisation of typhoncore's script is to add console progress indicators (and as additional documentation within the script) for us noobs.

Output of the script will look something like the below.

$ sh TIFFtoPDF.sh multipage.tif
Extracting Images from multipage.tif using foremost to multipage.tif.out
Processing: multipage.tif
|*|
Done
Converting Single Images to PDF
> 00000000.jpg to 00000000.jpg.pdf - done
> 00000545.jpg to 00000545.jpg.pdf - done
> 00000937.jpg to 00000937.jpg.pdf - done
> 00001543.jpg to 00001543.jpg.pdf - done
> 00002127.jpg to 00002127.jpg.pdf - done
Merging separate single page PDF's to a multipage PDF - done
Removing temporary directory multipage.tif.out - done
$

Unix: GNOME GUIfying extraction and viewability

I was thinking what could be a registry hack (Windows Hat on) or other means to let the File Explorer in X Windows (later discovering it is called GNOME Nautilus) send TIFF files to the above script when I came across a solution for separate but related problem Mount and UnMount ISO images without burning them.

That lead me to a rehacked whack of the above TIFFtoPDF.sh that can be placed in your ~/username/.gnome2/nautilus-scripts/ folder.

Read Nautilus File Manager Scripts : Questions and Answers for more details on how to get the below script working properly with Nautilus.


#!/bin/bash
# mount

BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`

DOC_COUNT=0
INFILE=$BASENAME
OUTPUT=$INFILE.odir

if ! zenity --question --title "Convert MS TIFF file to Multipage PDF"

--text "Do you wish to Convert the MS TIFF $BASENAME to a Multipage PDF?"
then
exit 0
fi

foremost -i $INFILE -o $OUTPUT
cd $OUTPUT/jpg

for i in $(ls *.jpg); do
ODDEVEN=$(echo "scale=0; $DOC_COUNT % 2" | bc)
if [ "$ODDEVEN" = "0" ] ; then
convert $i $i.pdf
fi
DOC_COUNT=$(echo "scale=0; $DOC_COUNT + 1" | bc)
done
pdftk *.pdf cat output merged.pdf
mv merged.pdf ../../$INFILE.pdf
cd ../..
rm -Rf $OUTPUT

The bare essentials for getting the above script working in GNOME Nautilus is:

1. Put the script in ~/username/.gnome2/nautilus-scripts/
2. Make the script executable
3. Visit the directory using GNOME Nautilus

Conclusion

There is no going to Ubuntu/Linux or any other variant of Unix/BSD until this image viewing problem can find a simpler solution for these guys.

Funny how for the big ticket items we were eventually able to find good alternate solutions, but things fell over with this simple yet insurmountable problem.

Microsoft Outlook 2003 --> now using Thunderbird 2.0.x
Microsoft Word 2003 --> we have been testing Open Office 2.2 Write
Microsoft Excel 2003 --> we have been testing Open Office 2.2 Calc
Microsoft Access 2003 --> not currently using, no need for an alternative
Microsoft Publisher 2003 --> infrequent use, although testing scribus
Printing --> CUPS with Vendor Linux Drivers
Scanning --> XSane with Vendor Linux Drivers

Accounting Software --> Not currently using one, but looking around

For my own desktop needs, I'm still an XP man and will probably go to Vista with my next machine, as that will definitely be a TabletPC, but there's plenty of cheap Pentium IV's on www.ebay.com.au so I'm getting an X Windows (Gnome/KDE) up for some of the kid's fun and gaming (defining anything they enjoy as play.)

The sledge-hammer solution would be to run a mail server that would parse incoming emails for TIFF files and automatically detect/convert multipage files from TIFF to PDF. If this was a do or die situation I would probably work on it, as it is, it will have to wait for another day/solution.
References

Michael R. Head's Handling Microsoft Office Document Scanning TNEF and TIFFs in Linux
typhonecore Multipage TIFF to Multipage PDF script
DRAFT TIFF Technical Note #2
Adobe Photoshop TIFF Technical Notes (PDF)