open

阅读 / 问答 / 标签

Openoffice的卸载问题

一般来说“控制面板”-“添加或删除程序”中是会有显示的,如果实在没有,使用《Windows优化大师》,“系统清理”-“软件智能卸载”,可以达到目的。

OpenOffice.org的开发

OpenOffice. org的API基于被称为通用网络对象 (Universal Network Objects,缩写为UNO)的组件技术。其包括各种类似于CORBA接口描述语言 (interface description language)的接口定义。OpenOffice. org使用的文档文件格式(document file format)基于XML,以及几个输出、导入过滤器。OpenOffice. org读取的所有外部格式,都通过内部的XML表示法进行来回转换。将XML保存到磁盘时,由于使用了压缩,文件体积一般要比同等的Microsoft Office文档要小。从1.0版起,存储文档的本地的文件格式开始基于OASIS OpenDocument的文件格式标准,2.0版时,已经成为默认的文件格式。在OpenOffice. org网站的开发员专区,该套件的开发版每数周就有新版释出。这些版本主要用于测试新功能,或者满足特殊用户的好奇心,可以提前看到未来的变化,但这不适合产品应用。该项目现在主要仍由StarOffice的员工来维护,作为非Sun公司的贡献者,包括该项目的其他合伙赞助者,要进入源码库的核心,仍然比较困难。 通过使用自己的部件工具箱以及字体表示的库,当前的OpenOffice. org稳定版可以在许多不同的平台上,提供相同的用户界面。但这样做也有缺陷。目前的OpenOffice. org稳定版并没有针对本地应用程序的完整界面外观 (look and feel)。如何将2.0版更好地结合于各自不同的平台,相关工作正在进展中。Mac OS XMac OS X是Unix版的移植。版本2原计划使用Aqua界面,但由于一系列的问题 (包括技术挑战、许可证兼容性、开发资源有限),该项目还在研发中。作为临时替代,在OS X上有两种版本:Mac OS X (X11),此版本需要安装X11.app或XDarwin。由于由层层测试的Unix版移植而来,该版本具有Unix版的各种功能,但与OS X服务的结合不佳,比如字体、打印,其界面是X11应用程序。 NeoOffice,此版本通过Java平台与OS相结合。NeoOffice易于安装,跟OS X GUI标准 (比如,使用本地的下拉菜单)有机结合,可存取OS X的字体、打印子系统。但此项目由一个很小的团队维护,而且依赖于OSX X11版的完成,所以该版本发布也迟于官方的释出。 有关主线的其他项目,贡献起来门槛就低一些。包括文档、国际化与本地化,以及API。 还有一个脚本项目,用于收集、分类以及发布有用的宏。OpenGroupware是一个程序扩展集,可用于分享文档、日历、地址簿、电子邮件、即时通讯,以及白板,并可对其他群件应用程序进行存取。在OOExtras上,还可以新建并共享各类文档模版等。通过CPAN,还可获取一些Perl扩展,比如OpenOffice::OODoc,外部程序可通过其处理文档。这些库没有使用OpenOf的API,通过Perl的标准压缩/解压缩、XML存取、UTF-8编码模块,直接对OpenOffice文件进行读写。可携式另外,John Haller 先生现时已为 开发出 可携式OpenOffice 版本,可以塞在一条USB 闪存盘里,从而方便经常要出外的人可以随时随地使用软件。

如何使用yum安装openoffice

首先在官网上下载OpenOffice的软件包 100多M。软件包名为:OOo_3.3.0_Linux_x86_install-rpm_en-US.tar.gz 下好后开始安装软件:1 解压 tar xf OOo_3.3.0_Linux_x86_install-rpm_en-US.tar.gz 2 解压后进入到解压出来的文件下 里面有3个文件夹和1个文件:分别是licenses readmes RPMS 文件夹 和update文件3 进入到RPMS 文件夹下 输入命令 rpm -ivh *.rpm 开始安装 (因为RPMS 文件夹下有很多rpm包)用这条命令就能安装所有的4 安装完后 进入到RPMS 文件夹下的desktop-integration文件夹 desktop-integration夹里有4个rpm包 分别是四个不同发行版的linux,选择相应发行版本那个rpm包,用 rpm 命令进行安装。

openoffice打开加密mda文件

方法一:自己为自己建立一个记事本,把自己平常需要设置的密码记录下来,保存在自己电脑里或其他地方。(缺点:当别人发现你的记事本可能会打开你的一些重要或个人私密文件)方法二:使用软件强力pojie密码。(缺点:当别人拿到你的加密文件也可以使用这个软件pojie)下面讲解软件的使用方法(注:这里使用的软件是Advanced Office Password Recovery)

openoffice怎么转成中文版

需要到官方网站下载中文包进行安装。安装后,如不能根据中文操作系统来设定默认显示中文,可以到“工具--选项”中,设置界面的语言为中文。

openoffice怎么转成中文版

转成中文版

openoffice是哪个公司的?

现在是SUN 公司 把OPEN OFFICE 收购了

如何直接用openoffice打开access

OpenOffice 界面与 LibreOffice 基本一致,下面以 LibreOffice 为例进行说明。1、有一个 Access 数据库叫“Database1”,其中有一个表叫“表1”。2、启动 LibreOffice Base,首先弹出“数据库向导”,点选“连接到现有数据库”,在下拉列表中选择“Microsoft Access 2007”,点击“继续”。3、弹出“打开”对话框,选中已有的 Access 数据库 Database1,点击“打开”。4、返回“数据库向导”对话框,点击“完成”。5、在下一个界面中,保持默认选项,点击“完成”,LibreOffice 会提示另存数据库,起名另存即可。6、以下为 Access 数据库 Database1 在 LibreOffice Base 中打开的情形。

openoffice打开ppt就死机

不是ppt的问题,而是你系统有问题。如果硬件没问题的话就重装下操作系统,你的电脑配置还是不错的,有可能中病毒了或者程序文件丢失,重装下能够彻底解决。

使用openoffice将excel转换成PDF时,网格线没有了,只有其中的内容,是什么原因呢?

你是说这种默认的网格线么,这个打印出pdf或者是打印到纸上都是没有的,你如果想有网格,你可以添加边框,ctrl+1,设置单元格格式,添加边框就可以了

openoffice是免费的吗

是免费的。但是,学习如何使用openoffice,或者需要定制某些特殊的功能,可能需要一定的时间、金钱的代价。

哪里有OpenOffice的源代码啊?

我觉得你到oracle 网站上去溜达溜达,或许能找到吧

linux openoffice 怎么看是否启动

如果在用桌面环境,就能从菜单启动。 如果只是用简单的窗口管理器,可以给窗口管理器添加菜单。 或者干脆从命令行启动 openoffice,不同的发行版有不同的执行文件名。

java openoffice将doc或者docx文件转pdf文件出现问题

OpenOffice java api:简单的说就是利用java程序可以操作OpenOffice的所有功能,比如创建doc文档,插入文字,设置文字格式等等。 1. OpenOffice 给程序员提供了一个叫UNO (UniversalNetwork Objects)的组件技术.我理解的UNO: OpenOffice 类似于web程序中的服务器,程序员写的代码类似于客户端,利用UNO提供的接口和服务去完成对OpenOffice文档的操作。所以写程序首先要搭建 UNO环境:1. 下载 OpenOffice2.复制UNO提供的jar包: unoil.jar, java_uno.jar, juh.jar, jurt.jar, ridl.jar, unoloader.jar. (ps: 安装了SDK之后在文件夹找)到自己的工程中,引入它们。3. 下载文档:DevelopersGuide.pdf. 4. 安装了SDK后,重新启动一下机器,然后就可以按照 DevelopersGuide 来学习 UNO 编程了。5. 需要ava 环境。补充: 安装了SDK后, java, c++帮助文档,样例程序,其他关于sdk的信息 都放在本地openOffice安装路径一个叫sdk目录下面,enjoy it !总结一下已经实现的功能和碰到的问题汇总:1. 首先要得到远程office组件的上下文.通过:com.sun.star.uno.XComponentContext xContext = com.sun.star.comp.helper.Bootstrap.bootstrap();得到,如果OpenOffice安装路径不是在工程的路径下面(我自己猜的), 就会报:com.sun.star.comp.helper.BootstrapException: no office executable found!解决办法: 黑其源代码, 看了源代码就会发现其实OpenOffice是在寻找本地的soffice的shell文件,所以弄个变量来保存soffice在系统中的路径,重新写一 个Bootstrap就可以了。详细请参照:论坛 。 2. 得到 XMultiComponentFactory (ComponentFactory 工厂)com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager(); 3. 得到各种组件可以通过下面代码:// docType 是 与 soffice 同目录下面的OpenOffice的其他shell文件,swrite等等 protected XComponent newDocComponent(String docType) throws java.lang.Exception { String loadUrl = "private:factory/" + docType; mxRemoteServiceManager = this.getRemoteServiceManager(); Object desktop = mxRemoteServiceManager.createInstanceWithContext( "com.sun.star.frame.Desktop", mxRemoteContext); XComponentLoader xComponentLoader = (XComponentLoader) UnoRuntime .queryInterface(XComponentLoader.class, desktop); PropertyValue[] loadProps = new PropertyValue[0]; return xComponentLoader.loadComponentFromURL(loadUrl, "_blank", 0, loadProps); }4.得到 XTextDocument XComponent xEmptyWriterComponent = newDocComponent("swriter"); XTextDocument mxDoc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, xEmptyWriterComponent);5. 得到一个文档的引用XText mxDocText = mxDoc.getText();6. 得到文档的属性列表 XPropertySet mxDocProps = (XPropertySet) UnoRuntime.queryInterface( XPropertySet.class, mxDoc);7. 建立光标,用来插入新的内容。XTextCursor mxDocCursor = mxDocText.createTextCursor(); XSentenceCursor xSentenceCursor = (XSentenceCursor) UnoRuntime .queryInterface(XSentenceCursor.class, mxDocCursor); XWordCursor xWordCursor = (XWordCursor) UnoRuntime.queryInterface( XWordCursor.class, mxDocCursor);8.得到光标属性列表 XPropertySet xCursorProps = (XPropertySet) UnoRuntime .queryInterface(XPropertySet.class, mxDocCursor);9.设置插入文字格式 xCursorProps.setPropertyValue("CharFontName", "宋体"); xCursorProps.setPropertyValue("CharWeight", new Float(FontWeight.BOLD)); xCursorProps.setPropertyValue("CharHeight", new Float(10.5)); // 居中显示 xCursorProps.setPropertyValue("ParaAdjust", com.sun.star.style.ParagraphAdjust.CENTER);10.在该光标处插入信息mxDocText.insertString(xSentenceCursor, 逗Hello World", true);11. 保存的关键代码 protected void storeDocComponent(XComponent xDoc, String storeUrl) throws java.lang.Exception { XStorable xStorable = (XStorable) UnoRuntime.queryInterface( XStorable.class, xDoc); PropertyValue[] storeProps = new PropertyValue[1]; storeProps[0] = new PropertyValue(); storeProps[0].Name = "FilterName"; storeProps[0].Value = "MS Word 97"; openOfficeJavaLogger.debug("... store "" + xDoc.toString() + "" to "" + storeUrl + ""."); xStorable.storeAsURL(storeUrl, storeProps); }

