20071221

streams pipes and redirects

10:26 < kaeru> 0 is fd0, 1 is fd1 etc
10:26 < kaeru> 0 stdin 1 stdout 2 stderror
10:26 < kaeru> & = make copy

20071215

20071213

20071202

/dev/rmt/0

h taped density is high
m taped density is medium
l taped density is low
b bsd behaviour
n no rewind
c compression mode

20071130

checkinstall: cannot open

Add this line to /etc/passwd

install:x:0:1:installpatch braindamage:/:/bin/true

Cannot compute sizeof (char)

Check if the system has libiconv installed by typing iconv. Then try to define LD_LIBRARY_PATH to /usr/local/lib:

export LD_LIBRARY_PATH=/usr/local/lib

20071128

Putty | export display

It's possible if you use Putty. Issue this command on the remote server:

export DISPLAY=192.168.1.27:0.0

IP is your IP. Then do a test such as xclock &

20071127

Privilege separation user "sshd" does not exist

Add this line into /etc/passwd,
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

and this line into /etc/group
/etc/group:sshd:*:27:

20071123

mail: Too many letters, overflowing letters concatenated

The limit of 998 letters has been exceeded. Copy your mail file (e.g. /var/mail/username) to your home directory as a backup, and then delete old letters, or even cat < /dev/null > /var/mail/username.

Check Oracle version

1) run sqlplus
2) su - oracle and run svrmgrl

Could not load host key

Disabling protocol version 1. Could not load host key
Disabling protocol version 2. Could not load host key


The errors above are due to the fact that we didn't create any key pairs for our ssh server.

Create a public key pair to support the new, DSA-based version 2 protocol

# /usr/local/bin/ssh-keygen -d -f /usr/local/etc/ssh_host_dsa_key -N ""
# /usr/local/bin/ssh-keygen -b 1024 -f /usr/local/etc/ssh_host_rsa_key -t rsa -N ""

20071111

333348.1 Install 10gR2 on Solaris 64 bits fails with: 'library -ldce: not found'

To implement the solution, you can use the patch for the bug or use a workaround:

A) Use the patch
Download patch 4589082 from metalink and apply it following instruction in README file
and install 10.2 software

B) Use the workaround
Rename /usr/lib/libdce.so to other name. Do installation before rename back the file in first step.

20071017

What Shadow Holds...

When passwords are shadowed, the /etc/passwd file shows '*', 'x', or another character, instead of the password and /etc/shadow holds the following user information:

* User login name
* Salt and Hashed password
* Days since Epoch of last password change
* Days until change allowed
* Days before change required
* Days warning for expiration
* Days before account inactive
* Days since Epoch when account expires
* Reserved

20070919

umask / creation mask in samba

[data]
path = /home/samba/data
browseable = yes
guest ok = yes
writeable = yes
force user = myself
force group = themselves
create mask = 744
directory mask = 755


Bottom two lines, which the earlier is the mask for file, and the latter is for folder.

20070918

Apache2 fuss with domain name

# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName


Add a line in apache2.conf:

ServerName "whatevername"

apt-get update problem

W: GPG error: http://security.debian.org etch/updates Release: Unknown error executing gpgv
W: GPG error: http://ftp.jp.debian.org etch Release: Unknown error executing gpgv
W: You may want to run apt-get update to correct these problems

One of the reason which the reason i had is the incorrect date. So try check your date.

20070912

nfs setup on solaris 10

Edit /etc/dfs/dfstab file and add this line for example:

share -F nfs -o rw -d "for grid" /opt/n1ge6

Save it and run:

# svcadm restart network/nfs/server:default

or you can user shareall command.

hints : man dfstab share

credit : rockwood

20070902

debian inetd restart

After configuring /etc/inetd.conf

/etc/init.d/openbsd-inetd restart

enable start rsh / rlogin service on solaris 10

Add these to /etc/inetd.conf

# RSHD - rsh daemon (BSD protocols)
shell stream tcp nowait root /usr/sbin/in.rshd in.rshd
shell stream tcp6 nowait root /usr/sbin/in.rshd in.rshd


The inetd was not enabled, so a extra svcadm enable did the trick

% svcadm enable svc:/network/inetd:default
% svcadm enable svc:/network/login:rlogin
% svcadm enable svc:/network/shell:default
% svcadm enable svc:/network/login:rlogin
% svcadm refresh inetd


Credit to Wim Alsemgeest

20070825

rsh

Make sure username are the same on client and remote.

server side
You need ~/.rhosts file with this line:
192.168.1.5 codept

OR you can write this line in /etc/hosts.equiv

client terminal
$ rsh remotehost date

WARNING! RSH is not secure.

20070824

ssh client bypass password authentication

client side
$ ssh-keygen -t rsa
$ scp ~/.ssh/id_rsa.pub servername:


server side
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

client side
$ ssh-agent $SHELL
$ ssh servername


DONE!

convenient way is to add `ssh-agent $SHELL` line in shell profile file.


20070821

execution host installation : Unsupported local hostname

Unsupported local hostname
--------------------------
The current hostname is resolved as follows:

Hostname: frog.pond
Aliases: frog
Host Address(es): 127.0.1.1

It is not supported for a Grid Engine installation that the local hostname contains the hostname "localhost" and/or the IP address "127.0.x.x" of the loopback interface. The "localhost" hostname should be reserved for the loopback interface ("127.0.0.1") and the real hostname should be assigned to one of the physical or logical network interfaces of this machine.

Installation failed.


Check /etc/hosts and replace the ip with the correct one.

terminal problem ssh to solaris

set TERM to vt100 before connecting to solaris sshd

