The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

#

1)最简单的获取本机的机器名
[java] view plaincopy
import java.net.InetAddress;  
import java.net.UnknownHostException;  
  
public class GetInfo {    
      
    public static void main(String[] args) throws UnknownHostException {  
         InetAddress s = InetAddress.getLocalHost();  
         System.out.println(s.getHostName());  
    }  
  
}  
输入结果:
PC-201012262159
2)获取Java环境信息和操作系统环境信息
[java] view plaincopy
import java.util.*;  
  
public class GetInfo {    
      
    public static void main(String[] args) {  
        Properties props = System.getProperties();  
        System.out.println("Java的运行环境版本:" + props.getProperty("java.version"));  
        System.out.println("Java的运行环境供应商:" + props.getProperty("java.vendor"));  
        System.out.println("Java供应商的URL:"+ props.getProperty("java.vendor.url"));  
        System.out.println("Java的安装路径:" + props.getProperty("java.home"));  
        System.out.println("Java的虚拟机规范版本:"+ props.getProperty("java.vm.specification.version"));  
        System.out.println("Java的虚拟机规范供应商:" + props.getProperty("java.vm.specification.vendor"));  
        System.out.println("Java的虚拟机规范名称:"+ props.getProperty("java.vm.specification.name"));  
        System.out.println("Java的虚拟机实现版本:"+ props.getProperty("java.vm.version"));  
        System.out.println("Java的虚拟机实现供应商:" + props.getProperty("java.vm.vendor"));  
        System.out.println("Java的虚拟机实现名称:" + props.getProperty("java.vm.name"));  
        System.out.println("Java运行时环境规范版本:" + props.getProperty("java.specification.version"));  
        System.out.println("Java运行时环境规范供应商:"+ props.getProperty("java.specification.vender"));  
        System.out.println("Java运行时环境规范名称:" + props.getProperty("java.specification.name"));  
        System.out.println("Java的类格式版本号:"+ props.getProperty("java.class.version"));  
        System.out.println("Java的类路径:" + props.getProperty("java.class.path"));  
        System.out.println("加载库时搜索的路径列表:"   + props.getProperty("java.library.path"));  
        System.out.println("默认的临时文件路径:" + props.getProperty("java.io.tmpdir"));  
        System.out.println("一个或多个扩展目录的路径:" + props.getProperty("java.ext.dirs"));  
        System.out.println("操作系统的名称:" + props.getProperty("os.name"));  
        System.out.println("操作系统的构架:" + props.getProperty("os.arch"));  
        System.out.println("操作系统的版本:" + props.getProperty("os.version"));  
        System.out.println("文件分隔符:" + props.getProperty("file.separator"));  //在 unix 系统中是"/"  
        System.out.println("路径分隔符:" + props.getProperty("path.separator")); // 在 unix 系统中是":"  
        System.out.println("行分隔符:" + props.getProperty("line.separator")); // 在 unix系统中是"/n"  
        System.out.println("用户的账户名称:" + props.getProperty("user.name"));  
        System.out.println("用户的主目录:" + props.getProperty("user.home"));  
        System.out.println("用户的当前工作目录:" + props.getProperty("user.dir"));  
    }  
  
}  
输出结果:
Java的运行环境版本:1.6.0_13
Java的运行环境供应商:Sun Microsystems Inc.
Java供应商的URL:http://java.sun.com/
Java的安装路径:D:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre
Java的虚拟机规范版本:1.0
Java的虚拟机规范供应商:Sun Microsystems Inc.
Java的虚拟机规范名称:Java Virtual Machine Specification
Java的虚拟机实现版本:11.3-b02
Java的虚拟机实现供应商:Sun Microsystems Inc.
Java的虚拟机实现名称:Java HotSpot(TM) Client VM
Java运行时环境规范版本:1.6
Java运行时环境规范供应商:null
Java运行时环境规范名称:Java Platform API Specification
Java的类格式版本号:50.0
Java的类路径:C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\classes;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\org.springframework.core-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\org.springframework.context-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\org.springframework.beans-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\org.springframework.asm-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\com.springsource.org.apache.log4j-1.2.15.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\com.springsource.org.apache.commons.logging-1.1.1.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\core\org.springframework.expression-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistJdbc\com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistJdbc\commons-dbcp.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistJdbc\com.springsource.org.apache.commons.pool-1.5.3.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistJdbc\jotm.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistJdbc\xapool.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistJdbc\com.springsource.org.apache.commons.lang-2.4.0.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistCore\persistence.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistCore\org.springframework.jdbc-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistCore\org.springframework.orm-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\persistCore\org.springframework.transaction-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\org.springframework.aop-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\com.springsource.org.aopalliance-1.0.0.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\com.springsource.net.sf.cglib-2.2.0.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\org.springframework.aspects-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\org.springframework.instrument-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\MyEclipse 8.5\configuration\org.eclipse.osgi\bundles\87\1\.cp\data\3.0\lib\aop\org.springframework.instrument.tomcat-3.0.1.RELEASE-A.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.ws.xfire_8.5.0.me201003052220\lib\webservices-api.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.ws.xfire_8.5.0.me201003052220\lib\webservices-extra-api.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.ws.xfire_8.5.0.me201003052220\lib\webservices-extra.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.ws.xfire_8.5.0.me201003052220\lib\webservices-rt.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\activation.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\javax.servlet.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\javax.servlet.jsp.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\jboss-j2ee.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\jboss-jaxrpc.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\jboss-jsr77.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\jboss-saaj.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\mail.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\namespace.jar;D:\Program Files\Genuitec\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\1.4\xml-apis.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\commons-codec-1.4.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\commons-lang-2.4.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\dom4j-1.6.1.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\log4j-1.2.14.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\commons-io-1.4.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\jaxen-1.1.1.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\ojdbc14.jar;C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication\WEB-INF\lib\commons-httpclient-3.1.jar
加载库时搜索的路径列表:D:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/Program Files/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client;D:/Program Files/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin;C:\Program Files\Common Files\NetSarang;F:\oracle\product\10.2.0\db_1\bin;;d:\Program Files\XMedia\tools\miscc:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.1.8\bin;D:\Android\android-sdk-windows\tools;D:\Program Files\TortoiseSVN\bin;C:\Program Files\Intel\WiFi\bin\;D:\Program Files\Java\jrockit-jdk1.6.0_22-R28.1.1-4.0.1\bin;c:\oracle\ora92\bin;""C:\Program Files\Oracle\jre\1.1.8\bin";"";"
默认的临时文件路径:C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
一个或多个扩展目录的路径:D:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
操作系统的名称:Windows XP
操作系统的构架:x86
操作系统的版本:5.1
文件分隔符:\
路径分隔符:;
行分隔符:
用户的账户名称:Administrator
用户的主目录:C:\Documents and Settings\Administrator
用户的当前工作目录:C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\Authentication
3)获取本机MAC地址和实时IP地址
[java] view plaincopy
import java.net.InetAddress;  
import java.net.NetworkInterface;  
import java.net.SocketException;  
import java.net.UnknownHostException;  
import java.util.Formatter;  
import java.util.Locale;  
  
