到下午5点50
一、qmail出现警告,请问这是这么回事
Oct 8 09:05:54 SUN250A qmail: [ID 748625 mail.alert] 1034039154.980585 alert: unable to append to bounce message; HELP! sleeping...
解决了
用了cat > wtmpx
二、root用户和 sudo 成 root 的用户有什么区别
sudo指令
功能: 以root的身分执行命令
语法: sudo 其他指令
用户: 被root加入『/etc/sudoers』文件中的用户
1.root的密码除了root本人知道外,不需被其他需要用到root权限用户知道,因为使用sudo时,要求输入的密码是『该位用户自己的密码』。
2.把所有可执行sudo指令的用户都规范在『/etc/sudoers』这个文件中,root可以很容易地掌控整个系统。
执行sudo su -成root的用户,我觉得应该和root用户没什么区别吧?
而普通用户使用sudo 来执行只有root才能执行权限的命令,当然跟用root用户执行是不一样的,因为这时候他用的还是普通用户的环境变量啊
补充一下,用su -成root的用户还是有些环境变量是和root登陆是不一样的。另外,它们的uid也是不一样,只有euid是相同的。
三、apache可不可以禁止http的list?
有一行"Options Indexes FollowSymLinks MultiViews"
把其中的Indexes去掉了就行了,改掉这,所有的目录都不能浏览了
如果想禁止某一个或几个目录,可以继续往下看
四、sendmail下的pop3该怎么开启???
如果有solaris7的server版,它的easy access盘里有pop3软件
五、solaris8 安装完后,在字符界面中,输入错误时,却无法退回。怎么才能解决呢?
命令行,可以用del键
六、怎么让solaris7认识40gb的IDE硬盘
用solaris 8的光盘启动 format 然后 label一下那快盘 然后solaris 7就可以认出40g的大小了。
七、打完补丁后系统启不来了
由于装应用软件的时候要去solaris7要打补丁106980-18,106541-20,107544-02,106327-14,106950-18,107081-45,107656-09,108376-37,112300-01。我安装完之后用init 6命令重启系统,console出现信息:
INIT: can't creat /var/adm/utmp or /var/adm/utmpx
INIT:failed write of utmpx entry:" "
INIT:failed write of utmpx entry:" "
INIT:SINGLE USER MODE
ENTER RUN LEVEL(0-6,s,S)
可是无论输入什么,系统都无法重启或者关机,仍旧出ENTER RUN LEVEL(0-6,s,S)提示,哪位大侠知道是怎么回事?多谢了
在安装patch106950-18的时候有提示:
expr: Cannot execute /usr/lib/ld.so.1
Patch number 106950-18 has been successfully installed.
See /var/sadm/patch/106950-18/log for details
当时没有去看log里的详细信息,以各位高手看来这个问题会导致系统无法重启么?
为了感谢大家的帮助,我把问题的原因和最后的解决方法在这里简单的总结一下:(主体是直接从Sun公司的工程师给我们的solution文档中拷贝过来,应该不算侵权吧,呵呵)
SRDB ID: 20987
SYNOPSIS: After installing Solaris 7 kernel patch 106541, system fails to boot with the message "INIT: Cannot create /var/adm/utmp or /var/adm/utmpx"
DETAIL DESCRIPTION:
After installing Solaris 7 kernel patch 106541 system fails to boot.
The message "INIT: Cannot create /var/adm/utmp or /var/adm/utmpx"
has more than one possible cause. However, if the Solaris 7 kernel patch
106541 was loaded just prior to the boot failure, the following
solution may apply.
SOLUTION SUMMARY:
With a Solaris software CD in the cdrom drive.
#1. boot cdrom -s
#2. mount /dev/dsk/c0t0d0s0 /a
#3. ls -l /a/devices/pseudo/sys*
If there is NO MATCH - this is the key that the kernel patch
install is the culprit. Proceed to step 4.
If there IS a match - then it is likely that something else
is responsible for the NO BOOT issue. For example,
/etc/vfstab was recently edited and the mount of /var is incorrect.
#4. Get the "postpatch" script from the 106541-05 directory. It might
still be on the hard drive, or it can be moved on to the system via
ftp. 106541-07 uses the identical postpatch script and it
can be used as an alternative to the -05 postpatch script.
#5. #ROOTDIR=/a
#export ROOTDIR
#chmod 755 postpatch
#./postpatch
#6. ls -l /a/devices/pseudo/sys*
should now see the devices:
sysmsg@0:msglog and sysmsg@0:sysmsg
#7. #cd /
#umount /a
reboot
Note: To ftp the postpatch script from a server on the network, just
use the ip address of that server. #ftp ip_address
If additional network configuration is needed to accomplish the ftp,
reference InfoDoc 19086 How to access the network from a "boot cdrom -s"
environment.
The postpatch script is shown here for reference:
#! /bin/sh
#
# This is for the remote console. It checks for existence
# of the new device nodes, and creates them if necessary. This
# code emulates what would otherwise occur in SUNWcsd/postinstall,
# it is a requirement that this code run before the reconfiguration
# reboot.
#
# ensures an entry is in /etc/name_to_major
if [ -f $ROOTDIR/kernel/drv/sysmsg ]; then
/usr/sbin/add_drv -n -b $ROOTDIR sysmsg
else
exit 0
fi
devnode=$ROOTDIR/devices/pseudo/sysmsg@0:sysmsg
grep sysmsg $ROOTDIR/etc/name_to_major >/dev/null 2>&1
if [ "$?" = "0" ]; then
major_sysmsg=`grep sysmsg \
$ROOTDIR/etc/name_to_major | nawk '{ print $2 }'`
else
exit -1
fi
rm -f $devnode
mknod $devnode c $major_sysmsg 0
chmod 0600 $devnode
chown root:sys $devnode
devnode=../devices/pseudo/sysmsg@0:sysmsg
devlink=sysmsg
( cd $ROOTDIR/dev ; \
rm -f $devlink ; ln -s $devnode $devlink )
devnode=$ROOTDIR/devices/pseudo/sysmsg@0:msglog
grep sysmsg $ROOTDIR/etc/name_to_major >/dev/null 2>&1
if [ "$?" = "0" ]; then
major_sysmsg=`grep sysmsg \
$ROOTDIR/etc/name_to_major | nawk '{ print $2 }'`
else
exit -1
fi
rm -f $devnode
mknod $devnode c $major_sysmsg 1
chmod 0600 $devnode
chown root:sys $devnode
devnode=../devices/pseudo/sysmsg@0:msglog
devlink=msglog
( cd $ROOTDIR/dev ; \
rm -f $devlink ; ln -s $devnode $devlink )
exit 0
APPLIES TO: Operating Systems, Operating Systems/Solaris, Operating Systems/Solaris/Solaris 7, OS Install/Boot, OS Install/Boot/System Boot, AFO Vertical Team Docs, AFO Vertical Team Docs/Install/Boot, AFO Vertical Team Docs/Kernel
ATTACHMENTS:
其中第四步要取postpatch脚本,由于无法从硬盘上找到,又无法与别的机器建立ftp连接,我就手工地把postpatch脚本中的命令一行行地敲进去了,虽然麻烦了一点,但最终还是一切ok了,好开心啊!
八、编译时寻找的连接库路经如何指定?
LD_LIBRARY_PATH似乎只是补充指定共享库路经的,我的LD_LIBRARY_PATH设的是/usr/openwin/lib,但是我用gcc -o foo foo.c -lsocket的时候编译器其实是到/usr/lib里去找libsocket.so文件,但是我的PATH等变量中并没有制定这个目录,难道是编译器的默认指定么?那么在哪里修改这个缺省值呢?
It's the system's default behavior, but you can override it using "crle"
You can take this as reference:
http://supportforum.sun.com/freesolaris/techfaqs.html?techfaqs_3057
and turn to "man crle" for more info.