怎样在openoffice进行二次开发

打开工具菜单,有一个“宏”,点“管理宏”可以进入二次开发的IDE窗口。openoffice的二次开发使用starBasic语言,可以参考这里:http://www.pitonyak.org/oo.php也可以使用javascript、python等语言。

Java怎么操作OpenOffice创建word文档并向其设置内容

将Word转Html的原理是这样的:1、客户上传Word文档到服务器2、服务器调用OpenOffice程序打开上传的Word文档3、OpenOffice将Word文档另存为Html格式4、Over至此可见,这要求服务器端安装OpenOffice软件,其实也可以是MS Office,不过OpenOffice的优势是跨平台,你懂的。恩,说明一下,本文的测试基于 MS Win7 Ultimate X64 系统。下面就是规规矩矩的实现。1、下载OpenOffice,2、下载Jodconverter 这是一个开启OpenOffice进行格式转化的第三方jar包。3、泡杯热茶,等待下载。4、安装OpenOffice,安装结束后,调用cmd,启动OpenOffice的一项服务:C:Program Files (x86)OpenOffice.org 3program>soffice -headless -accept="socket,port=8100;urp;"5、打开eclipse6、喝杯热茶,等待eclipse打开。7、新建eclipse项目,导入Jodconverter/lib 下得jar包。* commons-io* jodconverter* juh* jurt* ridl* slf4j-api* slf4j-jdk14* unoil* xstream 8、Coding...查看代码package com.mzule.doc2html.util;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.net.ConnectException;import java.util.Date;import java.util.regex.Matcher;import java.util.regex.Pattern;import com.artofsolving.jodconverter.DocumentConverter;import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;/*** 将Word文档转换成html字符串的工具类** @author MZULE**/public class Doc2Html {public static void main(String[] args) {System.out.println(toHtmlString(new File("C:/test/test.doc"), "C:/test"));}/*** 将word文档转换成html文档** @param docFile* 需要转换的word文档* @param filepath* 转换之后html的存放路径* @return 转换之后的html文件*/public static File convert(File docFile, String filepath) {// 创建保存html的文件File htmlFile = new File(filepath + "/" + new Date().getTime()+ ".html");// 创建Openoffice连接OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);try {// 连接con.connect();} catch (ConnectException e) {System.out.println("获取OpenOffice连接失败...");e.printStackTrace();}// 创建转换器DocumentConverter converter = new OpenOfficeDocumentConverter(con);// 转换文档问htmlconverter.convert(docFile, htmlFile);// 关闭openoffice连接con.disconnect();return htmlFile;}/*** 将word转换成html文件,并且获取html文件代码。** @param docFile* 需要转换的文档* @param filepath* 文档中图片的保存位置* @return 转换成功的html代码*/public static String toHtmlString(File docFile, String filepath) {// 转换word文档File htmlFile = convert(docFile, filepath);// 获取html文件流StringBuffer htmlSb = new StringBuffer();try {BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(htmlFile)));while (br.ready()) {htmlSb.append(br.readLine());}br.close();// 删除临时文件htmlFile.delete();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}// HTML文件字符串String htmlStr = htmlSb.toString();// 返回经过清洁的html文本return clearFormat(htmlStr, filepath);}/*** 清除一些不需要的html标记** @param htmlStr* 带有复杂html标记的html语句* @return 去除了不需要html标记的语句*/protected static String clearFormat(String htmlStr, String docImgPath) {// 获取body内容的正则String bodyReg = "<BODY .*</BODY>";Pattern bodyPattern = Pattern.compile(bodyReg);Matcher bodyMatcher = bodyPattern.matcher(htmlStr);if (bodyMatcher.find()) {// 获取BODY内容,并转化BODY标签为DIVhtmlStr = bodyMatcher.group().replaceFirst("<BODY", "<DIV").replaceAll("</BODY>", "</DIV>");}// 调整图片地址htmlStr = htmlStr.replaceAll("<IMG SRC="", "<IMG SRC="" + docImgPath+ "/");// 把<P></P>转换成</div></div>保留样式// content = content.replaceAll("(<P)([^>]*>.*?)(<\/P>)",// "<div$2</div>");// 把<P></P>转换成</div></div>并删除样式htmlStr = htmlStr.replaceAll("(<P)([^>]*)(>.*?)(<\/P>)", "<p$3</p>");// 删除不需要的标签htmlStr = htmlStr.replaceAll("<[/]?(font|FONT|span|SPAN|xml|XML|del|DEL|ins|INS|meta|META|[ovwxpOVWXP]:\w+)[^>]*?>","");// 删除不需要的属性htmlStr = htmlStr.replaceAll("<([^>]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\w+)=(?:"[^"]*"|""[^""]*""|[^>]+)([^>]*)>","<$1$2>");return htmlStr;}}

openoffice是干什么用的

office的执行文件!OpenOffice原是Sun公司的一套商业级Office软件-StarOffice,经过Sun公司公开程序码之后,正式命名为OpenOffice发展计划,并由许许多多热心于自由软件的人士共同来维持。让大家能在MS OFFICE之外,还能有免费的Office可以使用。OpenOffice是个整合性的软件,里面包含了许许多多的工具,其功能绝对不比微软的MS Office还差,不但可以有Word一样的字处理,制作简单的图形,更有功能强大的图表功能,也能编写网页,还可以做出MS Office中很难处理的数学符号等等,支持了XML、微软的doc、Excel、ppt文件等格式。

openoffice好用吗

其实无所谓好用不好用,习惯问题。windows和linux也是一样的道理。

急!!Openoffice换行问题!!

Using automatic wrapping To set text to wrap at the end of the cell right-click on the cell and select Format Cells (or choose Format > Cells from the menu bar or press Ctrl+1). On the Alignment tab under Properties select Wrap text automatically. 图片参考:wiki.services.openoffice/w/skins/mon/images/magnify-clip Format Cells > Alignment dialog The results are shown below. 图片参考:wiki.services.openoffice/w/skins/mon/images/magnify-clip Automatic text wrap Using manual line breaks To insert a manual line break while typing in a cell press Ctrl+Enter. This method does not work with the cursor in the input line. When editing text first double-click the cell then single-click at the position where you want the line break. When a manual line break is entered the cell width does not change. The figure below shows the results of using o manual line breaks after the first line of text. 图片参考:wiki.services.openoffice/w/skins/mon/images/magnify-clip Cell with manual line breaks wiki.services.openoffice/wiki/Zh/Documentation/OOo3_User_Guides/Calc_Guide/Formatting_data 2010-05-05 10:26:39 补充: 如你要依据读音断字 (hyphenation),如 "Girl" 要在 "l" 后才断,请在 Format > Cells > Alignment > Properties > Hyphenation active 勾选这一项便可以了!! 参考: wiki.services.openoffice/wiki/Zh/Documentation/OOo3_User_Guides/Calc_Guide/Formatting_data wiki.services.openoffice/wiki/Zh/Documentation/OOo3_User_Guides/Calc_Guide/Formatting_data

怎么在linux下停掉openoffice的进程

进入命令行 ps -a找到进openoffice进程ID 然后输入 kill [进程ID]

Openoffice在linux安装后从哪儿启动?

分类: 电脑/网络 >> 操作系统/系统故障 问题描述: linux版本是redflag Desktop5 解析: 你打一下 soffice -writer试试,其他的依此类推 我的路径:/opt/openoffice/program/soffice -writer %U 不过你不一定和我相同搜索一下吧^_^

怎么查看端口openoffice

方法示例: * String sourcePath = "F:\office\source.doc"; * String destFile = "F:\pdf\dest.pdf"; * Converter.office2PDF(sourcePath, destFile); * </pre> * * @param sourceFile * 源文件, 绝对路径. 可以是Office2003-2007全部格式的文档, Office2010的没测试. 包括.doc, * .docx, .xls, .xlsx, .ppt, .pptx等. 示例: F:\office\source.doc * @param destFile * 目标文件. 绝对路径. 示例: F:\pdf\dest.pdf * @return 操作成功与否的提示信息. 如果返回 -1, 表示找不到源文件, 或url.properties配置错误; 如果返回 0, * 则表示操作成功; 返回1, 则表示转换失败 */ public static int office2PDF(String sourceFile, String destFile) { try { File inputFile = new File(sourceFile); if (!inputFile.exists()) { return -1;// 找不到源文件, 则返回-1 } // 如果目标路径不存在, 则新建该路径 File outputFile = new File(destFile); if (!outputFile.getParentFile().exists()) { outputFile.getParentFile().mkdirs(); } String OpenOffice_HOME = "D:\Program Files\OpenOffice.org 3";//这里是OpenOffice的安装目录, 在我的项目中,为了便于拓展接口,没有直接写成这个样子,但是这样是绝对没问题的 // 如果从文件中读取的URL地址最后一个字符不是 "",则添加"" if (OpenOffice_HOME.charAt(OpenOffice_HOME.length() - 1) != "\") { OpenOffice_HOME += "\"; } // 启动OpenOffice的服务 String command = OpenOffice_HOME + "program\soffice.exe -headless -accept="socket,host=127.0.0.1,port=8100;urp;""; Process pro = Runtime.getRuntime().exec(command); // connect to an OpenOffice.org instance running on port 8100 OpenOfficeConnection connection = new SocketOpenOfficeConnection( "127.0.0.1", 8100); connection.connect(); // convert DocumentConverter converter = new OpenOfficeDocumentConverter( connection); converter.convert(inputFile, outputFile); // close the connection connection.disconnect(); // 关闭OpenOffice服务的进程 pro.destroy(); return 0; } catch (FileNotFoundException e) { e.printStackTrace(); return -1; } catch (ConnectException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return 1; }

openoffice保存.csv文件后把大部分的双引号自动删除了,请问如何解决,急~~~~~~~~~~

保存时不要进行格式转换啊。要是已经保存了,建议就装个office中的access,再重新保存下csv格式

OpenOffice.org Writer的介绍

OpenOffice.org Writer 是一个开源的、现代的、功能完备的文字处理和桌面发布软件。 OpenOffice.org Writer是OpenOffice.org的一个组件,其作用相当于Microsoft Word 。它既可以方便地制作一份备忘录,也可以制作出包含目录、图表、索引等一部完整的书籍。 您可以只专心制作文件的内容 —— 而 Writer 可以让您非常顺利的把文件修饰得美轮美奂。“向导”功能包含了信函、传真、会议议程和备忘录等标准文件的模板,也能执行邮件合并等较复杂的任务。 当然,您也可随意创建自己的模板。

openoffice与office的区别

一个是微软的商业产品,另一个好像是爱好者的免费软件。

Java怎么操作OpenOffice创建word文档并向其设置内容

建议你用卓正软件的pageoffice,他还是跨浏览器的呢。

openoffice表格数值大于40以后,自动等于40怎么设置函数

假定数据在A1单元格,以下公式即可:=min(A1,40)

openoffice文件打不开怎么办 急急急!!!

打不开就是损坏了,要么是存档时没有保存好,要么是你的存储器有问题。尝试转到别的装有该软件的机器上打开,不行的话只有痛苦地放弃吧。

问题是这样的,使用openoffice将office文件转换成pdf,在程序中开启openoffice进程,代码是这样

你把openoffice安装到了c:program files目录中去,这个目录带有空格,导致命令字符串出现歧义,让java把c:program当成可执行文件。微软的这个带空格的目录真是麻烦!用引号把soffice.exe与路径括起来试一试。或者设置好PATH环境变量。

openoffice,office,wps的各自优点

openoffice免费,而且可兼容office的大部分功能。主要用在linux下。office功能强大,只能用在windows平台。wps也大部分兼容office,并且好像最新的个人用也能免费吧。有些适合中国人自己的习惯性东西在里面。

openoffice支持把哪些格式转成PDF

只要是openoffice.org能够打开的文件,都能转成PDF。首先,当然是当家的OpenDocumentFormat(ODF),包括odtodsodp对应的是MicrosoftOffice的wordexcelpowerpoint,包括docxlsppt也包括MSOffice2007版的文档。另外网页、文本文件、各种图片等等,都可以转为PDF

openoffice 是什么软件?

楼上的解释的很清楚了

openoffice日志在哪

正常没有改动的话,默认路径:/opt/openoffice/program/soffice -writer %U。

openoffice4占用内存

openoffice4不占用内存的。同比与Office2007、2010并不互相兼容,而且WPS2010与Office2003有些各自独有的功能也不完全兼容,因此,用对方软件打开自己软件生成的文档再进行保存时,文件占用的内存其实差不多。

openwrt路由器ppoe服务器开启后能拨号上不了网

看看状态,确定一下是否连上,有没有自动DNSIP地址,DHCP是否启动。另外,WAN接口有三种方式,如果路由器前端设备已经完成了PPPOE拨号操作的话,路由器就没必要再拨号了,直接用动态IP地址或固定IP地址即可。

打开应用,用英语说,是用open吗

你好!打开应用Open the application

open your mouth widely 在英语里面是张大嘴还是张宽嘴的意思?

张大嘴。。。

请问数值模拟中的open boundary是指什么

开放边界。求采纳

用opencv的dnn模块调onnx模型文件

1.onnx(Open Neural Network Exchange)是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。 用于在各种深度学习训练和推理框架转换的一个中间表示格式。 它定义了一组和环境,平台均无关的标准格式,来增强各种AI模型的可交互性,开放性较强。 2.在对推理速度要求不高的情况下,使用opencv自带的dnn模块可快速部署应用和解决方案, 且能做到轻量化部署,减少对第三方平台的依赖。 它包含两个预处理函数(blobFromImage、blobFromImages),为通过预训练深度学习模型进行分类,做好准备。 这两个函数执行减均值、缩放和通道交换(可选),但是并不是所有的深度学习架构执行减均值和缩放, 在预处理你的图像之前,一定要读你所使用网络的相关文献。 cv2.dnn.blobFromImage函数返回的blob是我们输入图像进行随意从中心裁剪,减均值、缩放和通道交换的结果。 cv2.dnn.blobFromImages和cv2.dnn.blobFromImage不同在于,前者接受多张图像,后者接受一张图像。 多张图像使用cv2.dnn.blobFromImages有更少的函数调用开销,能够更快批处理图像或帧。

The moment I opened the door, I had an () that something was wrong.

b

Linux环境下安装OpenCobol失败,估计是缺少了某些安装包,请问怎么解决?

那你看看它缺什么安装包,然后,安装。

小度小度请问你open+AI+chat+gdp是不是比你搜索更强大?

OpenAI Chat GDP 是一种更先进的聊天机器人,它可以更好地理解输入的内容,并且可以更准确地回答问题。它的优势在于,它可以学习用户的语言和文化,并且可以提供更准确的回答。

OpenAM配置跨域SSO时报403错误是什么原因

该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden。

The killers open your eyes,please.是什么意思

您好:杀手请睁开眼睛。双语对照例句:1.Open your eyes, old man! 好好看清楚吧老人家!----------------------------------- 如有疑问欢迎追问!满意请点击右上方【选为满意回答】按钮

打不开oracle数据库,公司的 Oracle数据库打不开了,一open就报错Ora-00600该

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!诗檀软件专业数据库修复团队Oracle的损坏/坏块 主要分以下几种:ORA-1578ORA-8103ORA-1410ORA-1499ORA-1578ORA-81##ORA-14##ORA-26040ORA-600 ErrorsBlock CorruptionIndex CorruptionRow CorruptionUNDO CorruptionControl FileConsistent ReadDictionaryFile/RDBA/BLError Description Corruption related to: ORA-1578 ORA-1578一般为Oracle检测到存在物理坏块问题,包括其检测数据块中的checksum不正确,或者tail_chk信息不正确等。 ORA-1578 is reported when a block is thought to be corrupt on read. Block数据块OERR: ORA-1578 “ORACLE data block corrupted (file # %s, block # %s)” Master Note OERR: ORA-1578 “ORACLE data block corrupted (file # %s, block # %s)” Fractured Block explanationHandling Oracle Block Corruptions in Oracle7/8/8i/9i/10g/11g Diagnosing and Resolving 1578 reported on a Local Index of a Partitioned table ORA-1410 ORA-1410错误常见于从INDEX或其他途径获得的ROWID,到数据表中查询发现没有对应的记录。该错误可能因为数据表与其索引存在不一致,也可能是分区的数据表本身存在问题。 This error is raised when an operation refers to a ROWID in a table for which there is no such row.The reference to a ROWID may be implicit from a WHERE CURRENT OF clause or directly from a WHERE ROWID=… clause.ORA 1410 indicates the ROWID is for a BLOCK that is not part of this table. Row数据行Understanding The ORA-1410 Summary Of Bugs Containing ORA 1410 OERR: ORA 1410 “invalid ROWID” ORA-8103 该ORA-8103可能由多个BUG引起,例如LOB在10.2.0.4之前可能会由于BUG覆盖了另一张表的segment header,导致出现ORA-8103错误。诊断该问题可以从数据表的segment header和data_object_id入手。 The object has been deleted by another user since the operation began.If the error is reproducible, following may be the reasons:-a.) The header block has an invalid block type.b.) The data_object_id (seg/obj) stored in the block is different than the data_object_id stored in the segment header. See dba_objects.data_object_id and compare it to the decimal value stored in the block (field seg/obj). Block数据块ORA-8103 Troubleshooting, Diagnostic and Solution OERR: ORA-8103 “object no longer exists” / Troubleshooting, Diagnostic and Solution ORA-8102 ORA-8102常见于索引键值与表上存的值不一致。 An ORA-08102 indicates that there is a mismatch between the key(s) stored in the index and the values stored in the table. What typically happens is the index is built and at some future time, some type of corruption occurs, either in the table or index, to cause the mismatch. Index索引OERR ORA-8102 “index key not found, obj# %s, file %s, block %s (%s) ORA-1499 对表和索引做交叉验证时发现问题 An error occurred when validating an index or a table using the ANALYZE command.One or more entries does not point to the appropriate cross-reference. Index索引ORA-1499. Table/Index row count mismatch OERR: ORA-1499 table/Index Cross Reference Failure – see trace file ORA-1498 Generally this is a result of an ANALYZE … VALIDATE … command.This error generally manifests itself when there is inconsistency in the data/Index block. Some of the block check errors that may be found:-a.) Row locked by a non-existent transactionb.) The amount of space used is not equal to block sizec.) Transaction header lock count mismatch.While support are processing the tracefile it may be worth the re-running the ANALYZE after restarting the database to help show if the corruption is consistent or if it ‘moves".Send the tracefile to support for analysis.If the ANALYZE was against an index you should check the whole object. Eg: Find the tablename and execute:ANALYZE TABLE xxx VALIDATE STRUCTURE CASCADE; Block OERR: ORA 1498 “block check failure – see trace file” ORA-26040 由于采用过nologging/unrecoverable选项的redo生成机制,且做过对应的recover,导致数据块中被填满了0XFF,导致报错ORA-26040。 Trying to access data in block that was loaded without redo generation using the NOLOGGING/UNRECOVERABLE option.This Error raises always together with ORA-1578 Block数据块OERR ORA-26040 Data block was loaded using the NOLOGGING option ORA-1578 / ORA-26040 Corrupt blocks by NOLOGGING – Error explanation and solution ORA-1578 ORA-26040 in a LOB segment – Script to solve the errors ORA-1578 ORA-26040 in 11g for DIRECT PATH with NOARCHIVELOG even if LOGGING is enabled ORA-1578 ORA-26040 On Awr Table Errors ORA-01578, ORA-26040 On Standby Database Workflow Tables ORA-01578 ORACLE data block corrupted ORA-26040 Data block was loaded using the NOLOGGING option ORA-1578, ORA-26040 Data block was loaded using the NOLOGGING option ORA-600[12700] 从索引获得的ROWID,对应到数据表时发现不存在数据行错误。一把是一致性度consistent read问题 Oracle is trying to access a row using its ROWID, which has been obtained from an index.A mismatch was found between the index rowid and the data block it is pointing to. The rowid points to a non-existent row in the data block. The corruption can be in data and/or index blocks.ORA-600 [12700] can also be reported due to a consistent read (CR) problem. Consistent Read一致性读Resolving an ORA-600 [12700] error in Oracle 8 and above. ORA-600 [12700] “Index entry Points to Missing ROWID” ORA-600[3020] 主要问题是redo和数据块中的信息不一致 This is called a ‘STUCK RECOVERY".There is an inconsistency between the information stored in the redo and the information stored in a database block being recovered. Redo ORA-600 [3020] “Stuck Recovery” Information Required for Root Cause Analysis of ORA-600 [3020] (stuck recovery) ORA-600[4194] 主要是redo记录与回滚rollback/undo的记录不一致 A mismatch has been detected between Redo records and rollback (Undo) records.We are validating the Undo record number relating to the change being applied against the maximum undo record number recorded in the undo block.This error is reported when the validation fails. Undo ORA-600 [4194] “Undo Record Number Mismatch While Adding Undo Record” Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter ORA-600[4193] 主要是redo记录与回滚rollback/undo的记录不一致 A mismatch has been detected between Redo records and Rollback (Undo) records.We are validating the Undo block sequence number in the undo block against the Redo block sequence number relating to the change being applied.This error is reported when this validation fails. Undo ORA-600 [4193] “seq# mismatch while adding undo record” Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter Ora-600 [4193] When Opening Or Shutting Down A Database ORA-600 [4193] When Trying To Open The Database ORA-600[4137] transaction id不匹配,问题可能存在与回滚段中或者对象本身存在讹误 While backing out an undo record (i.e. at the time of rollback) we found a transaction id mis-match indicating either a corruption in the rollback segment or corruption in an object which the rollback segment is trying to apply undo records on.This would indicate a corrupted rollback segment. Undo/Redo ORA-600 [4137] “XID in Undo and Redo Does Not Match” ORA-600[6101] Not enough free space was found when inserting a row into an index leaf block during the application of undo. Index ORA-600 [6101] “insert into leaf block (undo)” ORA-600[2103] Oracle is attempting to read or update a generic entry in the control file.If the entry number is invalid, ORA-600 [2130] is logged. Control File ORA-600 [2130] “Attempt to access non-existant controlfile entry” ORA-600[4512] Oracle is checking the status of transaction locks within a block.If the lock number is greater than the number of lock entries, ORA-600 [4512] is reported followed by a stack trace, process state and block dump.This error possibly indicates a block corruption. Block ORA-600 [4512] “Lock count mismatch” ORA-600[2662] 主要是发现一个数据块的SCN甚至超过了当前SCN,常规解决途径有调整SCN等,但11.2以后Oracle公司使较多调整SCN的方法失效了 A data block SCN is ahead of the current SCN.The ORA-600 [2662] occurs when an SCN is compared to the dependent SCN stored in a UGA variable.If the SCN is less than the dependent SCN then we signal the ORA-600 [2662] internal error. Block ORA-600 [2662] “Block SCN is ahead of Current SCN” ORA 600 [2662] DURING STARTUP ORA-600[4097] 访问一个回滚段头以便确认事务是否已提交时,发现XID有问题 We are accessing a rollback segment header to see if a transaction has been committed.However, the xid given is in the future of the transaction table.This could be due to a rollback segment corruption issue OR you might be hitting the following known problem. Undo

选了Springer Nature的open access ,让交钱该怎么办

接收后就是proof,即校稿,主要都是下面这些内容这表示你的文章已经录用后,在发给你proofs之前,要先填一些东西,第一个是orderopenaccess,这个的意思是如果你订了,你要付给出版社,而你的文章别人可以随便下载,不用付,意思就是你帮他们付了,所以不要订这个。另一个是orderpaperoffprints,就是你是不是要订纸质的论文,也要加,建议不要。第三是是否要把图片以彩色出版,这个也要加,所以也建议不要。第四个是转让版权,这个点同意就可以了。然后你会收到一个确认邮件,记住,上面的选项有些是订了就不能修改的。注意不要弄错了。在发给你proofs的时候,会有一个允许出版许可的文件,你可以打印下来,签好字,然后扫描一下,和corrections一起发给出版社就行了。

tore open 的意思

意思是:“tore已经启动”

用英语写一篇关于“Open Learning”的作文。(教育技术学专业英语)

建议查阅国外资料

如何让openwrt固件支持32m flash

首先修改trunk/tools/firmware-utils/src/mktplinkfw.c只修改fw_max_len为0xfc0000,16M flash;只修改fw_max_len为0x7c0000,8M flash.id = "4M",.fw_max_len = 0xfc0000,.kernel_la = 0x80060000,.kernel_ep = 0x80060000,.rootfs_ofs = 0x140000,新版只用改fw的大小,分区表会自动认,不用像老版自己定义每个分区大小了。另外还需下面修改:Imagebuilder 目录下,./target/linux/ar71xx/image/Makefile, 把703n最后的4Mlzma改成了8Mlzma或16Mlzma$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))否则出现如下错误:[mktplinkfw] kernel length aligned to 914864[mktplinkfw] *** error: images are too bigmake[3]: [install] Error 255 (ignored)在openwrt中不能更新uboot时,需要做如下修改:target/linux/ar71xx/files/drivers/mtd/tplinkpart.cparts[0].mask_flags = MTD_WRITEABLE; //去除本行

PPTP和OpenVPN有什么区别?

PPTP点对点隧道协议(PPTP)是一种实现虚拟专用网络的方法。 PPTP使用用于封装PPP数据包的TCP及GRE隧道控制通道。OpenVPNOpenVPN是一免费开源软件,以路由器或桥接配置和远程访问设备方式实现虚拟专用网络(VPN)创建安全的点对点或站对站连接的解决方案。它使用SSL / TLS安全加密,具有穿越网络地址转换(NATs)和防火墙的功能。在PPTP和OpenVPN二者之间做出选择的一个重要考虑因素,也是我们无法控制的因素,就是有时互联网服务供应商会阻止PPTP连接。次情况下我们无计可施,只能选择使用OpenVPN。 PPTP具有一些独特优势,但此刻用OpenVPN会是不错的选择。PPTP可以应用到几乎所有的操作系统软件,无需安装任何软件。它也兼容许多移动设备,如iphone,ipad和Windows移动,安装简易。相比之下,OpenVPN的安装比PPTP要复杂一点,但只要按照正确的指示安装则无太大困难。请注意OpenVPN不兼容移动设备。PPTP加密技术使用密码作为密钥,它的数据流载有可获取的混编密码。如果中间有人拦截到了数据流并且破译了密码(尽管可能但很难),那么他就可以破译你的信息。然而OpenVPN使用非常强大的加密(Blowfish)技术。即使有人拦截你的数据流,他们也无计可施。这使得OpenVPN比PPTP安全得多。选择如果你希望得到高安全性以及更加关注数据安全传输问题,那么你应该使用OpenVPN。如果您为了简便或者想在移动设备上使用VPN那么PPTP适合你。还有其他协议,例如L2P或IPSec,但他们在用户友好或成本上没有优势。

openwrt设置pptp上网

路由器设置pptp服务器openwrtPutf版本:适配器日志文件。设置日志参数:请参考如下步骤。在左侧菜单栏选择“设备管理>平台对接参数”。若需开启,请参考如下步骤关闭跳转。在右侧菜单栏选择“WIFI设置”,输入需要设置的终端设备名称和设备标识。选择设备编码,然后单击“OK”。若关闭,需要按遥控器的顺序切换。如果已开启WIFI设置,请单击“关闭”。在打开的“WIFI设置”对话框中,输入WIFI密码。连接成功后,完成设备IP地址的启用启用启用无线网络配置。在“WIFI启用无线网络配置”对话框中输入WIFI密码,完成无线网络连接路由器。

在上外教课,open ocean在科学这门课里是什么意思

开启海洋之门揭开海洋的奥秘

综合教程 上外版 open the door to forgiveness 课文翻译

人们普遍感到自己受到伤害。人生中,有许多不同形式的伤害,如被朋友背叛,被父母虐待,配偶的离弃。你将做什么呢?为最小的不满而报复,还是以德报怨呢?亚历山大 蒲波曾说过“犯错是人之常情,宽恕是神。”显然,接近天堂的正确方法是宽恕。另外,每个人不能避免犯错。你可能被一些人所伤害,相此之下你也可能无意间伤害到其他人。一般来说,这对于被伤害的人要去原谅是很难的。从这实验,我们能找到两个原因。其一是在公众眼中,违法犯罪的人不应该留下。另一个表明,宽恕是一种软弱的表现。其实,受伤和加害人总是会卷入无休止的恶性循环,如果他们选择复仇。这是做出结论的时候了,我们应该实行宽恕。就我的观点,它是更有效地让我们练习宽恕。有许多优点,能够支持我的观点。其中最重要的是实践宽恕,我认为,可以让我们过上了幸福和健康的生活。恨就像一件坏事,可能会扼杀我们的喜悦,也威胁着我们的健康。实践宽恕,可以改善个人的性格,以及缩短了人与人之间的距离。在实践宽恕的过程中,我们表示我们的友好给那些伤害过我们的人,这是一个很好交友和让别人更了解你的途径。最后一个有价值的是,我们不能忽视文中所提到的洞察力。 怎样练习宽恕呢?首先,我们应该有一个宽恕的意愿。俗话说得好“有志者,事竟成”。在实践中采取宽恕,一个坚强的意志是主要因素。其次,我们应该正视我们的恶意。不要将讨厌深深的埋葬在心里。我们应该做的是承认发生了什么和正视伤害者,在关系完全破坏之前直接表达我们的感受时被伤害了。第三,我们应该有正确的态度就是人们做错了事情并不是一个大罪大恶。因此,记得要犯错的人从错误中脱离出来。也许在昨天,或许是很久以前,总有人伤害你。这需要花长时间来消除你的仇恨。实际上,伤害越深,就越需要更长的学习。永不放弃学会宽恕。

failed: dlopen failed: could not load library "libavutil.so.1" needed by "libavcodec.so";

不需要改pro文件。首先下载最新代码,然后把openal、ffmpeg的库文件和头文件放到android qt库对应的库文件、头文件目录,然后编译,编译好后在编译目录运行sdk_install.sh,然后可以在qtcreator里点击运行活着点击编译进行打包QMLPlayer,如果没运行sdk_install.sh,打包出来的apk里面可能会少几个文件。

为什么不可以再opencv3中使用SurfFeatureDetector

因为含有surf特征提取算法在OpenCV2.0版本中是放在nonfree头文件中。换成了3.0版本之后,对nonfree模块测试的还不够,所以暂时还没有直接给出像之前2.0版本那样方便的nonfree库。而是放在了xfeatures2d头文件和xfeatures2d库中。xfeatures2d比nonfree多了实验性二维特征算法(Experimental 2D Features Algorithms)。想在3.0版本中使用SURF的话,暂时需要自己对OpenCV进行编译。只是在编译之前,还需要下载opencv_contrib,然后在编译时将其modules文件夹路径添加到CMAKE中的OPENCV_EXTRA_MODULES_PATH通过编译得到xfeatures2d的库文件就OK了。使用时的语法也变了。创建检测器要用Ptr<SURF> detector = SURF::create( );而不再是SurfFeatureDetector detector( );

opencv3.2编写SURF程序一直显示无法解析的外部符号

老铁解决了吗 我也出现了一毛一样的问题

surf算法C语言编写,要做嵌入式开发,不要C++和基于OPENCV的

同求大神们的回答 !刚学10天哈哈 了解一下

openwrt/Linux编译make错误,急需解决!!!

这个是相关so文件的错误,这个问题比较复杂的。能看一看wo的网名吗?

英语单身状况中的taken和open分别是指什么?

single 单身。taken 已婚,订婚或者有了确定的男女朋友关系都应该算这一种吧。open 开放。感觉就是不管有没结婚有没朋友仍保持一种可以和别人出去约会的状态。总之想断了别人念想就选taken,想积极征友就选open,single就是中规中矩的单身啦。

关于VB中的Recordset对象,请问 set rs 和 rs.open 是不是等价的

Set rs = New ADODB.Recordset 写这个

opening balance sheet这个是什么资产报表

opening balance sheet这个是什么资产报表 opening balance sheet [词典] 期初资产负债表 opening balance sheet这个是什么资产报表啊?非常感谢,在线等 初期余额表 资产负债表balance sheet 1.收到银行贷款,同时增加资产和负债 借:银行存款 100 贷:短期借款 100 2.支付应付款时,同时减少资产和负债 借:应付账款 250 贷:银行存款 250 3.购买设备,同时增加资产和负债 借:固定资产 500 贷:应付账款 500 资产变化=100-250+500=350 负债变化=100-250+500=350 The Balance Sheet为什么是资产负债表 这是2008年之前的表述,国际上资产负债表于2008年已改成Statement Of Financial Position(SOFP)。 资产负债表(the Balance Sheet)亦称财务状况表,表示企业在一定日期(通常为各会计期末)的财务状况(即资产、负债和业主权益的状况)的主要会计报表,资产负债表利用会计平衡原则,将合乎会计原则的资产、负债、股东权益”交易科目分为“资产”和“负债及股东权益”两大区块,在经过分录、转帐、分类帐、试算、调整等等会计程序后,以特定日期的静态企业情况为基准,浓缩成一张报表。其报表功用除了企业内部除错、经营方向、防止弊端外,也可让所有阅读者于最短时间了解企业经营状况。 资产负债表是反映企业在某一特定日期(如月末、季末、年末)全部资产、负债和所有者权益情况的会计报表,它表明权益在某一特定日期所拥有或控制的经济资源、所承担的现有义务和所有者对净资产的要求权。它是一张揭示企业在一定时点财务状况的静态报表。资产负债表利用会计平衡原则,将合乎会计原则的资产、负债、股东权益”交易科目分为“资产”和“负债及股东权益”两大区块,在经过分录、转账、分类账、试算、调整等等会计程序后,以特定日期的静态企业情况为基准,浓缩成一张报表。其报表功用除了企业内部除错、经营方向、防止弊端外,也可让所有阅读者于最短时间了解企业经营状况。 什么是资产负债表外交易(off-balance sheet transaction)? 也就是这些交易所产生的利润或者风险不计入资产负债表里,不能真实的反映这些交易的收益或者风险 也就是因为表外交易,可能导致巨大的亏损,但是投资人不知道,做出了错误的投资判断 什么是经管资产报表 财务报告包括4表1注 4表 资产负债表 利润表 现金流量表 所有者权益变动表 1注 附注 资产负债表和利润表,哪个是动态报表,哪个是静态报表? 资产负债表反映企业在某一特定日期所拥有的净资产情况,所以是静态报表。 利润表反映企业在一定会计期间的经营成果,即利润或亏损的情况,所以是动态报表。

我玩CS1.5出现这句The selected Open GL mode is not suppored by your vido card哪位知道怎么解决如题

CS游戏设置--视频设置--游戏设置--选第一个 这是因为你在显示设置那里用了openGL加速,有两种原因不能进去: 第一:你的显卡不支持openGL加速 (ATI的最好选择 3D加速 )! 第二:你的驱动不支持openGL加速 建议下载最新的官方驱动!

the open boat怎么读

the open boat 海上扁舟; [例句]In Stephen Crane"s The Open Boat, the four people understand each other, help each other and struggle with the merciless nature stubbornly.斯蒂芬·克莱恩的《海上扁舟》表现四个人在危难时相互理解,相互帮助,不屈不挠与冷酷的大自然搏斗。boat 英[bu0259u028at] 美[bou028at] n. 小船,小艇; 轮船; vi. 乘船,划船; vt. 用船运输; 用船装运;

如何编译OpenWrt

 Openwrt 官方正式的发行版是已编译好了的映像文件(后缀名bin或trx、trx2),此映像文件可从Openwrt官方网站的下载页面中轻松获取到,连接地址为 OpenWrt官方网站。这些编译好的映像文件是基于默认的配置设置,且只针对受支持的平台或设备的。因此,为什么要打造一个自己的映像文件,理由有以下四点: 您想拥有一个个性化的配置OpenWrt(彰显个性,在朋友圈子里显摆显摆,开个玩笑);您想在实验性的平台上测试OpenWrt;您参与测试或参与开发OpenWrt的工作;或者,最简单的目的就是为了保持自己的Openwrt为最新版本;  若想实现上述目的,其实很简单,按下述文字即可成功编译出一个您的Openwrt来。 准备工作 在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的: 一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如Ubuntu、Debian等); 确保安装了所需的依赖关系库, (在debian系统中就是安装各种需要的软件包) OpenWrt源代码副本 首先, 开机登陆到支持编译Openwrt的操作系统(废话了)。实体机或者虚拟机(Vmware 或者 Qemu)里的操作系统都行,这里推荐使用Linux系统。 bsd和mac osx系统也可以编,但不推荐,且未验证是否可编译成功。下文假定您使用的是Debian操作系统,使用 apt-get 来管理包. 替代的选择是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。 第二步, 就是安装所需要的各种软件包, 包括编译器,解压工具,特定的库等. 这些工作可以简单的通过键入以下命令 (通常需要root 或者是 sudo 权限),以root权限安装下列软件包(可能并不完整,会有提示,提示缺少即装就可以了): 32位(x86)请执行下列命令: # apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev 64位(x86_64)请执行下列命令(多装了哪些库或软件包呢?请您仔细看一看哦): # apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs lib32gcc1 libc6-dev-i386 参考 本列表中 所列的编译环境所需要软件包或库。 某些依赖的为库或软件包也许操作系统中已经安装过,此时apt-get会作出提示(提示您忽略或重新安装的),别紧张,放轻松些,编译Openwrt不会像编译DD-WRT那样难的(至少本人是体会到了编译DD-WRT的难)。 最后下载一份完整的 Openwrt 源码到编译环境中。关于Openwrt的源代码下载,途径有二,一是通过 svn ,一是通过 git,建议使用 svn ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本,一个是用得较多的开发快照,俗称 trunk,二是稳定版,俗称 backfire。 安装Subversion 若你想通过svn下载源代码,你需安装 Subversion。Subversion,或称SVN, 是OpenWrt的project中用来控制版本的系统,它非常类似的 CVS的界面和使用条款。 执行下述命令即可安装SVN,很容易的: # apt-get install subversion Subversion安装完毕,通过SVN命令可获取得到一份OpenWrt纯净源代码。您还得创建一个目录以便存放获取得到的Openwrt源代码,要获取源代码你还得输入subversion命令来获取 (svn里这种操作称之为"check out") 。命令很简单的,继续看下去就能见到了,别着急,耐心点儿。 编译流程 编译专属于您的设备的特定Openwrt固件以一下五个步骤: 通过Subversion命令获得源代码; 更新(或安装) package feeds〔package feeds无法确切翻译,待译吧); 创建一个默认配置以检查编译环境是否搭建好了 (假如需要的话); 用Menuconfig来配置即将编译生成的固件映像文件的配置项; 最后开始编译固件;下载源代码 最后,下载一份完整的OpenWrt源代码。你可选择: 下载稳定发行版,或 下载开发版 (俗称"trunk"版)。使用发行版的源码 截止本文时, Openwrt公开发行的稳定版为 OpenWrt 10.03 "backfire"。此版本是最稳定的,但也许不包括最新更新的补丁或最新编写的出的新功能。 下述代码即举例说明了通过svn从brandkfire获得backfire源代码(此版本意思是从trunk分支的补丁也在backfire版本中了,即包含修复补丁): # mkdir OpenWrt/# cd OpenWrt/# svn co svn://svn.openwrt.org/openwrt/branches/backfire 注解: 上述svn命令将在当前目录创建一个 OpenWrt/backfire/ 子目录,此目录包含此命令获取到的源代码。 您也可以通过下述命令,下载不含修复补丁的backfire的原版源码: # svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03 使用开发版源代码 当前的开发版本分支(trunk)已包含最新的实验补丁。此分支或许还突破了Openwrt原来所不支持的硬件设备的限制哦,惊喜的同时也有风险存在。因此,编译trunk版,慎之~ # mkdir OpenWrt/# cd OpenWrt/# svn co svn://svn.openwrt.org/openwrt/trunk/ 更多详细资料详见: https://dev.openwrt.org/wiki/GetSource. 跟进并更新源代码 因Openwrt的源代码随时都会变动,故此命令将确保您所获取得到的源码的最新性。下述假设您用的是backfire版本的源码: ## Here, backfire is the directory name of the current release branch you"re tracking# cd OpenWrt/backfire/# svn up "svn up" 命令用于更新SVN上更新了,但本地尚未更新的这部分源代码(本人实践证明此命令会将本地源码与SVN上的源码先比较,若SVN有更新才会下载更新的部分,很实用的一个命令)。如果未指定目标路径,则此命令将更新当前目录及当前目录的子目录内的源码。 Feeds下载 Feeds即为包含到你的OpenWrt环境中的额外软件包的索引之类的。(feed译名很多,莫衷一是,至2008年底为止,还没有一个十分通用而备受认可的中文译名;所以此文当中我们用英文feed来称呼)。 最主要的Feeds有以下三个: "packages" - 路由的基本功能, "LuCI" - OpenWrt默认的GUI(WEB管理界面), 及 "Xwrt" - 其他的GUI。 一般情况,你至少需要含 "packages" 和 "LuCI"两个Feeds。 下载完feeds之后, (为编译OpenWrt的recipies额外的预定义包) 您可以检查哪些feeds要包括在内。编辑在你的编译环境的根目录下的"feeds.conf.default"文件。 然后使用下列命令开始下载(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令): # ./scripts/feeds update -a 在此之后,下载的软件包需要安装。亦即指的下边的命令啦。若路过下边的install命令则后续make menuconfig将无法成功执行!(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令): # ./scripts/feeds install -a 只需编辑Feeds的配置文件或运行更新命令,即可很方便地更新或添加新的实验性的packages到源码中并编译到OpenWrt固件去。 注意:请老坛友及旧的新闻组成员们注意了,这一步取代了创建符号链接symlinks的老办法哦。 更新Feeds 诸如此类源码,你得定期更新Feeds。 通过如上相同的命令: # ./scripts/feeds update -a# ./scripts/feeds install -a 注意:若你清楚地知道你不需添加新的packages到menuconfig中去,那么你可在更新Feeds时跳过这一步。 生成配置 You may not have to make configration always after updating sources and feeds, but making it ensures that all packages from source and feeds are correctly included in your build configuration. Defconfig 下一步是检查编译环境,若可进行编译则生成默认配置: # make defconfig 若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可,不难的,细心点就行。 Menuconfig menuconfig是一个基于文本的工具,它处理选择的目标(需要还是不需要)、编译生成软件包(openwrt下是IPKG格式)以及内核选项(编译成模块还是内核)等等 # make menuconfig 在你离开并保存配置文件(默认都是.config)后,将自动配置依赖关系,让你可以着手编译更新的固件。 大众可通过"menuconfig"这一简单的图形化的配置环境,非常轻松地编译出专属您本人的OpenWrt固件。 可以用"menuconfig",以开发的意图来编译OpenWrt的固件,为自己(个人)创造一个结构简单但是功能强大的环境。(上句实在难翻译,只能意译。并且也请大家都学习下编译OP固件,让以OP固件盈利的人丢掉那肮脏的饭碗!) Menuconfig或多或少有些难以说明的地方,即使是最专业的配置,也可以寻求帮助并加以解决。 需要你指定何种目标平台,要包含的package软件包和内核模块等均需要你指定,配置标准的过程中会包括修改: 目标平台(即路由器何种架构,BCM呢还是AR均可选择) 选择要包含的package软件包 构建系统设置 内核模块 Target system is selected from the extensive list of supported platforms, with the numerous target profiles – ranging from specific devices to generic profiles, all depending on the particular device at hand. Package selection has the option of either "selecting all package", which might be un-practical in certain situation, or relying on the default set of packages will be adequate or make an individual selection. It is here needed to mention that some package combinations might break the build process, so it can take some experimentation before the expected result is reached. Added to this, the OpenWrt developers are themselves only maintaining a smaller set of packages – which includes all default packages – but, the feeds-script makes it very simple to handle a locally maintained set of packages and integrate them in the build-process. 假如你需要LuCI, 要到Administration 菜单里,在LuCI组件的子菜单下, 并选择: luci-admin-core, luci-admin-full, and luci-admin-mini组件包。 假如你不需要PPP,你可到Network菜单下取消对它的选择,以便编译时不包含此组件。 Menuconfig用法: 确保这些组件包是以 "*"星号标记而不是 "M"标记。 如果你是以星号 "*"标记该组件包, 则该组件包将编译进最终生成的OpenWrt固件中。 如果你仅以 "M"标记该组件包, 则该组件包将不会编译进最终生成的OpenWrt固件中。 The final step before the process of compiling the intended image(s) is to exit "menuconfig" – this also includes the option to save a specific configuration or load an already existing, and pre-configured, version. Exit and save. Source Mirrors The "Build system settings" include some efficient options for changing package locations which makes it easy to handle a local package set: Local mirror for source packages Download folder In the case of the first option, you simply enter a full URL to the web or ftp server on which the package sources are hosted. Download folder would in the same way be the path to a local folder on the build system (or network). If you have a web/ftp-server hosting the tarballs, the OpenWrt build system will try this one before trying to download from the location(s) mentioned in the Makefiles . Similar if a local "download folder", residing on the build system, has been specified. The "Kernel modules" option is required if you need specific (non-standard) drivers and so forth – this would typically be things like modules for USB or particular network interface drivers etc. 编译固件 万事具备,只欠东风,通过下面简单的make命令来编译: # make 在多核电脑中编译 具有多核CPU处理器的电脑进行编译,使用下述参数可令编译过程加速。 常规用法为 <您cpu处理器的数目 + 1> – 例如使用3进程来编译 (即双核CPU), 命令及参数如下: # make -j 3 后台编译 若你在这个系统内编译OpenWrt的同时还处理其他,可以让闲置的I/O及CPU来在后台编译固件 (双核CPU): # ionice -c 3 nice -n 20 make -j 2 编译简单的基本的软件包 当你为OpenWrt开发或打包软件包,编译简单的基本的软件包可以很轻易地编译该软件包 (例如, 软件包cups): # make package/cups/compile V=99 一个在Feeds里的软件包大约是这样子的: # make package/feeds/packages/ndyndns/compile V=99 编译错误 如果因某种不知道的原因而编译失败,下面有种简单的方法来得知编译到底错在哪里了: # make V=99 2>&1 |tee build.log |grep -i error 上述编译命令意为:V99参数,将出错信息保存在build.log,生成输出完整详细的副本(with stdout piped to stderr),只有在屏幕上显示的错误。 举例说明: # ionice -c 3 nice -n 20 make -j 2 V=99 CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 |tee build.log |egrep -i "(warn|error)" The above saves a full verbose copy of the build output (with stdout piped to stderr) in build.log and outputs only warnings and errors while building using only background resources on a dual core CPU. 一键编译 即使用脚本来编译Openwrt固件。许多朋友编译Openwrt是用的脚本来编译的,详见: https://forum.openwrt.org/viewtopic.php?id=28267 生成的固件在哪 编译成功后所生成的固件文件位于bin目录下,可用如下命令查看: # cd bin/# ls */ 清理 编译OpneWrt时你可能需要一个清洁干净的编译环境。 以下操作有利用编译工作: 清洁 清洁trunk/ 目录,在编译过程中使用“make clean”命令即可。 此命令将删除bin目录和build_dir目录下的所有文件及文件夹。 ## See CAUTION below# make clean

busybox制作开发板根文件系统后能正常挂载但etc/sh can not opened

是busybox需要的某些.so没有拷贝到/lib目录把请按照这个方向查查,或者把busybox编译成静态的试试

openwrt 和 busybox有什么区别

OpenWrt是一个系统,busybox是一个shell的工具集。OpenWrt从软件层面上是比busybox更庞大的。关于更多OpenWrt的资料可以到OpenWrt开发者之家。

Linux下编译安装openssl1.0.1d时遇到问题: 请解救!!!!!

1、读一下INSTALL文档2、make clean清理一下3、重新来一次./config --prefix=/usr/local --openssldir=/usr/local/opensslmake;make test;make install

openssl 怎么把 mode 和 exponent

使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)、解压缩openssl的包,进入openssl的目录、perl configure VC-WIN32尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。、msdo_ms在解压目录下执行msdo_ms命令、nmake -f ms tdll.mak编译后在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件注意:在运行第五步时,cl编译器会抱怨说.cryptodesenc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:warning treated as error - no object file generated/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。

win7 64位 编译openssl出的问题

使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)、解压缩openssl的包,进入openssl的目录、perl configure VC-WIN32尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。、msdo_ms在解压目录下执行msdo_ms命令、nmake -f ms tdll.mak编译后在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件注意:在运行第五步时,cl编译器会抱怨说.cryptodesenc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:warning treated as error - no object file generated/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。