public class GetInfo {    
      
    public static void main(String[] args) throws UnknownHostException, SocketException {  
        InetAddress address = InetAddress.getLocalHost();  
        NetworkInterface ni = NetworkInterface.getByInetAddress(address);  
        ni.getInetAddresses().nextElement().getAddress();  
        byte[] mac = ni.getHardwareAddress();  
        String sIP = address.getHostAddress();  
        String sMAC = "";  
        Formatter formatter = new Formatter();  
        for (int i = 0; i < mac.length; i++) {  
            sMAC = formatter.format(Locale.getDefault(), "%02X%s", mac[i],  
                    (i < mac.length - 1) ? "-" : "").toString();  
        }  
        System.out.println("IP:" + sIP);  
        System.out.println("MAC:" + sMAC);  
    }  
  
}  
输出结果:
IP:10.192.33.64
MAC:00-21-86-58-39-C6
4)获取本机用户名、计算机名、计算机域名
[java] view plaincopy
import java.util.Map;  
  
public class GetInfo {    
      
    public static void main(String[] args) {  
        Map<String, String> map = System.getenv();  
          String userName = map.get("USERNAME");// 获取用户名  
          String computerName = map.get("COMPUTERNAME");// 获取计算机名  
          String userDomain = map.get("USERDOMAIN");// 获取计算机域名  
          System.out.println(userName);  
          System.out.println(computerName);  
          System.out.println(userDomain);  
    }  
  
}  
使用自带的System.getenv()方法获得一个Map
输出结果:
Administrator
PC-201012262159
PC-201012262159
5)获取本机的实时IP、计算机名、操作系统名、操作系统版本
[java] view plaincopy
import java.net.InetAddress;  
import java.net.UnknownHostException;  
import java.util.Properties;  
  
