为什么有的软件不可以安装office2003出错到中文路径,否则就会运行出错

请教,为什么找不到字体安装到哪里,但是软件显示有 - CPC中文印刷社区
◆- 字体交流区 交流出版级正式字体,寻找字体,讨论字体设计及相关技术。此区仅允许发布官方正式版字体,不允许发布个人DIY字体(特例除外),个别因BUG必须做修改的字体在发布时需说明。
等级: 六袋长老
注册日期: , 01:27
现金: 2487金币
资产: 2487金币
46 个帖子获得 87 次感谢
请教,为什么找不到字体安装到哪里,但是软件显示有
请教,为什么凯创连筋字库找不到字体安装到哪里,但是软件显示有也可以试用,怎样才能找到这里面的字体,求教了
凯创连筋字库[喷漆版]V2.0.zip
等级: 六袋长老
Uid: 92470
注册日期: , 12:19
现金: 708金币
资产: 708金币
78 个帖子获得 91 次感谢
ai一些中文字体在里面是不显示,我以前发贴问过了,也没有人回答
不过一个方法就是在CDR里用这种字体打几个字,复制到AI里你就可以看到这个字体的名称不过字体名称是乱码
等级: 五袋长老
Uid: 281615
注册日期: , 13:12
现金: 1265金币
资产: 1265金币
160 个帖子获得 385 次感谢
这个是特殊的,类似于「加密」的防复制方式。
比较无聊的方法。
十几年前就有人这么做,但普遍认为属于白痴。
当这玩意先运行了以后,字体实际上是存在的,但一定是藏在某个非常隐蔽的地方,实际的字体也可能不是一般的扩展名。
满盘翻遍找应该能找到,但能否拷贝出来不一定。
右列会员因为此帖价值甚高向 凤仪 表示感谢:
仁心仁术老中医
等级: 九袋长老
注册日期: , 12:00
现金: 872金币
资产: 22288金币
感谢: 6851
1893 个帖子获得 8926 次感谢
作者: 凤仪
这个是特殊的,类似于「加密」的防复制方式。
比较无聊的方法。
十几年前就有人这么做,但普遍认为属于白痴。
当这玩意先运行了以后,字体实际上是存在的,但一定是藏在某个非常隐蔽的地方,实际的字体也可能不是一般的扩展名。
满盘翻遍找应该能找到,但能否拷贝出来不一定。
安装这个字体时监控系统不就行了?
等级: 六袋长老
注册日期: , 01:27
现金: 2487金币
资产: 2487金币
46 个帖子获得 87 次感谢
楼上老大给推荐一个能监控系统的软件吧,我没找到
等级: 六袋长老
注册日期: , 01:27
现金: 2487金币
资产: 2487金币
46 个帖子获得 87 次感谢
作者: 凤仪
这个是特殊的,类似于「加密」的防复制方式。
比较无聊的方法。
十几年前就有人这么做,但普遍认为属于白痴。
当这玩意先运行了以后,字体实际上是存在的,但一定是藏在某个非常隐蔽的地方,实际的字体也可能不是一般的扩展名。
满盘翻遍找应该能找到,但能否拷贝出来不一定。
windows\fonts目录里没有,软件里显示的有,怎么能找到这个
等级: 五袋长老
Uid: 281615
注册日期: , 13:12
现金: 1265金币
资产: 1265金币
160 个帖子获得 385 次感谢
作者: wangyu1314
安装这个字体时监控系统不就行了?
对,这是搞软件破解的必备工具。我没有用过监控软件,希望老大或别的童鞋尝试,也不排除有可能迅速的找到。
这个保护方式不是简单的把字体安装到什么地方,而是每次先要运行他的软件,这个字体才被加载——显然不是在众所周知的字体目录,从名字也看不出来是字体文件。实际起作用的字体文件应该是每次运行时动态生成的,有可能是随机的位置和名字,隐藏啦、锁定啦、冒充系统文件啦等等都有可能。
监控不仅要监控安装过程,大概也需要监控软件运行过程。希望有人花些力气来尝试破解。
史上早年汉真广标字体刚出现时就是用的类似保护手段,但真实的字体文件很快被人搞出来了,并不是特别强的保护。现在仍然有人故技重演,可能隐藏的更复杂,但原理上不会有新东西。
右列 2 位会员因为此帖价值甚高向 凤仪 表示感谢:
等级: 五袋长老
Uid: 281615
注册日期: , 13:12
现金: 1265金币
资产: 1265金币
160 个帖子获得 385 次感谢
作者: yplyy
windows\fonts目录里没有,软件里显示的有,怎么能找到这个
它既然这么搞,当然就不会在字体目录下也可能不是字体的扩展名,尽可能的隐藏、伪装。至于怎么能找到,当然你得面对他给你制造的麻烦——你愿意费那么大力气去找吗,你会把硬盘上所有目录、文件一个一个检查一遍吗。
参见楼上讨论。老大说的监控系统应该省力不少,但熟练使用可能需要一些经验。
事实上任何技术加密或保护在原则上都没有不可攻破,有些没有被攻破只是因为需要的开销太大,破解花费的时间精力得不偿失,或者麻烦得让人无法忍受。
右列会员因为此帖价值甚高向 凤仪 表示感谢:
等级: 五袋长老
Uid: 195231
注册日期: , 12:22
现金: 132金币
资产: 132金币
129 个帖子获得 267 次感谢
哈,那不就在说LHF笑话一般的font guard么。原来天朝早已有之。LHF的下场还没得教训么。捡了芝麻丢西瓜。
方正静蕾也这么搞过,印象中……
等级: 五袋长老
Uid: 281615
注册日期: , 13:12
现金: 1265金币
资产: 1265金币
160 个帖子获得 385 次感谢
方正静蕾最初似乎确实是曾经用某种方式保护过,我没见到,但有人写文章提到什么「静蕾体被破解」的哀叹。汉真广标最初是一个个人做的字体,十几年前的事——肯定是在本世纪之前,那个著名的广捷居也曾经破解过,但不是最早。
这种活计交给什么「绿盟」之类的高手去破可能易如反掌。他们「绿」一个东西也就是探索在什么路径安装了些什么,运行中在什么地方写了什么配置文件、用户数据等等这些。
等级: 五袋长老
Uid: 281615
注册日期: , 13:12
现金: 1265金币
资产: 1265金币
160 个帖子获得 385 次感谢
作者: 浮舟
方正静蕾也这么搞过,印象中……
搜索一下发现静蕾姑娘确实杯具,一个二〇〇七年四月二十九日的烙铁说,四月二十七日才发布的方正静蕾简体在二十八日就已经出现了破解下载。看来只要工具和方法对头,破解很容易。
《方正静蕾简体已被破解网上广泛流传》
您不可以发表主题
您不可以回复帖子
您不可以上传附件
您不可以编辑自己的帖子
论坛禁用 HTML 代码
律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!
&nbsp 广告联系: &nbsp 站务管理:
所有时间均为 +8, 现在的时间是 .
Powered by vBulletin& Version 3.8.11 Beta 2Copyright &2000 - 2017, vBulletin Solutions, Inc.
Please enable / Bitte aktiviere JavaScript!Veuillez activer / Por favor activa el Javascript!3661人阅读
运维(27)
先来看一段网上的资料&预热
&&&&&Linux常见的安装为,,,,,等。我们可以简单的分为三类
&第一:打包或压缩文件,,等,一般解压后即可,或者解压后运行文件;
& 安装过程
tar&–xvzf&软件包名,就可以一步完成解压与解包工作
&&&&&&执行&-prefix=/opt/fcitx&“命令为编译做好准备;
&&&&&执行命令进行软件编译;
&&&&&执行完成安装
&&&&&执行删除安装时产生的临时文件
&&&&&&Kinstall和,2个软件可以解决安装卸载的问题
&第二:对应的有管理工具的,等,通常的这类安装文件可以通过第三方的命令行或来简单的安装,例如中的来安装,中的来安装;
&第三:像类,其实就是把和打包为,或把和打包为等,当在命令行运行安装文件时,其实就是里面的来解压中的或安装的过程。
chmod&+x&soft.bin
&&./soft.bin&//运行这个命令就可以安装软件了
&卸载的话进入安装目录删除即可。
&&&&&上面这些资料在网上一搜一大箩筐,因为很常见所以资料很多,不过今天我想唠叨的是使用上述那些命令背后的事情,虽然linux上安装格式很多,以至于软件安装过程中遇到很多错误的地方,但他们之前所做的一些操作都是相同的因为他们都需要经过编译,当我们了解了下面的编译流程,安装软件中在遇见一些问题,那就不是小了吗!!嘿嘿……,先补充一下关于下关于
编译的那些事
&&&&&&Linux&系统上真正认识的可执行文件其实是二进制文件&(&binary&program),例如&/usr/bin/passwd,&/bin/touch&这些个档案为二进制程序代码。那么怎么样查看一个文件是否是二进制文件还是shell&script,?&[root@localhost&soft]##file&filename&,&如果出现类似的“/bin/bash:&ELF&64-bit&LSB&executable,&x86-64,&version&1&(SYSV),&dynamically&linked&(uses&shared&libs),&for&GNU/Linux&2.6.18,&stripped&,说明filename是一个二进制并且是可以执行的,执行文件类别是ELF&64-bit&LSB&executable,使用了动态链接库(uses&shared&libs)。如果是shell&scrript的话,那他就会显示出&text&executables&之类的字样!,
&&&&&在&Linux&上面最标准的程序语言为&C&,所以我使用&C&的语法进行源代码的书写,写完后,以&Linux&上标准的&C&语言编译程序&gcc&这支程序来编译,就可以制作一支可以执行的&binary&program&啰。
&&&&&由于不同版本的核心所使用的系统名称可能不相同,而且每个软件所需要的相依的函式库也不相同,&同时,软件开发商不会仅针对&Linux&开发,而是会针对整个&Unix-Like&做开发啊!所以在编译之前有必须先做一下该操作系统平台有没有提供适合的编译程序,通常这支侦测程序的文件名为&configure&戒者是&config。(解压安装目录后里面有一个configure的文件),该检测程序完成后就会生成一个Makefile的规划档案,然后当系统执行make命令的时候会去找Makefile。所以编译的时候你要做的有2个步骤,1,执行configure来建立Makefile。2,用make命令编译Makefile即可。下面以helloword来举例,编译一个自己写的程序
[root@localhost&soft]#&vim&hello.c
#include&&stdio.h&
int&main(void){
printf(&Hello&World\n&);
开始编译与测试执行
[root@localhost&soft]#&gcc&hello.c
你会看到下面生成一个中间产物a.out
[root@localhost&soft]#&./a.out
输出成功&&Hello&World
在上面的例子中hello.c&就是原始码,而&gcc&就是编译程序,至亍&a.out&就是编译成功的可执行&binary&program&啰!这个例子只是在屏幕上面输出一些字符而已,不牵涉到系统库,更不牵涉到其他子程序,如果一个程序牵涉到了4,5个子程序,那么我们编译的时候应该一个一个的写命令,而且必要时还要加上编译路径,比如:#gcc&-c&main.c& #gcc-c&haha.c&等等.编译的过程需要迚行好多动作啊!而且如果要重新编译,则上述的流程得要重新来一遍,光是找出这些指令就够烦人的了!&如果可以的话,能不能一个步骤就给他完成上面所有的动作呢?那就利用&make&这个工具吧!先试看看在这个目录下建立一个名为&makefile&的档案。
[root@localhost&soft]#&vim&makefile
main:hello.c
&&&&&&&&gcc&-c&&hello.c
上面有个固定语法就是gcc前面有个tab键
[root@localhost&soft]#&make
执行make输出makefile的内容,查看
当前目录下多了1个文件hello.O,下面对一些库文件做些解析
1,.o、.a、.so文件都是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据。
优点:程序模块化,容易重新编译,方便升级。
分类:静态函数库(对应.a文件)、共享函数库(对应.so文件,类似于Windows的dll文件)、动态加载函数库(对应.o文件,相当于Windows里的.obj文件),下面总结make下面安装软件的步骤:1.&./configure&这个步骤就是在建立&Makefile&这个档案啰!通常程序开发者会写一支&scripts&来检查你的&Linux&系统、相关的软件属性等等,这个步骤相当的重要,&因为未来你的安装信息都是这一步骤内完成的!另外,这个步骤的相关信息应该要参考一下该目录下的&README&戒&INSTALL&相关的档案!
<span style="color:#.&make&clean&make&会读取&Makefile&中关亍&clean&的工作。这个步骤丌一定会有,但是希望执行一下,因为他可以去除目标档案!因为谁也丌确定原始码里面到底有没有包吨上次编译过的目标档案&(*.o)&存在,所以当然还是清除一下比较妥当的。&至少等一下新编译出来的执行档我们可以确定是使用自己的机器所编译完成的嘛!
<span style="color:#.&make&make&会依据&Makefile&当中的预讴工作迚行编译的行为!编译的工作主要是迚行&gcc&来将原始码编译成为可以被执行的&object&files&,但是这些&object&files&通常还需要一些凼式库乊类的&link&后,才能产生一个完整的执行档!使用&make&就是要将原始码编译成为可以被执行的可执行文件,而这个可执行文件会放置在目前所在的目录乊下,&尚未被安装到预定安装的目录中;
<span style="color:#.&make&install&通常这就是最后的安装步骤了,make&会依据&Makefile&这个档案里面关亍&install&的项目,将上一个步骤所编译完成的数据给他安装到预定的目录中,就完成安装啦!请注意,上面的步骤是一步一步来迚行的,而其中只要一个步骤无法成功,那么后续的步骤就完全没有办法进行的!
关于函数库
&&&&&简单的说就是在自己的程序里面引用的一段功能函数,Linux&的核心提供很多的核心相关函式库不外部参数,&这些核心功能在于硬件的驱劢程序的时候是相当有用的信息,这些核心相关信息大多放置在&/usr/include,&/lib,&/usr/lib&里面哩,
静态函数库  扩展名 为.a
动态函数库  扩展名 为.so
&&&&&目前大多数函式库都做成动态的,再来要知道的就是,那有没有办法增加函式库的读取效能?&我们知道内存的访问速度是硬盘的好几倍,所以,如果我们将常用到的函式库先加载内存当中&(快取,&cache),如此一来,当软件要取用函式库时,就需要仍头由硬盘里面读出啰!&这样不就可以增加函数式库的读取速度?没错,是这样的!这个时候就需要&ldconfig&与&/etc/ld.so.conf&的协助了。如何将&动态函式库加载高速缓存当中呢?&
<span style="color:#.&首先,我们必须要在&/etc/ld.so.conf&里面写下&想要读入高速缓存当中的&动态函式库所在的目录』,注意喔,&是目录而不是档案;&
<span style="color:#.&接下来则是利用&ldconfig&这个执行档将&/etc/ld.so.conf&的资料读入快取当中;&
<span style="color:#.&同时也将数据记录一份在&/etc/ld.so.cache&这个档案当中吶!&
安装指定路径
<span style="color:#,Make方式安装:执行安装路径&一般来说&configure&预定参数较重要的就是那个&--prefix=/path&了,--prefix&后面接的路径就是『这个软件未来要安装到那个目录去?』如果你没有指定&--prefix=/path&这个参数,通常预定参数就是&/usr/local
<span style="color:#,RPM方式安装:&后接参数&--prefix&新路径 要将软件安装到其他非正规目录时。举例来说,你想要将某软件安装到&/usr/local&而非正规的&/bin,&/etc&等目录,&就可以使用--prefix&/usr/local来处理了
安装成功后生成默认文件分散地方:
我们晓得几乎每个软件都会提供联机帮助的服务,那就是&info&不&man&的功能。在预期的情况下,&man&会去搜寻&/usr/local/man&里面的说明文件,&因此,如果我们将软件安装在&/usr/local&底下的话,那么自然安装完成之后,&该软件的说明文件就可以被找到了。此外,如果你所管理的主机其实是由多人共同管理的,&戒者是如同学校里面,一部主机是由学生管理的,但是学生总会毕业吧?&所以需要迚行交接,如果大家都将软件安装在&/usr/local&底下,那么管理上不就显的特别的容易吗!
&&&&其实软件大都是摆在&etc,&lib,&bin,&man&等目录当中,分别代表『配置文件、函式库、执行档、联机帮文档。&好了,那么你是以&make&来安装时呢?如果是放在预定义的&/usr/local&里面,由亍&/usr/local&原本就默认这几个目录了,所以你的数据就会被放在,/usr/local/etc&&/usr/local/bin&&&/usr/local/lib&&/usr/local/man
&&&&&大家知道,用RPM可以查询,验证,更新已经安装的软件,甚至还可以查询软件安装后的产物放到了哪个地方,那么他是怎么做到的呢?!&&一般来说,RPM&类型的档案在安装的时候,会先去读取档案内记载的设定参数内容,然后将该数据用来比对&Linux&系统的环境,以找出是否有属性相依的软件尚未安装的问题。例如&Openssh&这个联机软件需要透过&Openssl&这个加密软件的帮忙,所以得先安装&openssl&才能装&openssh&的意思。那你的环境如果没有&openssl&,&妳就无法安装&openssh&的意思啦。&若环境检查合&#26684;了,那举&RPM&档案就开始被安装到你的&Linux&系统上。安装完毕后,该软件相关的信息就会被写入&/var/lib/rpm/&目录下的数据库档案中了。&上面这个目录内的数据很重要喔!因为未来如果我们有任何软件升级的需求,版本之间的比较就是来自亍这个数据库,&而如果妳想要查询系统已经安装的软件,也是仍这里查询的!同时,目前的&RPM&也提供数字签名信息,&这些数字签名也是在这个目录内记录的呢!所以说,这个目录得要注意不要被删除了啊!
Rpm&&#26684;式&rp-pppoe-3.1-5.i386.rpm&&
&&&&&&&&&&&软件名称&软件的版本信息&释出的次数&适合的硬件平台&扩展名
i386,&i586,&i686,&x86_64&与&noarch&我应该选择哪个?
i386几乎适用于所有的x86平台&&
i586针对586等级的计算机进行优化编译
i686在K7以后等级的cpu都属于这个686等级
x86_64针对64位的cpu进行优化编译设定&(64bit的系统优先使用)
noarch 没有任何硬件等级上的限制
&&&&&受惠于目前&x86&系统的支持方面,新的&CPU&都能够执行旧型&CPU&所支持的软件,也就是说硬件方面都可以向下兼容的,&因此最低等级的&i386&软件可以安装在所有的&x86&硬件平台上面,如果你的系统是64bit的,应该选i386,x86_64类型的安装包
RPM优点
l&RPM&内含已经编译过的程序不配置文件等数据,可以让用户克除重新编译的扰;
l&RPM&在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免档案被错误安装;
l&RPM&档案本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所在档案等信息,便亍了解软件;
l&RPM&管理的方式使用数据库记录&RPM&档案的相关参数,便于升级、移除、查询不验证。
RPM安装时常用参数的选项
--replacepkgs &&&&&&&&重新安装某个已经安装过的软件!如果妳要安装一堆&RPM&软件档案时,可以使用&rpm&-ivh&*.rpm&,但若某些软件已经安装过了,&此时系统会出现『某软件已安装』的信息,导致无法继续安装。此时可使用这个选项来重复安装喔!
--test &&&&&&&&&&&&&&想要测试一下该软件是否可以被安装到使用者的&Linux&环境当中,可找出是否有属性相依的问题。范例为:&rpm&-ivh&pkgname.i386.rpm&--test
--prefix新路径&&&&&&&&要将软件安装到其他非正规目录时。&#20028;例来说,妳想要将某软件安装到&/usr/local&而非正规的&/bin,&/etc&等目录,&就可以使用『&--prefix&/usr/local&』来处理了。
RPM强大的查询
&&&&&&&&RPM&在查询的时候,其实查询的地方是在&/var/lib/rpm/&这个目录下的数据库档案啦!另外,&RPM&也可以查询未安装的&RPM&档案内的信息喔!那如何去查询呢?&我们先来谈谈可用的选项有哪些?
-qa&:列出所有的,已经安装在本机&Linux&系统上面的所有软件名称;
-q&:仅查询,后面接的软件名称是否有安装;
-qi&:列出该软件的详绅信息&(information),包吨开发商、版本不说明等;
-ql&:列出该软件所有的档案不目录所在完整文件名&(list);
-qc&:列出该软件的所有配置文件&(找出在&/etc/&底下的檔名而已)
-qR&:列出与该软件有关的相依软件所依的档案&(Required&的意思)
YUM&配置&&
&&&&&&由前面我们自己尝试编译的helloworld可知道,如果main方法里面有对其他子程序的依赖,那安装软件的时候就必须先解决到依赖问题,如何解决软件依赖问题,那就赶快来体验体验yum这个强大的工具吧,yum&是透过分析&RPM&的标头资料后,&根据各软件的相关性制作出属性相依时的解决方案,然后可以自劢处理软件的相依属性问题,以解决软件安装与移除不升级的问题,配置文件很简单,进入/etc/yum.repos.d,目录下面&,以我的为例,有2个仓库&一个是iso.repo,另一个是yum1.repo在这个目录下面的所有以.repo结尾的文件都是仓库,通过配置仓库信息,可以从远程&,或者从本地自动下载和安装需要依赖rpm包。先看看iso.repo的配置,
baseurl=file:///home/yum_source
哈哈,惊呆了吧小伙伴们,是的就这样简单,当然我这是最简化了其实还有很多参数可以配置的,这里的源名字叫,(可以自定义),为源的地址,这里可知道,这是一个本地源,因为协议时!切换到可以发现这个文件夹里面有个repodata的文件夹,注意,url地址里面一定要有这个文件夹,否则源不生效。
好吧,我们再看看里面有什么东东。
baseurl=http://ftp.twaren.net/Linux/CentOS/5/os/x86_64/
是的,就这么简单,只是简单的替换了一下Url连接而已,可知,这个不是本地源,需要练外网的
设置源之后怎么查看是否可用呢,输入下面命令
[root@localhost&yum.repos.d]#&yum&repolist&all
Loaded&plugins:&product-id,&refresh-packagekit,&security,&subscription-manager
Updating&certificate-based&repositories.
Unable&to&read&consumer&identity
repo&id&&&&&&&&&&&&&&&&&&&&&&&&&&&&repo&name&&&&&&&&&&&&&&&&&&&&&&&status
iso&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&iso&&&&&&&&&&&&&&&&&&&&&&&&&&&&&enabled:&2161
yum1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&yum1&&&&&&&&&&&&&&&&&&&&&&&&&&&&enabled:&3641
repolist:&5802
由上面输出,status那一列,了,就表明配置基本可以了!
查询功能:yum&[list|info|search|provides|whatprovides]&参数
安装/升级功能:yum&[install|update]&软件
移除功能:yum&[remove]&软件&
&&&高速源&
总结&:linux下安装软件学问很多,本文只起到一个引领的的作用,理解了Linux下编译原理和过程,即使安装过程中碰到了错误,也很好解决了。这就是我写这篇文档的目的。经验是无价的,随后会奉上linux下面安装经常遇到的问题!由于系统参数配置不相同,仅供参考!
经常遇见的问题
<span style="color:#,/usr/local/bin/scli:&/lib/ld-linux.so.2:&bad&ELF&interpreter:&No&ch&&or&directory
解决方案:&&
需要安装glibc*i686.prm(32bit类库)一般在安装包里面可以找到&或通过yum解决
<span style="color:#,&共享库的问题&&&
如果未安装必需的&32&位软件包,那么在运行&32&位和&64&位&Red&Hat&Enterprise&Linux(R)&Advanced&Server&4&和&Red&Hat&Enterprise&Linux&5&Advanced&Platform&的计算机上进行安装时会失败。&
32&位软件包名称
安装期间找不软件包时显示的错误消息
glibc-2.3.4-2.9
警告:已将&/etc/localtime&保存为
/etc/localtime.rpmsave
警告:已将&/etc/ld.so.conf&保存为
/etc/ld.so.conf.rpmsave
错误:%postun(glibc-2.3.4-2.25.i686)
scriptlet&失败,退出状态&255
***&检测到&glibc&***&double&free&或
损坏(fasttop):0x09796e40&***
错误:%trigger(redhat-lsb-3.0-8.EL.i386)
scriptlet&失败,退出状态&0
xorg-x11-libs-6.8.2-1.EL.13.6
xorg-x11-deprecated-libs-6.8.2-1.EL.13.6
xorg-x11-libs-6.8.2-1.EL.13.6
libXmu.so.6
libXt.so.6
libX11.so.6
libXtst.so.6
libXp.so.6
libSM.so.6
libICE.so.6
libXext.so.6
安装程序无法以图形方式运行。
请尝试在运行安装程序时带上&-console&或
–silent&标志。
libstdc&#43;&#43;-3.4.3-22.1
./bin/uvsh:装入时出错
共享库:libstdc&#43;&#43;.so.6:无法打开共享对象文件:
无此文件或目录
compat-libstdc&#43;&#43;-33-3.2.3-47.3
ESuite10092:一个或多个组合件未正确安装
libdl.so.2
装入共享库时出错:libdl.so.2:
无法打开共享对象文件:无此文件或目录
libpthread.so.0libc.so.6
此系统中找不到&Java&运行时环境(JRE)。
<span style="color:#,共享库问题&(联想上面编译程序的时候用到的动态链接库)
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误,&比如:
tmux:&error&while&loading&shared&libraries:&libevent-1.4.so.2:&cannot&open&shared&object&file:&No&such&file&or&directory
原因一般有两个:&一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对,&遇到这种情况那就去网上下载并安装上即可.&
另外一个原因就是已经安装了该共享库,&但执行需要调用该共享库的程序的时候,&程序按照默认共享库路径找不到该共享库文件.&
所以安装共享库后要注意共享库路径设置问题,&如下:
<span style="color:#)&如果共享库文件安装到了/lib或/usr/lib目录下,&那么需执行一下ldconfig命令
ldconfig命令的用途,&主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,&搜索出可共享的动态链接库(&#26684;式如lib*.so*),&进而创建出动态装入程序(ld.so)所需的连接和缓存文件.&缓存文件默认为/etc/ld.so.cache,&此文件保存已排好序的动态链接库名字列表.&
<span style="color:#)&如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它&非/lib或/usr/lib&目录下,&那么在执行ldconfig命令前,&还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中,&如下:
#&cat&/etc/ld.so.conf
include&ld.so.conf.d/*.conf
#&echo&&/usr/local/lib&&&&&/etc/ld.so.conf
#&ldconfig
一般来讲这只是一种临时的解决方案,&在没有权限或临时需要的时候使用.
error&while&loading&shared&libraries&的解决方法
编译安装openmoko的gsmd
#./configure
#make&install
然后运行:
#gsmd&-s&115200&-p&/dev/ttyS0
#libgsmd-tool&
报错:error&while&loading&shared&libraries:&libgsmd.so.0:&cannot&open&shared&object&file:&No&such&file&or&directory
tank@debian:/usr/local/lib$&which&libgsmd-tool&
/usr/local/bin/libgsmd-tool
tank@debian:/usr/local/lib$&ldd&/usr/local/bin/libgsmd-tool&
linux-gate.so.1&=&&(0xb7f3a000)
libgsmd.so.0&=&&/usr/local/lib/libgsmd.so.0&(0xb7f26000)
libc.so.6&=&&/lib/i686/cmov/libc.so.6&(0xb7dcb000)
/lib/ld-linux.so.2&(0xb7f3b000)
tank@debian:/usr/local/lib$
确实依赖这个库。
在/usr/local/lib下面找到这个库:
tank@debian:/usr/local/lib$&ls&-l
drwxr-sr-x&2&root&staff&&09:49&gsmd
-rw-r--r--&1&root&staff&-20&09:49&libgsmd.a
-rwxr-xr-x&1&root&staff&792&11-20&09:49&libgsmd.la
lrwxrwxrwx&1&root&staff&16&11-20&09:49&libgsmd.so&-&&libgsmd.so.0.0.0
lrwxrwxrwx&1&root&staff&16&11-20&09:49&libgsmd.so.0&-&&libgsmd.so.0.0.0
-rwxr-xr-x&1&root&staff&&09:49&libgsmd.so.0.0.0
drwxr-sr-x&2&root&staff&&09:49&pkgconfig
drwxrwsr-x&3&root&staff&&00:27&python2.5
tank@debian:/usr/local/lib$
一开始以为是编译问题,debian服务器用的是gcc4.3,同事编译使用gcc4.1.但换用gcc4.1也是不行。
想到是链接库的过程中出错了。
上网搜索:“error&while&loading&shared&libraries”
解决方法:
&把libgsmd.so.0&所在lib位置加入到/etc/ld.so.conf文件当中
只要在/etc/ld.so.conf中加入/usr/local/lib这一行,就可以解決此问题,不仅仅是对于libreadline.so.5,大部分的so都存在
这/usr/local/lib这个目录里面。
最后将/etc/ld.so.conf保存后,还要执行ldconfig&才会使更改生效
&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;
下面转帖网上的笔记,谢谢原创。
etc/ld.so.conf和ldconfig,&PKG_CONFIG_PATH
<span style="color:#09-04-19&22:15
首先说下/etc/ld.so.conf:&(可以这样想&,link&disk&连接路径)
这个文件记录了编译时使用的动态链接库的路径。
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
如果你安装了某些库,比如在安装gtk&-2.4.13时它会需要glib-2.0&&=&2.4.0,辛苦的安装好glib后,没有指定&--prefix=/usr&这样glib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib
这个搜索路径,所以编译gtk&-2.4.13就会出错了
对于这种情况有两种方法解决:
一:在编译glib-2.4.x时,指定安装到/usr下,这样库文件就会放在/usr/lib中,gtk就不会找不到需要的库文件了&
对于安装库文件来说,这是个好办法,这样也不用设置PKG_CONFIG_PATH了&(稍后说明)
二:将/usr/local/lib加入到/etc/ld.so.conf中,这样安装gtk时就会去搜索/usr/local/lib,同样可以找到需要的库&
将/usr/local/lib加入到/etc/ld.so.conf也是必须的,这样以后安装东东到local下,就不会出现这样的问题了。
将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择&^_^
添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个。例如:
include&/etc/ld.so.conf.d/*.conf
添加一行:
/usr/local/lib
注:我在ld.so.conf.d&目录下的可以看到:
tank@debian:/etc/ld.so.conf.d$&vi&libc.conf
<span style="color:#&#&libc&default&configuration
<span style="color:#&/usr/local/lib
也就是说这个路径已经有了为何还要在/etc/ld.so.conf里添加?是否我只需要运行ldconfig。
再来看看ldconfig是个什么东东吧&:
它是一个程序,通常它位于/sbin下,是root用户使用的东东。具体作用及用法可以man&ldconfig查到简单的说,它的作用就是将/etc/ld.so.conf列出的路径下的库文件&缓存到/etc/ld.so.cache&以供使用因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果
编译过程中抱错,缺少xxx库,去查看发现明明就在那放着,搞的想大骂computer蠢猪一个。&^_^
我曾经编译KDE时就犯过这个错误,(它需要每编译好一个东东,都要运行一遍),所以
切记改动库文件后一定要运行一下ldconfig,在任何目录下运行都可以。
再来说说&PKG_CONFIG_PATH这个变量吧:
经常在论坛上看到有人问&为什么我已经安装了glib-2.4.x,但是编译gtk&-2.4.x&还是提示glib版本太低阿?
为什么我安装了glib-2.4.x,还是提示找不到阿?。。。。。。&都是这个变量搞的&#39740;。
先来看一个编译过程中出现的错误&(编译gtk&-2.4.13):
checking&for&pkg-config...&/usr/bin/pkg-config
checking&for&glib-2.0&&=&2.4.0&atk&&=&1.0.1&pango&&=&1.4.0...&Package&glib-2.0&was&not&found&in&the&pkg-config
search&path.
Perhaps&you&should&add&the&directory&containing&`glib-2.0.pc'
to&the&PKG_CONFIG_PATH&environment&variable
No&package&'glib-2.0'&found
configure:&error:&Library&requirements&(glib-2.0&&=&2.4.0&atk&&=&1.0.1&pango&&=&1.4.0)&not&&consider&adjusting
the&PKG_CONFIG_PATH&environment&variable&if&your&libraries&are&in&a&nonstandard&prefix&so&pkg-config&can&find
很明显,上面这段说明,没有找到glib-2.4.x,并且提示应该将glib-2.0.pc加入到PKG_CONFIG_PATH下。
究竟这个pkg-config&PKG_CONFIG_PATH&glib-2.0.pc&是做什么的呢?&let&me&tell&you&^_^
先说说它是哪冒出来的,当安装了pkgconfig-x.x.x这个包后,就多出了pkg-config,它就是需要PKG_CONFIG_PATH的东东pkgconfig-x.x.x又是做什么的?&来看一段说明:
The&pkgconfig&package&contains&tools&for&passing&the&include&path&and/or&library&paths&to&build&tools&during&the&make&file&execution.pkg-config&is&a&function&that&returns&meta&information&for&the&specified&library.The&default&setting&for&PKG_CONFIG_PATH&is&/usr/lib/pkgconfig&because&of&the&prefix&we&use&to&install&pkgconfig.
You&may&add&to&PKG_CONFIG_PATH&by&exporting&additional&paths&on&your&system&where&pkgconfig&files&areinstalled.&Note&that&PKG_CONFIG_PATH&is&only&needed&when&compiling&packages,&not&during&run-time.
我想看过这段说明后,你已经大概了解了它是做什么的吧。
其实pkg-config就是向configure程序提供系统信息的程序,比如软件的版本啦,库的版本啦,库的路径啦,等等这些信息只是在编译其间使用。你可以&ls&/usr/lib/pkgconfig&下,会看到许多的*.pc,用文本编辑器打开
会发现类&#20284;下面的信息:
prefix=/usr
exec_prefix=$
libdir=$/lib
includedir=$/include
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name:&GLib
Description:&C&Utility&Library
Version:&2.4.7
Libs:&-L$&-lglib-2.0
Cflags:&-I$/glib-2.0&-I$/glib-2.0/include
明白了吧,configure就是靠这些信息判断你的软件版本是否符合要求。并且得到这些东东所在的位置,要不去哪里找呀。
不用我说你也知道为什么会出现上面那些问题了吧。
解决的办法很简单,设定正确的PKG_CONFIG_PATH,假如将glib-2.x.x装到了/usr/local/下,那么glib-2.0.pc就会在/usr/local/lib/pkgconfig下,将这个路径添加到PKG_CONFIG_PATH下就可以啦。并且确保configure找到的是正确的
glib-2.0.pc,就是将其他的lib/pkgconfig目录glib-2.0.pc干掉就是啦。(如果有的话&^-^)
设定好后可以加入到~/.bashrc中,例如:
PKG_CONFIG_PATH=/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig:/usr/X11R6/lib/pkgconfig
[root@NEWLFS&~]#echo&$PKG_CONFIG_PATH
/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig:/usr/X11R6/lib/pkgconfig
从上面可以看出,安装库文件时,指定安装到/usr,是很有好处的,无论是/etc/ld.so.conf还是PKG_CONFIG_PATH
默认都会去搜索/usr/lib的,可以省下许多麻烦,不过从源码包管理上来说,都装在/usr下
管理是个问题,不如装在/usr/local下方便管理
其实只要设置好ld.so.conf,PKG_CONFIG_PATH路径后,就OK啦&^_^
总结:关于在Linux下安装软件,有时候遇到的问题远不止就这样,但我相信,读过本篇文档之后,你会对linux下安装软件的过程有个全新的了解。
参考了一些网上资料,在此谢过作者,
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:42560次
排名:千里之外
原创:23篇
转载:19篇
(2)(2)(2)(1)(1)(2)(1)(7)(16)(5)(2)(1)

我要回帖

更多关于 安装office2003出错 的文章

 

随机推荐