suse升级openssl失败问题

使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)、解压缩openssl的包,进入openssl的目录、perl configure VC-WIN32尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。、msdo_ms在解压目录下执行msdo_ms命令、nmake -f ms tdll.mak编译后在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件注意:在运行第五步时,cl编译器会抱怨说.cryptodesenc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:warning treated as error - no object file generated/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。

如何在 Windows 下编译 OpenSSL

1)在微软网站下载并安装VS Studio,2)下载并安装ActivePerl。3)下载并安装Nasm汇编器。4)下载并安装OpenSSL的最新Release包。这里需要强调的是,读者未必需要完全按照步骤编译OpenSSL库,这里的部分次序是可以互换的。在完成所有上述4步后,我们就可以解压缩OpenSSL包,在对它进行修改便可以编译了。在解压缩后,所有的源代码放在openssl- 1.0.1e目录下,在此目录下,有两个文件INSTALL.W32, INSTALL.W64需要被关注。打开其中的任何一个文件,你会看到如何编译OpenSSL的各个步骤。这里,笔者将会再啰嗦一下。1)打开VS Studio命令行工具,如图1所示。若编译64位OpenSSL库,请打开Visual Studio x64 Win64 Command Prompt,反之亦然。2)配置编译文件及安装目录; 编译Win32:perl Configure VC-WIN32 --prefix=c:someopenssldir 编译Win64:perl Configure VC-WIN64A“c:someopenssldir”目录可以改成任何你希望的安装目录3)搭建编译环境: msdo_nasm msdo_ms对于64位编译,将msdo_ms替换成msdo_win64a4)编译OpenSSLnmake -f ms tdll.mak5)安装编译生成的库到“c:someopenssldir”nmake -f ms tdll.mak install