public class GetInfo {    
      
    public static void main(String[] args) throws UnknownHostException {  
        InetAddress addr = InetAddress.getLocalHost();    
        String ip=addr.getHostAddress().toString(); //获取本机ip  
        String hostName=addr.getHostName().toString(); //获取本机计算机名称  
        System.out.println("本机IP:"+ip+"\n本机名称:"+hostName);  
        Properties props1=System.getProperties();   
        System.out.println("操作系统的名称:"+props1.getProperty("os.name"));   
        System.out.println("操作系统的版本:"+props1.getProperty("os.version"));    
    }  
  
}  
输出结果:
本机IP:10.192.33.64
本机名称:PC-201012262159
操作系统的名称:Windows XP
操作系统的版本:5.1
posted @ 2013-11-28 16:22 Eric_jiang 阅读(325) | 评论 (0)编辑 收藏

1:request.getRequestDispatcher("转发路径").forward(req,resp)该语句是实现请求转发的,当请求进入到该servlet中执行到该语句时,服务器不会直接响应而是转发到转发路径得servlet继续处理,由于将req和resp带过去了,所以这期间是没有重新创建request和response对象,所以在接下来的servlet中同样可以获得当前servlet的request中的参数。
2:response.sendRedirect("")当运行到servlet的该条语句时,服务器会响应浏览器一个小心头告诉浏览器重新请求方法中的路径对应的servlet,因为是浏览器从新请求所以会创建新的request和response对象,因此上一次请求的request中的参数无法得到。
很好的理解这两者的原理和区别有助于熟练操作请求的转发和重定向。熟练的控制参数获取。 
posted @ 2013-11-28 14:36 Eric_jiang 阅读(284) | 评论 (0)编辑 收藏

1.确定DSN

LOGON TSO->SD.DA->PRE CANSDSST->JESJCL->F RKANPARU

会看到如下内容:

... DISP=SHR, DSN=**.**.RKANPARU(**)

这就是需要查到的DSN

2.查看需要确定IP地址的LPAR的DS的KDSENV

可以看到以下内容:

KDEB_INTERFACELIST=**, **即为IP地址

posted @ 2013-11-25 14:59 Eric_jiang 阅读(443) | 评论 (0)编辑 收藏



今天介绍下VM8下安装Mac OS X 10.7


1、工具篇

下载Vmware Workstation 8.0正式版http://115.com/file/bhyk1l2u#

Vmware8.0 汉化包http://115.com/file/dn38a7eu#

(因为我的电脑要经常上网银什么的所以为了安全直起签我没有装汉化包,用的是原版英文版!但我测试过此汉化包)


下载Mac OS X  10.7 安装包http://115.com/file/clj1iu8m#

下载HJMac http://115.com/file/cljyu1rh#  (使用说明在后面)

下载Mac OS X  10.7 .2 离线升级包    http://115.com/file/cly2xggh#

(可能这个离线升级包不一定要用我这个有时间的朋友可以自己去网上找来测试下,升级方法在后面!)

2、虚拟机安装

这个安装很简单的,直接一路Next 到最后就可以了!这个应该可以略过啦...

3、虚拟机设置

安装完以后点桌面的VMware Workstation图标打开,开始创建虚拟机。

创建虚拟机,基本都下一步就可以很简单的。虚拟机型号要选FreeBSD X 64,

CPU最好要设双核,内存2G以上, 硬盘不小于30G这  样基本上搞定了。
 






















到这里虚拟机 设置好一切准备就绪

 

接下来就开始安装系统



























 

至此整个安装过程基本算是完成了

posted @ 2013-11-21 14:25 Eric_jiang 阅读(469) | 评论 (0)编辑 收藏

linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
1.命令格式:
df [选项] [文件]
2.命令功能:
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示
3.命令参数:
必要参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型
选择参数:
--block-size=<区块大小> 指定区块大小
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
--help 显示帮助信息
--version 显示版本信息
4.使用实例:
实例1:显示磁盘使用情况
命令:
df
输出:
[root@CT1190 log]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156 112797500  80413912  59% /opt
/dev/sda8              4956284    570080   4130372  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot
tmpfs                 16473212         0  16473212   0% /dev/shm
说明:
linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的挂载点。
实例2:以inode模式来显示磁盘使用情况
命令:
df -i
输出:
[root@CT1190 log]# df -i
文件系统               Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/sda7            5124480    5560 5118920    1% /
/dev/sda9            52592640   50519 52542121    1% /opt
/dev/sda8            1280000    8799 1271201    1% /var
/dev/sda6            5124480   80163 5044317    2% /usr
/dev/sda3             255232      34  255198    1% /boot
tmpfs                4118303       1 4118302    1% /dev/shm
说明:
实例3:显示指定类型磁盘
命令:
df -t ext3
输出:
[root@CT1190 log]# df -t ext3
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156  93089700 100121712  49% /opt
/dev/sda8              4956284    570104   4130348  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot
说明:
实例4:列出各文件系统的i节点使用情况
命令:
df -ia
输出:
[root@CT1190 log]# df -ia
文件系统               Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/sda7            5124480    5560 5118920    1% 
/proc                       0       0       0    -  /proc
sysfs                      0       0       0    -  /sys
devpts                     0       0       0    -  /dev/pts
/dev/sda9            52592640   50519 52542121    1% /opt
/dev/sda8            1280000    8799 1271201    1% /var
/dev/sda6            5124480   80163 5044317    2% /usr
/dev/sda3             255232      34  255198    1% /boot
tmpfs                4118303       1 4118302    1% /dev/shm
none                       0       0       0    -  /proc/sys/fs/binfmt_misc
说明:
实例5:列出文件系统的类型
命令:
df -T
输出:
root@CT1190 log]# df -T
文件系统      类型     1K-块        已用     可用 已用% 挂载点
/dev/sda7     ext3    19840892    890896  17925856   5% /
/dev/sda9     ext3   203727156  93175692 100035720  49% /opt
/dev/sda8     ext3     4956284    570104   4130348  13% /var
/dev/sda6     ext3    19840892   1977568  16839184  11% /usr
/dev/sda3     ext3      988116     23880    913232   3% /boot
tmpfs        tmpfs    16473212         0  16473212   0% /dev/shm
说明:
实例6:以更易读的方式显示目前磁盘空间和使用情况 
命令:
输出:
[root@CT1190 log]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda7              19G  871M   18G   5% /
/dev/sda9             195G   89G   96G  49% /opt
/dev/sda8             4.8G  557M  4.0G  13% /var
/dev/sda6              19G  1.9G   17G  11% /usr
/dev/sda3             965M   24M  892M   3% /boot
tmpfs                  16G     0   16G   0% /dev/shm
[root@CT1190 log]# df -H
文件系统               容量   已用  可用 已用% 挂载点
/dev/sda7               21G   913M    19G   5% /
/dev/sda9              209G    96G   103G  49% /opt
/dev/sda8              5.1G   584M   4.3G  13% /var
/dev/sda6               21G   2.1G    18G  11% /usr
/dev/sda3              1.1G    25M   936M   3% /boot
tmpfs                   17G      0    17G   0% /dev/shm
[root@CT1190 log]# df -lh
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda7              19G  871M   18G   5% /
/dev/sda9             195G   89G   96G  49% /opt
/dev/sda8             4.8G  557M  4.0G  13% /var
/dev/sda6              19G  1.9G   17G  11% /usr
/dev/sda3             965M   24M  892M   3% /boot
tmpfs                  16G     0   16G   0% /dev/shm
[root@CT1190 log]# df -k
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156  93292572  99918840  49% /opt
/dev/sda8              4956284    570188   4130264  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot
tmpfs                 16473212         0  16473212   0% /dev/shm
说明:
-h更具目前磁盘空间和使用情况 以更易读的方式显示
-H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换
-k以单位显示磁盘的使用情况
-l显示本地的分区的磁盘空间使用率,如果服务器nfs了远程服务器的磁盘,那么在df上加上-l后系统显示的是过滤nsf驱动器后的结果
-i显示inode的使用情况。linux采用了类似指针的方式管理磁盘空间影射.这也是一个比较关键应用
posted @ 2013-11-17 21:26 Eric_jiang 阅读(300) | 评论 (0)编辑 收藏

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。 

  1.命令格式:

    chown [选项]... [所有者][:[组]] 文件...

  2.命令功能:

    通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。

  3.命令参数:

  必要参数:

    -c 显示更改的部分的信息

    -f 忽略错误信息

    -h 修复符号链接

    -R 处理指定目录以及其子目录下的所有文件

    -v 显示详细的处理信息

    -deference 作用于符号链接的指向,而不是链接文件本身

  选择参数:

    --reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组

    --from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变

    --help 显示帮助信息

    --version 显示版本信息

  4.使用实例:

  实例1:改变拥有者和群组

  命令:

    chown mail:mail log2012.log

  输出:  


