這個調試器一般是GNU Debugger,即gdb.另一個,也是和KDE最兼容的調試工具,kdbg是gdb在KDE上的圖形前端.ddd(代表Display
Data Debugger)和xgdb都是gdb普通的X前端.
ivaneeo's blog自由的力量,自由的生活。 |
這個調試器一般是GNU Debugger,即gdb.另一個,也是和KDE最兼容的調試工具,kdbg是gdb在KDE上的圖形前端.ddd(代表Display
Data Debugger)和xgdb都是gdb普通的X前端.
在大多數Linux系統上,這些文件都位于/usr/src/linux目錄下,c開發包典型的名字是glibc-devel-something.rpm.
Linux對于佳能(Cannon)打印機的支持較差,因為歷史上佳能公司不愿意提供技術文檔.Linux支持絕大數惠普(HP)打印機(以及模仿惠普的
打印機).Linux對愛普生(Epson)打印機的支持也做得最好.要查看Ghostscript支持的打印機的完整列表,可以在命令行上鍵入:
$gs --help gs命令會列出長長的一份它支持的打印機和輸出設備的名單.
Linux在線(Linux Online,地址 http://www.linuxdoc.org )維護了一個"Project"網頁,網頁上包含有指向許多主要開發項目的連接,其中也有指向多種硬件設備支持項目的連接.
注意 http://www.linuxdoc.org/HOWTO/Hardware-HOWTO.html 硬件兼容性列表HOWTO的目的有兩個.首先,列舉了一系列Linux支持或不支持的特殊設備,這可以簡化創建開發系統的任務.其次,HOWTO還給出了其他文檔,這些文檔列舉出了Linux支持或不支持的更多硬件.
POSIX是由電子和電氣工程師協會(Institute of Electrical and Electronic
Enginees,IEEE)提出的一系列標準,用于定義一個可移植的操作系統接口.實際上,Linux為什么與UNIX這么相象,原因就在于Linux遵循POSIX標準.
1.SOAP(簡單對象訪問協議的簡稱)定義了一個標準,該標準為通過網絡在應用程序間傳輸XML數據封裝格式.(1.1)
2.WSDL(Web Services Description Language, Web服務描述語言)是一個標準,用于描述使用SOAP在兩個系統間交換的XML數據的結構.(1.1) 3.UDDI 雖然WSDL對描述由Web服務使用的SOAP消息的類型提供了很好的格式,但它沒有提供如何存儲WSDL文檔以及如何查找WSDL文檔方面的信息.UDDI(Universal Description,Discovery,and Integeration,通用描述,發現和集成)定義了一套標準的Web服務操作(方法),用于存儲,查找有關其他Web服務應用程序方面的信息.(2.0) Web Services API 1.JAX-RPC 可以將JAX-RPC看成是位于SOAP之上的Java RMI(Java遠程方法調用).JAX-RPC分兩個部分,即一套客戶端API和一套服務器端API,它們均稱為端點.(1.1) 2.SAAJ(SOAP with Attachments API for Java, 由于Java的帶附件API的SOAP)是一個低級SOAP API,它要于SOAP1.1和帶附件規范的SOAP消息一起編譯. 3.JAXR(Java API for XML Registries,用于XML注冊的Java API)提供了用于訪問UDDI注冊表的API. 3.JAXP(Java API for XML Processing,用于XML處理的Java API)為使用DOM2和SAX2以及為用于讀,寫和修改XML文檔的標準Java API提供了架構.(1.2) SOAP的主要應用是應用程序與應用程序之間的通信(即A2A),且主要應用于商務對商務(即B2B)的通信以及企業應用集成(EAI). SOAP消息傳遞模式: 1.Document/Literal消息傳遞模式: <?xml version="1.0" encoding="UTF-8"?> <soap-Envelope xmlns:soap=" http://schemas.xmlsoap.org/soap/envelop/" ; xmlns:mi=" http://www.Monson-Haefel.com/jwsbook/message-id" ; xmlns:proc=" http://http://www.Monson-Haefel.com/jwsbook/processed- ; by"> <soap:Header> <!--Header blocks go here--> </soap:Header> <soap:Body> <po:purchaseOrder orderDate="2003-09-22" xmlns:po=" http://www.Monson-Haefel.com/jwsbook/PO" ;> <po:accountName>Amazon.com</po:accountName> <po:accountNumber>923</po:accountNumber> <po:book> <po:title>J2EE Web Services</po:title> <po:quantity>300</po:quantity> <po:wholesale-price>24.99</po:wholesale-price> </po:book> </po:purchaseOrder> </soap:Body> </soap-Envelope> 2.RPC/Literal消息傳遞模式 用一個這樣的方法調用: package com.jwsbook.soap; import java.rmi.RemoteException; public interface BookQuote extends java.rmi.Remote { public float getBookPrice(String ISBN) throws RemoteException, InvalidISBNException; } RPC/LiteralSOAP請求消息: <?xml version="1.0" encoding="UTF-8"?> <soap-Envelope xmlns:soap=" http://schemas.xmlsoap.org/soap/envelop/" ; xmlns:mh=" http://www.Monson-Haefel.com/jwsbook/BookQuote" ;> <soap:Body> <mh:getBookPrice> <isbn>0321146182</isbn> </mh:getBookPrice> </soap:Body> </soap-Envelope> RPC/Literal SOAP響應消息: <?xml version="1.0" encoding="UTF-8"?> <soap-Envelope xmlns:soap=" http://schemas.xmlsoap.org/soap/envelop/" ; xmlns:mh=" http://www.Monson-Haefel.com/jwsbook/BookQuote" ;> <soap:Body> <mh:getBookPriceResponse> <result>24.99</result> </mh:getBookPriceResponse> </soap:Body> </soap-Envelope>
Axis的webservices的文件是.jws結尾的.例如:EchoHeaders.jws.文件如下:
/* * Copyright 2002,2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * ![]() * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import org.apache.axis.AxisFault; import org.apache.axis.MessageContext; import org.apache.axis.transport.http.HTTPConstants; import javax.servlet.http.HttpServletRequest; import java.util.Enumeration; import java.util.ArrayList; import java.util.Iterator; /** * class to list headers sent in request as a string array */ public class EchoHeaders { /** * demo message context stuff * @return list of request headers */ public String[] list() { HttpServletRequest request = getRequest(); Enumeration headers=request.getHeaderNames(); ArrayList list=new ArrayList(); while (headers.hasMoreElements()) { String h = (String) headers.nextElement(); String header=h+':'+request.getHeader(h); list.add(header); } String[] results=new String[list.size()]; for(int i=0;i<list.size();i++) { results[i]=(String) list.get(i); } return results; } /** * get the caller; may involve reverse DNS * @return */ public String whoami() { HttpServletRequest request = getRequest(); String remote=request.getRemoteHost(); return "Hello caller from "+remote; } /** * very simple method to echo the param. * @param param * @return */ public String echo(String param) { return param; } /** * throw an axis fault with the text included */ public void throwAxisFault(String param) throws AxisFault { throw new AxisFault(param); } public void throwException(String param) throws Exception { throw new Exception(param); } /** * thow a runtime exception */ public void throwRuntimeException(String param) { throw new RuntimeException(param); } /** * helper * @return */ private HttpServletRequest getRequest() { MessageContext context = MessageContext.getCurrentContext(); HttpServletRequest req = (HttpServletRequest) context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST); return req; } } 要測試這個服務只有發送一個請求.例如: http://localhost:8080/axis/EchoHeaders.jws?method=list 測試調用test方法,返回如下: <soapenv:Envelope> - <soapenv:Body> - <listResponse soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/" ;> - <listReturn soapenc:arrayType="xsd:string[9]" xsi:type="soapenc:Array"> <listReturn xsi:type="xsd:string">host:localhost:8080</listReturn> - <listReturn xsi:type="xsd:string"> user-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2 </listReturn> - <listReturn xsi:type="xsd:string"> accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 </listReturn> <listReturn xsi:type="xsd:string">accept-language:zh-cn,en-us;q=0.7,en;q=0.3</listReturn> <listReturn xsi:type="xsd:string">accept-encoding:gzip,deflate</listReturn> <listReturn xsi:type="xsd:string">accept-charset:x-gbk,utf-8;q=0.7,*;q=0.7</listReturn> <listReturn xsi:type="xsd:string">keep-alive:300</listReturn> <listReturn xsi:type="xsd:string">connection:keep-alive</listReturn> <listReturn xsi:type="xsd:string">cookie:JSESSIONID=372712D816D7D305998853CE05B56282</listReturn> </listReturn> </listResponse> </soapenv:Body> </soapenv:Envelope>
1.必須有SSH.
2.在HOME中$ ssh-keygen -t rsa (用rsa加密產生一對公鑰(id_rsa)和密鑰(id_rsa.pub)). 3.把公鑰改一下名字然后拷到要登陸的機子上的HOME中的.ssh目錄下. 注意:本地的用戶名和要登陸的用戶名要相同!
1.在安裝Grub/Lilo之前,alt+F2獲得一個控制臺.
2.# chroot /target 3.在/etc/mkinitrd/modules文件中加入megaraid2. 4.# mount -t proc name /proc 5.# cp /boot/initrd.img-2.4.27-1-386 /boot/initrd.img-2.24.27-1-386.ORIG 6.# mkinitrd -o /boot/initrd.img-2.24.27-1-386 7.# cd / # umount /proc # exit 退出chroot 8.alt+F1返回安裝界面.
1.打開2401端口:在/etc/inetd.conf加入
cvspserver stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/cvs-pserver 2.設置cvsd: 命令# cvsd-buildroot /data/cvs 建立/data/cvs根目錄. 命令# mkdir /data/cvs/myrepos和# cvs -d /data/cvs/myrepos init初始化資源庫. 命令# chown cvsd:cvsd -R /data/cvs 在/etc/cvsd/cvsd.conf中RootJail后改為/data/cvs,最后加入Repos /myrepos 命令# cvsd-passwd /data/cvs/myrepos +cvs:cvsd加入用戶. 命令# /etc/init.d/cvsd cvsd restart 重啟cvsd. 在home中建立 .cvspass文件. 命令$ export CVSROOT=:pserver:cvs@localhost:2401/myrepos加入環境變量. 命令$ cvs login登陸. |