OpenSSL漏洞的基本信息

安全协议OpenSSL2014年4月8日曝出严重的安全漏洞。这个漏洞使攻击者能够从内存中读取多达64 KB的数据。OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,目前正在各大网银、在线支付、电商网站、门户网站、电子邮件等重要网站上广泛使用,所以本次漏洞特别值得关注。使用了存在漏洞的OpenSSL版本,用户登录该网站时就可能被黑客实时监控到登录账号和密码等敏感的信息。对于一个安全协议来说,这样的安全漏洞是非常严重的,但该漏洞并不一定导致用户数据泄露。因为该漏洞只能从内存中读取64K的数据,而重要信息正好落在这个可读取的64k上的几率并不大,攻击者除了具备相应的知识外,还需要很好的运气。该漏洞是由安全公司Codenomicon和谷歌安全工程师独立发现的。使用OpenSSL 1.0.1f的服务器将受影响,运维人员应该马上升级。此外,1.0.1以前的版本不受此影响,但是1.0.2-beta仍需修复。8日下午,大量网站已开始紧急修复此OpenSSL高危漏洞,修复此漏洞普遍需要半个小时到一个小时时间,大型网站修复时间会更长一些。

OpenSSL之X509证书用法

数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authorit y)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权 中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循 ITUT X.509国际标准。 一个标准的X.509数字证书包含以下一些内容: 证书的版本信息; 证书的序列号,每个证书都有一个唯一的证书序列号; 证书所使用的签名算法; 证书的发行机构名称,命名规则一般采用X.500格式; 证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049; 证书所有人的名称,命名规则一般采用X.500格式; 证书所有人的公开密钥; 证书发行者对证书的签名。 本文假设你已经安装好了OpenSSL,并且持有一份1.1.1的源码。 证书相关的头文件在x509.h和x509v3.h中、源文件在crypto/x509和crypto/x509v3目录中。 这个结构定义了证书申请信息主体。主要字段含义如下: enc —— 内部编码运算结构,不参与DER编码。 version —— 版本号。 subject —— 申请者信息。 pubkey —— 申请者公钥。 attributes —— 可选属性信息。 这个结构定义了证书申请信息。主要字段含义如下: req_info —— 版本号。 sig_alg —— 签名算法。 signature —— 申请者私钥签名。 这个结构定义了数字证书的信息主体。主要字段含义如下: version —— 版本号。 serialNumber —— 证书的序列号。 signature —— 证书采用的签名算法。 issuer —— 证书的颁发者信息。 validity—— 证书的有效期。 subject —— 证书的持有者信息。 key —— 证书的持有者公钥。 issuerUID —— 颁发者唯一标识。 subjectUID —— 持有者唯一标识。 extensions —— 证书的扩展信息。 这个结构定义了完整的X509数字证书。主要字段含义如下: cert_info —— 证书主体信息。 sig_alg —— 签名算法。 signature —— 签名值,存放CA对该证书采用sig_alg生成的结果。 siginf —— 算名算法信息描述。 ex_data —— 存放证书自定义信息,用于证书验证。 skid —— 主体密钥标识。 akid —— 颁发者密钥标识。 policy_cache —— 证书的策略缓存。 sha1_hash —— 存放证书的sha1摘要值。 aux —— 辅助信息。 在1.1.1中,大多数的数据结构已经不再向使用者开放,从封装的角度来看,这是更合理的。如果你在头文件中找不到结构定义,不妨去源码中搜一搜。 int X509_REQ_set_version(X509_REQ *x, long version); 设置证书请求的版本。 成功返回1,失败返回0。 long X509_REQ_get_version(const X509_REQ *req); 读取证书请求的版本。 X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len); 创建一个字符串内容项。 成功返回有效指针,失败返回NULL。 int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne, int loc, int set); 将内容项加入到name集合中。 成功返回1,失败返回0。 X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc); 从name集合中获取指定内容项。 成功返回有效指针,失败返回NULL。 X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); 从name集合中删除指定内容项。 成功返回有效指针,失败返回NULL。 int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name); 设置证书请求的申请者信息。 成功返回1,失败返回0。 X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req); 获取证书请求的申请者信息。 成功返回有效指针,失败返回NULL。 int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); 设置证书请求的申请者公钥。 成功返回1,失败返回0。 EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); 获取证书请求的申请者公钥。 成功返回有效指针,失败返回NULL。 int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); 对证书请求结构进行签名。 成功返回签名长度,失败返回-1。 int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); 对证书请求结构进行签名验证。 成功返回1,失败返回0。 int X509_REQ_print(BIO *bp, X509_REQ *req); 打印证书请求结构。 成功返回1,失败返回0。 int X509_set_version(X509 *x, long version); 设置证书的版本。 成功返回1,失败返回0。 long X509_get_version(const X509 *x); 读取证书的版本。 int X509_set_issuer_name(X509 *x, X509_NAME *name); 设置证书的颁发者信息。 成功返回1,失败返回0。 X509_NAME *X509_get_issuer_name(const X509 *a); 获取证书的颁发者信息。 成功返回有效指针,失败返回NULL。 int X509_set_subject_name(X509 *x, X509_NAME *name); 设置证书的所有者信息。 成功返回1,失败返回0。 X509_NAME *X509_get_subject_name(const X509 *a); 获取证书的所有者信息。 成功返回有效指针,失败返回NULL。 int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm); int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm); 设置证书的有效期。 成功返回1,失败返回0。 const ASN1_TIME * X509_get0_notBefore(const X509 *x); const ASN1_TIME *X509_get0_notAfter(const X509 *x); 获取证书的有效期。 成功返回有效指针,失败返回NULL。 int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); 设置证书的颂发者公钥。 成功返回1,失败返回0。 EVP_PKEY *X509_get_pubkey(X509 *x); 获取证书的颂发者公钥。 成功返回有效指针,失败返回NULL。 int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); 对证书结构进行签名。成功返回签名长度。 int X509_verify(X509 *a, EVP_PKEY *r); 验证证书的签名。成功返回1,失败返回0。 int X509_print(BIO *bp, X509 *x); 打印证书结构。成功返回1,失败返回0。 int X509_check_issued(X509 *issuer, X509 *subject); 检查subject证书是否由issuer颁发。成功返回1,失败返回0。 下面这个例子演示如何使用API生成证书申请文件。 输出: X509_REQ_set_version() ret:[1] X509_NAME_ENTRY_create_by_txt() ret:[0x20ef2d0] X509_NAME_add_entry() ret:[1] X509_REQ_set_subject_name() ret:[1] X509_REQ_set_pubkey() ret:[1] X509_REQ_sign() ret:[64] PEM_write_bio_X509_REQ() ret:[1] 生成的certreq.pem文件内容: -----BEGIN CERTIFICATE REQUEST----- MIHHMHMCAQEwEDEOMAwGA1UEKQwFemhhbjMwWjANBgkqhkiG9w0BAQEFAANJADBG AkEAxYRRHNO231nDXzt1t6y21BDim3x5xeHDbdhvcP3GVi0reAh8qsd4PzJ9Z7AU 3NgSFunTfYJu4IdKO2ZNNv4uoQIBA6AAMA0GCSqGSIb3DQEBBQUAA0EAQmQRd9e+ ORnnsokq28fG3uImdtnI5lpjf/RLsOJ5QUvbBYcXsZ4poOB/PfBTXIDikX2eBB++ bpzxkTyonMg5TA== -----END CERTIFICATE REQUEST----- 下面这个例子演示如何使用API读取并解码证书申请文件。 输出: PEM_read_bio_X509_REQ() ret:[0x1157390] X509_REQ_verify() ret:[1] X509_REQ_get_subject_name() ret:[0x1157510] zhan3 下面这个例子演示如何使用API生成证书文件。但是由于证书的结构非常复杂,这个例子仅仅操作了部分字段。 输出: X509_set_version() ret:[1] X509_NAME_ENTRY_create_by_txt() ret:[0x1a9c4d0] X509_NAME_add_entry() ret:[1] X509_set_subject_name() ret:[1] X509_set_issuer_name() ret:[1] X509_set1_notBefore() ret:[1] X509_set1_notAfter() ret:[1] X509_set_pubkey() ret:[1] X509_sign() ret:[64] PEM_write_bio_X509() ret:[1] 生成的cert.pem文件内容: -----BEGIN CERTIFICATE----- MIIBDDCBt6ADAgEBAgEAMA0GCSqGSIb3DQEBBQUAMBAxDjAMBgNVBCkMBXpoYW4z MB4XDTIxMDkxMTEzNDkyOVoXDTIxMDkxMTEzNDkyOVowEDEOMAwGA1UEKQwFemhh bjMwWjANBgkqhkiG9w0BAQEFAANJADBGAkEAvAYbGFNXsmDDYmWDsK6wRrL6/zyP aJnKIfwHjLhK6f/6LVhHQCRhDPHlWR4lUAwRYzCh6Ypa21nk3mkPxAEOBQIBAzAN BgkqhkiG9w0BAQUFAANBAGw7dvUpR8FBcuUkRDI/pK+dbYH1WKpUdi82QmATFLfR 4MhRAoybnhYlyxLA3D+c0NfBcl3vk3bhUa/K56ItmpU= -----END CERTIFICATE----- 下面这个例子演示如何使用API读取并解码证书文件。 输出: PEM_read_bio_X509() ret:[0x16eb930] X509_verify() ret:[1] X509_get_subject_name() ret:[0x16eb7e0] zhan3