[root@localhost test6]# ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log
[root@localhost test6]# chown mail:mail log2012.log 
[root@localhost test6]# ll
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail mail  302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log
[root@localhost test6]#

  说明:

  实例2:改变文件拥有者和群组

  命令:

    chown root: log2012.log

  输出:    


[root@localhost test6]# ll
总计 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 mail mail  302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log
[root@localhost test6]# chown root: log2012.log 
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root root  302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log
[root@localhost test6]#

  说明:

  实例3:改变文件群组

  命令:

    chown :mail log2012.log

  输出:  


[root@localhost test6]# ll
总计 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root root  302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log
[root@localhost test6]# chown :mail log2012.log 
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log
---xr--r-- 1 root mail  302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root users      0 11-30 08:39 log2017.log

  说明:

  实例4:改变指定目录以及其子目录下的所有文件的拥有者和群组 

  命令:

    chown -R -v root:mail test6

  输出:  


[root@localhost test]# ll
drwxr-xr-x 2 root users   4096 11-30 08:39 test6
[root@localhost test]# chown -R -v root:mail test6
“test6/log2014.log” 的所有者已更改为 root:mail
“test6/linklog.log” 的所有者已更改为 root:mail
“test6/log2015.log” 的所有者已更改为 root:mail
“test6/log2013.log” 的所有者已更改为 root:mail
“test6/log2012.log” 的所有者已保留为 root:mail
“test6/log2017.log” 的所有者已更改为 root:mail
“test6/log2016.log” 的所有者已更改为 root:mail
“test6” 的所有者已更改为 root:mail
[root@localhost test]# ll
drwxr-xr-x 2 root mail   4096 11-30 08:39 test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail 302108 11-30 08:39 linklog.log
---xr--r-- 1 root mail 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 root mail     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail      0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail      0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail      0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail      0 11-30 08:39 log2017.log

posted @ 2013-11-17 21:21 Eric_jiang 阅读(179) | 评论 (0)编辑 收藏

故障现象:

 

Telnet或者Pcom软件显示登陆界面太慢

 

适用系统版本: V4R4  V4R5

 

对于V4R4或者V4R5系统,我们通过telnet客户端登陆AS/400的时候,经常会很久才能显示signon登陆界面,但是一旦signon界面出来后,接着的交互式操作相应速度都很正常。

 
负责Telnet登陆的初始程序是QTVDEVICE, 该作业的默认运行级别是50。虽然该作业在绝大多数系统上运行的挺好,但是,在一些拥有大量的批处理左右的系统中,作业QTVDEVICE会同批处理作业去抢占CPU资源,从而影响了signon屏幕的相应。


解决这个问题的方法,通常是增加QTVDEVICE 作业的运行优先级到20

如果你打了补丁 SF62558 (V4R4) 或者 SF62559 (V4R5) ,或者更高的补丁版本,这些补丁会调整该作业的运行优先级到20

 

使用下面的步骤命令来调整运行优先级路由条目到20

ADDRTGE SBSD(QSYS/QSYSWRK) SEQNBR(2517) CMPVAL('TELNETD' 1)
PGM(QSYS/QCMD) CLS(QSYS/QSYSCLS20)
-
如果PTF没有应用,使用下面的命令改变优先级路由条目到20

