SUSE 9.1I now have access to a dual Opteron 246 system with SUSE 9.1 (Linux 2.6.x) at work.Here are some of the new things (i.e. different from RedHat) I encountered.After the failure of updating my laptop (ZT1230) to FedoraCore 2, it is now usingSUSE 9.1. Index
Why I do get Xsession: Logon for user disabled?If you get this error message, you cannot login at console.This is due to the fact that SUSE's own /etc/X11/xdm/Xsession. If you read the following section, you understand.
## Disable graphical login if normal login is disabled
#login=false
while read sh ;
do
if test "$sh" = "$SHELL" ;
then
login=true
break
fidone <
/etc/shellsif test "$login" != "true" -o "$SHELL" = "/bin/false" ;
then
trap "exec xmessage -timeout 10 -button okay:1 -center \
\"${0##*/}: Login for $USER is disabled.\"" \
EXIT SIGHUP SIGINT SIGPIPE SIGTERM SIGIO
exit 1fiunset sh login
The problem is due to the fact that the user shell variableis not found in /etc/shells, then you get this error. Add the shell into /etc/shells or change /etc/passwd shell. Please see http://archive.lug.boulder.co.us/bymonth/2001.10/msg00145.html. How can I fix the problem on autoconf under SUSE9.0?When I ran autoconf on the project NFS mounted, I get the error: autom4te: cannot lock autom4te.cache/requests with mode 2: No locks available at /usr/bin/autom4te line 1176 No problem on the local files. This happened only on SUSE9. RedHat 9, 7.3, Fedora are fine. The fix is described here: http://lists.gnu.org/archive/html/autoconf-patches/2003-09/msg00074.html. Here is the diff:
/usr/share/autoconf/Autom4te>diff XFile.pm XFile.pm.orig90d89< use Errno;216,225c215<<
# On some systems (e.g. GNU/Linux with NFSv2), flock(2) does not work over<
# NFS, but Perl prefers that over fcntl(2) if it exists and if<
# perl was not built with -Ud_flock. Normally, this problem is harmless,<
# so ignore the ENOLCK errors that are reported in that situation,<
# However, if the invoker is using "make -j", the problem is not harmless,<
# so report it in that case. Admittedly this is a bit of a hack.<
if (!flock ($fh, $mode)< && (!$!{ENOLCK} ||<
($ENV{'MAKEFLAGS'} && " $ENV{'MAKEFLAGS'}" =~ / (-j|--jobs)/)))--->
if (!flock ($fh, $mode))
The other one is a warning generated: minerva:/space/birn/12/users/tosa/minerva/dev>makecd . && /bin/sh /space/birn/12/users/tosa/minerva/dev/config/missing --run aclocal-1.8/usr/share/aclocal/cppunit.m4:4: warning: underquoted definition of AM_PATH_CPPUNIT run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending%20aclocal/usr/share/aclocal/avifile.m4:21: warning: underquoted definition of AM_PATH_AVIFILE/opt/gnome/share/aclocal/gst-element-check-0.6.m4:7: warning: underquoted definition of AM_GST_ELEMENT_CHECK The fix is to do, For instance # bad style AC_PREREQ(2.57) AC_DEFUN(AX_FOOBAR,[AC_REQUIRE([AX_SOMETHING]) dnl AX_FOO AX_BAR]) should be rewritten as AC_DEFUN([AX_FOOBAR],[AC_PREREQ(2.57) dnl AC_REQUIRE([AX_SOMETHING]) dnl AX_FOO AX_BAR ]) Wrapping AC_PREREQ call inside the macro and quoting the AX_FOOBAR allowsthe macro to be redefined or included twice. (see http://sources.redhat.com/automake/automake.html#Extending%20aclocal.) How can I setup for autofs?We have /space, /links, /homes, /cmas set up as nfs mounted places.Note that RedHat /etc/auto.master is not compatible with SUSE. Here is the RedHat version: yp:auto.space intr,rw,hard,nodev,rsize=8192,wsize=8192 yp:auto.links intr,rw,hard,nodev yp:auto.homes intr,rw,hard,nodev,rsize=8192,wsize=8192 yp:auto.cmas intr,rw,hard,nodev SUSE does not understand "yp:" part. Thus /etc/init.d/autofs must be modified to remove yp: part in function getmouts_nis(): /etc/init.d>diff autofs autofs.orig11c11< # Should-Start: ypbind keyserv nfslock---> # X-UnitedLinux-Should-Start: ypbind keyserv nfslock13c13< # Should-Stop:---> # X-UnitedLinux-Should-Stop:109,110d108< nismap=`echo $map | cut -f2- -d:`< test -n "$nismap" && map=$nismap158c156< echo "$DAEMON $daemonoptions $dir $prog $map"---> echo "$DAEMON $daemonoptions $dir $prog \"$map\"" In /etc/nsswitch.conf, one must have automount: files nis Run the cron job of /usr/etc/fixlinks every 41st minutes.
#!/usr/bin/perluse strict;use File::Find ();
# for the convenience of &wanted calls, including -eval statements:use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
exit if ( -d "/autofs_links");
my $yp=`ypwhich >
/dev/null 2>&1`;
exit unless (($?>>8) == 0);
if ( -d "/autofs/space" )
{ my $n = int(rand(5));
$n += 2;
foreach my $d ( 'space', 'homes', 'cmas' )
{
next unless ( -d "/autofs/links/$n/$d" );
my $rdate = ( -M "/autofs/links/$n/$d" );
my $ldate = ( -M "/$d" ) || 32768;
my @t = stat("/$d");
my $nlinks = $t[3];
if ( ! -d "/$d" || $rdate < $ldate || $nlinks < 6)
{
chdir("/autofs/links/$n/$d") or die;
mkdir("/$d.new");
open(TAR,"tar cf - . | ( cd /$d.new ; tar xf - ) |") or die;
while() { print $_; }
close(TAR);
&removedir("/$d.old") if ( -d "/$d.old" );
rename("/$d","/$d.old") if ( -d "/$d" );
rename("/$d.new","/$d");
&removedir("/$d.old") if ( -d "/$d.old" );
} }}sub wanted { lstat($_);
if ( -d _ )
{ rmdir($_); }
else
{ unlink($_); }}
sub removedir
{
my $dir = shift;
File::Find::finddepth({wanted => \&wanted}, $dir); rmdir($dir);
}
Why doesn't autofs work on SUSE9.1?When I installed SUSE9.1, autofs did not work at boot time. However, doing/etc/init.d/autofs start did work. When I did chkconfig autofs on,it returned saying it has been activated. However chkconfig -L autofs showed all runlevels were off. Our sysadmin, Paul, found that /etc/rc.d/rc5.d did not have the link to autofs. Create a link like the following: /etc/rc.d/rc5.d> ls -l *autofs lrwxrwxrwx 1 root root 9 2004-06-28 22:55 K05autofs -> ../autofs* lrwxrwxrwx 1 root root 9 2004-06-28 22:55 S17autofs -> ../autofs* /etc/rc.d/rc3.d> ls -l *autofs lrwxrwxrwx 1 root root 9 2004-06-28 22:55 K05autofs -> ../autofs* lrwxrwxrwx 1 root root 9 2004-06-28 22:55 S17autofs -> ../autofs* What is the gcc cpuid to use (-march=) for opteron?Currently, gcc 3.4.x does not distinguish various AMD64 processors (Opteron,Athlon64, Athlon64-Fx). You use -mcpu=x86-64 for gcc (Note that it is notx86_64). Don't use -m3dnow but use -msse2. AMD decided to obsolte 3dnow. How can I eliminate the permission denied error on postfix mail?The error messages repeats are as follows:postdrop: warning: mail_queue_enter: create file maildrop/764996.16760: Permission denied
0. kill all postdrop process (ps aux | grep postdrop).
1. /etc/postfix/main.cf mydestination should be point to the mail server.
2. permission of /var/spool/postfix/maildrop should be drwx-wx--T (1734)
This is the sticky bit. 'T' means that the sticky bit is set (t is executalbe sticky bit).
3. if /usr/sbin/postdrop has set-gid is enabled, then /var/spool/postfix/maildrop must
be the same group ownership.
4. run "/etc/postfix/post-install set-permissions"
How can I run the old 32 bit application on a 64 bit OS?Use linux32. $ linux32 uname -p athlon $ uname -p x86_64 Another way is to use 32 bit console to run. The 32 bit consoleis available by System->Terminal->Linux32 Edited on 11/26/2004 |
OSes‎ > ‎