openssl/ssl.h,该怎么处理

最近需要安装openssl,需要使用openssl/md5.h这个头文件,可是使用Ubuntu的apt-get install openssl安装,没有这个文件,连urs/include/openssl都没,经过一天的查找资料都没解决,最后想到了使用源码安装openssl,最终解决了。OpenSSL 是一款开源的 SSL 软件包,采用 SSL 的公开密钥技术,用于实现传输层的通信加密功能。OpenSSL 支持 Linux、Windows、BSD、Mac 等平台,功能强大,包含丰富的密码算法库,SSL 协议库和应用程序。一、SSL 基本常识 1.1、什么是 SSL? 安全套接层(Secure Sockets Layer,SSL), 最初由 netscape 公司设计,建立在传输层的安全通信协议,采用公开密钥体系的证书认证方式来确保客户端和 SSL 服务器之间的通信安全。1.2、SSL 认证流程 SSL 客户端在 TCP 连接建立之后,发出一个消息(包含了客户端所支持的算法列表)给服务器端,然后服务器端返回一个数据包(确定了这次通信所需算法)和 SSL 服务器端的证书(包含了公钥)给客户端。客户端随后会用收到的公钥将消息加密再传送,该加密消息只能用 SSL 服务器端私钥解密,即便中途被截取也无法获知内容。二、编译安装 OpenSSL 2.1、准备工作 系统版本:Ubuntu-10.10-Server-I386更新源:apt-get update升级软件:apt-get upgrade更新系统:apt-get dist-upgrade2.2、查看OpenSSL版本 部分 Linux 系统已默认安装了 OpenSSL 0.9.8,特别是 VPS 一般都安装了。openssl version -a2.3、安装基础编译环境apt-get install build-essential2.3、编译安装 Zlib 库(这一步我没有成功,但是也成功安装了openssl)tar -zxf zlib-1.2.5.tar.gzcd zlib-1.2.5/./configure --prefix=/usr/localmake && make install2.4、卸载旧版本 OpenSSLapt-get purge opensslrm -rf /etc/ssl #删除配置文件2.5、编译与安装 OpenSSLprefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。tar -zxf openssl-1.0.0c.tar.gzcd openssl-1.0.0c/./config --prefix=/usr/local --openssldir=/usr/local/sslmake && make install./config shared --prefix=/usr/local --openssldir=/usr/local/sslmake cleanmake && make