ADDRTGE SBSD(QSYS/QSYSWRK) SEQNBR(2517) CMPVAL('QCMDI' 1)
PGM(QSYS/QCMD) CLS(QSYS/QSYSCLS20)
-
注意: Telnet服务和QTVDEVICE作业必须结束,系统重启后,优先级才能改变。
-
Additional Information:
-
Previous to the PTFs being applied the QTVDEVICE jobs are submitted with a compare value of QCMDI.  If the performance issues occurred, the circumvention noted above was to add a Routing Entry with a compare value for QCMDI that will reference a Class with a higher run priority.  A drawback to this is that other jobs, the Pass-through server for example, are submitted to the QSYSWRK subsystem with a compare value of QCMDI.  So the QCMDI Routing Entry affected more than just Telnet.
-
Mindful of the potential side effects of the first circumvention, a unique compare value of TELNETD was added to the QTVDEVICE job submission via PTF.  This allows the run priority of the Telnet QTVDEVICE jobs to be changed without affecting any other programs.  A real consideration with these PTFs, which are on the current Cumulative Packages, is that if you previously had added the QCMDI Routing Entry to address this issue, and the new Routing Entry is not added, the same performance lags that were experienced before will reappear.
-
If you had previously added the QCMDI Routing Entry at sequence number 2517, the recommendation is to remove that Routing Entry and add the one for TELNETD at sequence number 2517.  Because in future releases of OS/400 the install of TCP/IP Connectivity Utilities will add the Routing Entry for TELNETD at sequence number 2517.  If you still want jobs that are submitted to the QSYSWRK subsystem with a compare value of QCMDI to run at a priority other than 50, then add that Routing Entry back at any
available sequence number.
-
For tuning the System performance further, the run priority can be customized by replacing the QSYSCLS20 class with a different class, either system provided or user created, that references a different run priority.  And with the new PTFs applied, that change will only affect the Telnet server jobs.  

posted @ 2013-11-11 14:29 Eric_jiang 阅读(567) | 评论 (0)编辑 收藏

产品: OS/400,i5/OS
平台: i5,iSeries, AS/400 
版本: V5RxMx
问题
如何发现哪些OS/400系统值被修改了,什么时候被哪个用户修改的?
解答
每次一个OS/400系统值被修改,系统会自动向历史日志(QHST)写入一条信息:CPF1805, CPF1806, CPF1815 或 CPF1823 ;如果系统无法确认这次系统值的修改是否成功,还会向历史日志(QHST)再写入一些信息,如 CPF1807, CPF1808 或 CPF1824。
请用如下方法来定位在特定时间里是否有这些信息产生了:
(1)DSPLOG + F4 + F10 调出所有参数,填写希望查看的时间段
(2)注意最后一页的参数"MSGID",请填入"CPF1805, CPF1806, CPF1807, CPF1808, CPF1815, CPF1823, CPF1824"
(3)在所有列出的信息里,如果想进一步了解某条信息,把光标定在这条信息下,按F1查看附加信息;再按F9查看详细信息,可知是哪个作业更改的这个系统值
posted @ 2013-11-11 14:21 Eric_jiang 阅读(447) | 评论 (0)编辑 收藏

     摘要: 配置通过IE来访问AS/400 5250界面 很多刚开始接触AS/400的用户很不习惯AS/400传统的5250黑屏界面。下面我们介绍如何通过IE来访问AS/400的5250界面。 要实现这个功能需要启用AS/400的WSG服务。 WSG是一个包含在IC/400内部的后台精灵程序,WSG能够自动地将送往特定TCP/IP端口(port,目前一般为5061)的5...  阅读全文
posted @ 2013-11-11 14:06 Eric_jiang 阅读(696) | 评论 (0)编辑 收藏

简介

轻量级目录访问协议 (Lightweight Directory Access Protocol,LDAP) 是一个轻量级的客户机-服务器协议,用于访问目录服务,尤其是那些基于 X.500 的服务。IBM Directory Server 是一个实现 LDAP 协议的成熟产品。近来流行的 Linux 提供了一些系统用户验证方法,包括本地文件、NIS、LDAP 和 PAM 机制。Linux 可以为不同的服务使用不同的验证方法。

本文介绍了如何使用 IBM Directory Server 进行 Linux 用户验证。我没有在文中介绍相关的概念; 参考资料 中有相关的背景资料。

