ChinaUnix.net
 >> ChinaUnix.net > Solaris

10月8日~10月9日

作者:mmmmn     发表时间:2002/10/09 05:54pm

到下午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.



此文章相关评论:
该文章有16个相关评论如下:(点这儿可以发表评论)
岳萌萌 发表于: 2002/10/09 06:06pm
刚过节,就这么勤奋啊。表扬!
 
南非蜘蛛 发表于: 2002/10/09 06:16pm
老大,辛苦
 
岳萌萌 发表于: 2002/10/09 06:19pm
咿~~~~~~

蜘蛛,你的头像没有以前那个漂亮哦~~~~

 
Lost in spy 发表于: 2002/10/09 06:35pm
确实网速慢了许多耶
 
科学球 发表于: 2002/10/10 08:58am
这里的斑竹是我见过最好的:)
 
caiyaz 发表于: 2002/10/10 10:48am
mmmmn,一般用户通过su -成root与直接用root进入,通过id命令所得到的uid是一样,我试过了,那euid是如何看的?
 
mmmmn 发表于: 2002/10/10 12:57pm
who am i

whoami
两个命令,自己看看
 
josephxd 发表于: 2002/10/10 01:33pm
mmmmn的签名换了,是不是遇到什么伤心事了.
 
mmmmn 发表于: 2002/10/10 03:03pm
我靠,你不多嘴别人不会把你当哑巴卖掉的
 
zmcc135 发表于: 2002/10/10 03:10pm
why not just using "id"
if the euid and uid do not match, then euid will be appended at eol
 
mmmmn 发表于: 2002/10/10 03:13pm
呵呵,谢谢,主要是我对那两个命令印象太深。它们不在默认的路径里,当初我找了好长时间:)
 
leowang1999 发表于: 2002/10/10 05:26pm
这里人器好望,感谢感谢!
 
sunmarmot 发表于: 2002/10/11 00:19am
mmmmn的签名是写给某个mm看的吧
 
zmcc135 发表于: 2002/10/11 01:58am
[这个贴子最后由zmcc135在 2002/10/11 10:27am 编辑]

[quote][b]下面引用由[u]mmmmn[/u]在 [i]2002/10/10 03:13pm[/i] 发表的内容:[/b]
呵呵,谢谢,主要是我对那两个命令印象太深。它们不在默认的路径里,当初我找了好长时间:)
[/quote]
i use whoami rarely
who am i.......mmmmm.......have u tried who is god/who is evil or so? haha
 
mmmmn 发表于: 2002/10/11 08:33am
我靠,我使用过
I am god命令,结果机器发出haha的声音一天以后,cpu因为过热烧了
 
zmcc135 发表于: 2002/10/11 12:08pm
真是mm就别学人说粗口,为了下一代(或是为了另一半)嘛。不要被韩流毒草给害了

刚开始看UNIX的时候看到过据说为了搞点乐趣,是有who is god, whereis sun之类的人机对话的,不过等到我去试的时候就好像已经没什么意义了,是不是被去掉了:
who is god
god

who is god
<结果同who>

who is god
is doesn't exist or isn't readable
<下面是语法提示>
想想只有字符界面时,玩玩字符AVG,贪吃蛇,再跟计算机聊聊上帝啊,你我啊,也是挺不错的。只是现在已经体会不到其中的乐趣了

 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者