openssl gcc编译为什么要加-lssl

-l 后面跟的名字就是库的名字, 因为你用到了openssl中的函数, 但是你的代码中有没有该函数的实现, 只好链接openssl提供的链接库提示编译器, 实现在该库文件中

Linux升级openssl时遇到的奇怪错误

服务器系统为centos6.5 想对系统的openssl进行升级 于是开始安装,最先开始安装的是1.1.1-pre8 后来将其删除重新安装1.1.1b。安装过程中出现了奇怪的问题 具体如下: 建立openssl硬链接时,同时建立一个openssl 和 testopenssl 运行命令 ls -li|grep ssl后可以看到这两个硬链接对应了同样的 inode 796072 如图1: 可是在运行 openssl version 和 testopenssl version时确出现了 奇怪的现象 图2 得到的运行结果居然不同 其中1.1.1b为目前安装的版本 1.1.1-pre8为之前试安装的版本 实在不明白原因是什么 附:在卸载1.1.1-pre8时 把/usr/bin/openssl 软链接删除后 发现openssl软链接仍然可以使用 当时就觉得非常奇怪 图3 甚至将usr/bin 下对应的链接文件换回系统默认的openssl后 仍然找到的是之前安装的1.1.1-pre8版本 后来安装git时 报错好像也与openssl有关 这个奇怪的错误已然成为本系统中的一个毒瘤了!!! 今天 了解到了 bashrc profile 文件 怀疑 可能将openssl配置到了 这类文件里面 参考 https://blog.csdn.net/chenchong08/article/details/7833242 缘由卸载git 后 发现使用 git version 仍能显示版本号