我要管理的 Linux 系统为 RedHat Linux 7.3,LDAP 服务器是 IBM Directory Server 5.1。如果需要,请参考 RedHat 和 IBM 的网站提供的 Linux 和 Directory Server 5.1 安装说明。




配置 Directory Server 5.1 服务器

在使用 Directory Server 来存储您的 Linux 系统用户信息之前,您需要先计划您的系统用户结构。例如,我将 Directory Server 5.1 服务器安装在一个单独的 Windows 2000 服务器上,计划了如下的系统用户结构:

o=ibm,c=cn
|-ou=csdl,o=ibm,c=cn
|-ou=gcl,ou=csdl,o=ibm,c=cn
|-uid=user1,ou=gcl,ou=csdl,o=ibm,c=cn
|-uid=user2,ou=gcl,ou=csdl,o=ibm,c=cn




使用以下步骤来构建这个结构:

添加后缀。停止 Directory Server 服务器,然后使用 ldapxcfg 添加一个新的后缀: o=ibm,c=cn ,参见 图 1
图 1. 添加一个新后缀




Click here to open new window

导入 LDAP Data Interchange Format (LDIF) 文件,以及基本结构。编辑 LDIF 文件,它定义了根专有名称 (distinguished name,DN) 和基本结构 DN,如下所示。 version: 1

dn: o=IBM,c=CN
objectclass: top
objectclass: organization
o: ibm

dn: ou=CSDL,o=ibm,c=cn
ou: CSDL
objectclass: organizationalUnit
objectclass: top
description: China Software Development Lab
businessCategory: R&D

dn: ou=GCL,ou=CSDL,o=ibm,c=cn
ou: GCL
objectclass: organizationalUnit
objectclass: top
description: Globalization Certification Lab




使用 ldapxcfg 导入 LDIF,参见 图 2。




Click here to open new window

使用 Web 工具 ldif2db 来添加用户。创建一个新用户条目有两种不同的方法:
Web 工具
Directory Server 5.1 提供了一个 Web 应用程序,可以部署到特定的应用程序服务器上。它默认使用 WebSphere Application Server 5.0 express。这个工具为用户提供了一个友好的界面来帮您管理 LDAP 信息。
命令行工具
使用 ldif2db 来导入条目。例如,
ldif2db -i oneEntry.ldif
下面的这个例子介绍了如何使用命令工具来添加一个新用户。

#oneEntry.ldif

dn: uid=user1,ou=GCL,ou=CSDL,o=ibm,c=cn
loginShell: /bin/bash
memberUid: 900
gidNumber: 800
objectclass: posixGroup
objectclass: top
objectclass: posixAccount
objectclass: shadowAccount
uid: user1
uidNumber: 900
cn: user1
description: One user of system
homeDirectory: /home/user1
userpassword: password
ownerpropagate: TRUE
entryowner: access-id:UID=USER1,OU=GCL,OU=CSDL,O=IBM,C=CN




对于 Linux 用户信息,对象类应该是 posixAccount 。将本条目的 entryowner 设置为用户“自己”,这样用户就可以修改密码。要了解更多关于 Directory Server ACL 的信息,请阅读 Directory Server 文档。

添加用户完成后,启动 Directory Server 服务器来开始为 Linux 用户验证服务。




Linux 上的配置

在 RedHat Linux 7.3 上,以 root 身份登录,确保已经安装了以下两个软件包:

openldap-2.0.23-4
nss_ldap-185-1
使用 #rpm -qa|grep ldap 命令来检查已安装的 RPM。如果没有安装这两个软件包,那么挂载 RedHat 安装映像并执行以下命令:
#rpm -ivh /openldap-2.0.23-4.rpm
#rpm -ivh /nss_ldap-185-1.rpm

两个软件包安装完成后,打开 /etc/ldap.conf 文件来做一些配置。下面是一些用于配置的关键指令。 host 指定 LDAP 服务器 IP/主机名
base 指定 LDAP 客户机搜索起点
port 指定 LDAP 服务器端口
pam_filter 指定 LDAP 客户机搜索过滤器
pam_login_attribute 指定一个用户条目的登录属性
pam_password 指定客户机密码哈希方法


下面的例子是 ldap.conf 文件的部分内容。尤其注意那些 加粗的指令。