TERM="vt100"; export TERM

20070710

# Changing linux hostname

check with uname -n, hostname -[ asdf]
modify /etc/hosts
hostname .
modify /etc/sysconfig/network
check with cat /proc/sys/kernel/hostname

key : how to change a hostname linux

20070413

guest2admin

echo off
title Please wait...
cls

net user add Username Password /add
net user localgroup Administrators Username /add
net user Guest 420 /active:yes
net localgroup Guests Guest /DELETE
net localgroup Administrators Guest /add

del %0

save in notepad as "guest2admin.bat"
then u can double click the file to execute or run in the cmd.
it works...


~ Cheers ~

from rahulhackingarticles

20070406

Save putty default settings

I hope there is an easier way to save the default settings for Putty. Rather than have to write 'Default Settings' in the Saved Sessions textfield, and click Save. By the way, I use PortaPutty. Because it stores saved sessions in a folder, not in the Windows Registry like what original Putty does. So you can store Putty on your thumbdrive.

20070328

unix sex philosophy

unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

20070325

edquota problem | open is a directory

You should touch a filename quota, not to create a folder quota. Rename it or remove the folder.

from docs.sun.

crontab edit problem

if crontab -e gives some random number, and you didn't see any existing cron, might be you didn't set your EDITOR variable:

$ EDITOR=/usr/bin/vi
$ export EDITOR
$ crontab -e

20070324

understanding between blocks and kilo bytes

I admit I'm a bit slow for this kind of basic convertion. During my young age, I always wonder about blocks and bytes and how to convert between them and recently it became clear after some try and error calculation on df output. This is important because some program require user to input size in blocks such as ulimit.

In ulimit manpage, I read an option which is
-c The number of 512-byte blocks on the size of core dumps.

So I can assume that 1 block equals to 512 bytes (to reader, please assist, thanks). If I look at one line of my df output:

/export/home (/dev/dsk/c0t0d0s7 ):53645828 blocks 3232280 files

Then I know that my home directory took 53645828 * 512 / 1024 of Kilobytes. To be sure it is correct, use df -b:

/dev/dsk/c0t0d0s7 26822914

That means 53645828 blocks equals to 26822914 bytes.

one of the reasons apt-get fails

My apt-get failed lastnight, and I realized it was because of my /etc/services:

finger 79/tcp
ssh 80/tcp # customized port
ssh 80/udp # customized port
#www 80/tcp http # WorldWideWeb HTTP
#www 80/udp # HyperText Transfer Protocol
link 87/tcp ttylink


After I commented the ssh lines and uncommented the www lines, apt-get runs fine.

20070308

forgot, forgot, forgot...

insmod Insert an LKM into the kernel.
rmmod Remove an LKM from the kernel.
depmod Determine interdependencies between LKMs.
kerneld Kerneld daemon program
ksyms Display symbols that are exported by the kernel for use by new LKMs.
lsmod List currently loaded LKMs.
modinfo Display contents of .modinfo section in an LKM object file.
modprobe Insert or remove an LKM or set of LKMs intelligently. For example, if you must load A before loading B, Modprobe will automatically load A when you tell it to load B.

from tldp.

20070120

notes: solaris' hostname, ip

Files to edit/change hostname manually
--------------------------------------
/etc/hosts
/etc/nodename
/etc/hostname.xxn (xxn = network interface, such as hme0)
/etc/net/ticlts/hosts
/etc/net/ticots/hosts
/etc/net/ticotsord/hosts
/etc/inet/ipnodes (if file exists and if hostname entry exists)

Files to edit/change the IP manually
------------------------------------
/etc/hosts
/etc/defaultrouter
/etc/netmasks


..and a script thanks to Sandra Henry-Stocker & David Cashion

20070118

cron, at by example b4 rtfm

want to use cron? first create a script

#!/bin/sh
apt-get update


and create mycron.txt(or w'ever name u want), add:

30 23 * * * /home/bambino/script

will run script on 11.30pm everyday. finally, `crontab mycron.txt` as root

want to use at? just `at 11pm 2days`, then enter your commands.

bambino:/home/bambino# at 11pm + 2days
warning: commands will be executed using /bin/sh
at> apt-get update
at> [^D]
job 4 at 2007-01-22 16:00
bambino:/home/bambino#


will run update apt 2days later at 11pm.
to list jobs, `atq`
to show spec. job, `at -c [jobnumber]`

apache, authentication, htaccess, htpasswd

Create a file .htaccess in the web directory

#.htaccess
AuthUserFile /home/bambino/public_html/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
require user bambino


To create a user, `htpasswd -c .htpasswd bambino`

20070115

navigating Solaris default man pages sucks

Solaris man pages are using more.

So to change to less, set PAGER environment variable to less:

$ export PAGER="less"

############################################

Update August 18th '07

# export PAGER="less"
PAGER=less: is not an identifier


so i use,
`PAGER="less"; export PAGER`

20070112

enable rstatd on Solaris 10

rstatd is important for stdperfmeter to work. But 5.10 disables it by default.

# svcadm enable rstat

to check, use rpcinfo -p

20070111

secure solaris, auto-boot and eeprom

Auto-boot parameter in eeprom can disable Sun's machine from entering PROM.

# eeprom "auto-boot?"=false

And there are more parameters for consideration credit to Jeff Hunter

20070108

today's note: solaris

kayword: solaris unable to boot CD DVD PROM man -k windex

Get into PROM during boot: command + A

if `man -k` returns /usr/share/man/windex: no such file or directory we have to create the windex database which is also used by whatis and apropos by `catman -w`. While in Linux, `catman` is enough.