怎么看openssl版本

1、打开openss,输入命令:yum -y install redhat-lsb。2、安装成功后执行lsb_release命令。3、直接执行lsb_release命令输出LSB Version信息,等价于lsb_release -v。4、查看发布的版本号,输入命令:lsb_release -r。5、查看版本描述信息,输入命令:lsb_release -d。6、显示所有LSB相关的信息,输入命令:lsb_release -a。7、查看lsb_release支持的所有参数,输入命令:lsb_release -h。

SSL和SSH和OpenSSH,OpenSSL有什么区别

SSL 是通讯链路的附加层。可以包含很多协议。https, ftps, .....ssl是一种国际标准的加密及身份认证通信协议,您用的浏览器就支持此协议。SSL(Secure Sockets Layer)最初是由美国Netscape公司研究出来的,后来成为了Internet网上安全通讯与交易的标准。SSL协议使用通讯双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通讯,在通讯双方间建立起了一条安全的、可信任的通讯通道。它具备以下基本特征:信息保密性、信息完整性、相互鉴定。 主要用于提高应用程序之间数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的"通道"。SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。SSH是由客户端和服务端的软件组成的。SSH安装容易、使用简单,而且比较常见,一般的Unix系统、Linux系统、FreeBSD系统都附带有支持SSH的应用程序包。OpenSSL 一个C语言函数库,是对SSL协议的实现。openssl 中也有个叫做 openssl 的工具,是 openssl 中的库的命令行接口。OpenSSH 是对SSH协议的实现。openssh依赖于openssl,没有openssl的话openssh就编译不过去,也运行不了。HTTPS可以使用TLS或者SSL协议,而openssl是TLS、SSL协议的开源实现,提供开发库和命令行程序。很多涉及到数据加密、传输加密的地方都会使用openssl的库来做。可以理解成所有的HTTPS都使用了openssl。