# @(#)$Id: ldap.conf,v 1.24 2001/09/20 14:12:26 lukeh Exp $
#
# This is the configuration file for the LDAP nameservice
# switch library and the LDAP PAM module.
#
# PADL Software
#
http://www.padl.com
#
# Your LDAP server. Must be resolvable without using LDAP.
#host 127.0.0.1

host 192.168.0.188

# The distinguished name of the search base.
#base dc=example,dc=com

base o=IBM,c=CN

# Another way to specify your LDAP server is to provide an
# uri with the server name. This allows to use
# Unix Domain Sockets to connect to a local LDAP Server.
#uri ldap://127.0.0.1/
#uri ldaps://127.0.0.1/
#uri ldapi://%2fvar%2frun%2fldapi_sock/
# Note: %2f encodes the '/' used as directory separator
# The LDAP version to use (defaults to 3
# if supported by client library)
#ldap_version 3

# The distinguished name to bind to the server with.
# Optional: default is to bind anonymously.
#binddn cn=proxyuser,dc=example,dc=com

# The credentials to bind with.
# Optional: default is no credential.

# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/ldap.secret (mode 600)
#rootbinddn cn=manager,dc=example,dc=com

# The port.
# Optional: default is 389.

port 389

# The search scope.
#scope sub
#scope one
#scope base
# Search timelimit
#timelimit 30
# Bind timelimit
#bind_timelimit 30
# Idle timelimit; client will close connections
# (nss_ldap only) if the server has not been contacted
# for the number of seconds specified below.
#idle_timelimit 3600

# Filter to AND with uid=%s

pam_filter objectclass=posixAccount

# The user ID attribute (defaults to uid)

pam_login_attribute uid

# Search the root DSE for the password policy (works
# with Netscape Directory Server)
#pam_lookup_policy yes
# Check the 'host' attribute for access control
# Default is no; if set to yes, and user has no
# value for the host attribute, and pam_ldap is
# configured for account management (authorization)
# then the user will not be allowed to login.
#pam_check_host_attr yes
# Group to enforce membership of
#pam_groupdn cn=PAM,ou=Groups,dc=example,dc=com
# Group member attribute
#pam_member_attribute uniquemember
# Specify a minium or maximum UID number allowed
#pam_min_uid 0
#pam_max_uid 0
# Template login attribute, default template user
# (can be overriden by value of former attribute
# in user's entry)
#pam_login_attribute userPrincipalName
#pam_template_login_attribute uid
#pam_template_login nobody
# HEADS UP: the pam_crypt, pam_nds_passwd,
# and pam_ad_passwd options are no
# longer supported.

# Do not hash the password at all; presume
# the directory server will do it, if
# necessary. This is the default.
#pam_password md5

pam_password clear
ssl no
...
...





保存所作的修改,然后使用 authconfig 来启用 LDAP 验证,即执行 #authconfig 。

在 User Information Configuration 面板中,参见 图 3,选中 Cache Information和 Use LDAP。


图 3. User Information Configuration




Click here to open new window

在 Authentication Configuration 面板中,选中 Use LDAP Authentication,参见 图 4。


图 4. Authentication Configuration




Click here to open new window

然后输入 Ok。Linux 系统将开始启用 LDAP 验证。
这个工具将会把指令 pam_password 的值设置为 md5。为了让用户可以成功地修改密码,您需要手工将这个指令值设置为“clear”。

现在我们可以作为信息存储在 Directory Server 服务器上的用户来登录了。例如,以 user1 的身份登录:




Click here to open new window

因为没有 user1 的主目录,所以登录 shell 自动将目录切换到“/”。为方便起见我们可以手工添加用户主目录:
#mkdir /home/user1
#cp /etc/skel/.* /home/user1
#chown -R user1:user1 /home/user1





现在再次以 user1 身份登录,不再出现警告:




Click here to open new window

OK,好极了! 我们已经实现了一个基本的配置,可以利用 Directory Server 来对 Linux 系统用户进行验证。因为 Linux 和 Directory Server 都支持 Secure Sockets Layer (SSL),所以我们可以做更深入的配置以提高系统的安全性。

posted @ 2013-10-31 09:45 Eric_jiang 阅读(290) | 评论 (0)编辑 收藏

仅列出标题
共57页: First 上一页 14 15 16 17 18 19 20 21 22 下一页 Last