php怎样安装openssl扩展

php安装openssl扩展的方法:1、执行【yum install openssl openssl-devel】命令安装openssl组件;2、编辑php.ini配置文件,添加扩展组件;3、重启php服务。1、安装openssl组件(推荐教程:php视频教程)一般安装包ext目录包含了很多安装包自己找就可以:/usr/local/src/php-5.6.30/ext/openssl 。(1)cd /usr/local/src/php-5.6.30/ext/openssl (2)mv config0.m4 config.m4(3)phpize(4)./configure --with-openssl --with-php-config=php-config,如果此步报Cannot find OpenSSL"s <evp.h> 的错误执行以下命令:yum install openssl openssl-develln -s /usr/lib64/libssl.so /usr/lib/(相关推荐:php培训)(5)make(6)make install,安装成功会生成一个目录里面包含openssl.so2、修改php.ini文件, 扩展组件添加extension=openssl.so3、重启php和nginx4、查看openssl是否安装成功

linux 下怎样生成openssl的静态文件

换成高版本的openssl 编译 ./config --disable-shared --enable-static --prefix=/usr/local/openssl --openssldir=/usr/local/openssl make make install 都通过了。 但是找不到 libeay32.a openssl-1.0.0c目录下只有libcrypto.a 和libssl.a
 首页 上一页  1 2 3 4 5 6 7 8  下一页  尾页