如果没有gcc环境,查看test程序运行所依赖的库

2019-07-18 作者:小鱼儿玄机30码姐妹   |   浏览(190)

Linux下动态链接库管理,linux动态链接库

一. ldd命令

ldd 查看程序重视库
ldd成效:用来查阅程式运营所需的分享库,常用来化解程式因缺乏有个别库文件而无法运转的一对标题。
以身作则:查看test程序运转所依附的库:

/opt/app/todeav1/test$ldd test
libstdc .so.6 => /usr/lib64/libstdc .so.6 (0x00000039a7e00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003996400000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000039a5600000)
libc.so.6 => /lib64/libc.so.6 (0x0000003995800000)
/lib64/ld-linux-x86-64.so.2 (0x0000003995400000)

•第一列:程序须要借助什么库
小鱼儿玄机30码姐妹,•第二列: 系统提供的与程序必要的库所对应的库
•第三列:库加载的开端地址

经过地点的音信,我们能够收获以下多少个音信:
1.透过比较第一列和第二列,大家得以分析程序要求重视的库和体系实际提供的,是或不是相相配
2.通过阅览第三列,大家得以明白在近年来的库中的符号在相应的历程的地点空间中的起先地方

借使依附的有些库找不到,通过那么些命令能够神速定位难题所在;

规律: ldd不是个可进行程式,而只是个shell脚本; ldd突显可实践模块的dependency的职业规律,其实质是通过ld-linux.so(elf动态库的装载器)来兑现的。ld-linux.so模块会先于executable模块程式工作,并得到调节权,因而当上述的那个意况变量被设置时,ld-linux.so选择了体现可施行模块的dependency。

二. ldconfig命令

ldconfig是一个动态链接库管理命令,其指标为了让动态链接库为系统所分享。

ldconfig的首要用途:

私下认可搜寻/lilb和/usr/lib,以及安插文件/etc/ld.so.conf内所列的目录下的库文件。

追寻出可分享的动态链接库,库文件的格式为:lib***.so.**,进而创制出动态装入程序(ld.so)所需的总是和缓存文件。

缓存文件默以为/etc/ld.so.cache,该公文物保护留已排好序的动态链接库名字列表。

ldconfig平日在系统运行时运转,而当用户设置了贰个新的动态链接库时,就要求手工作运动行那几个命令。

ldconfig命令参数表明:

1、 -v或--verbose:用此选项时,ldconfig将显得正在扫描的目录及寻觅到的动态链接库,还应该有它所开创的连接的名字.

2、-n :用此选项时,ldconfig仅扫描命令行钦点的目录,不扫描默许目录(/lib,/usr/lib),也不扫描配置文件/etc/ld.so.conf所列的目录.

3、-N :此选项提示ldconfig不重新建立缓存文件(/etc/ld.so.cache).若未用-X选项,ldconfig照常更新文件的连接.

4、-X : 此选项提示ldconfig不更新文件的连接.若未用-N选项,则缓存文件符合规律更新.

5、-f CONF : 此选项钦赐动态链接库的布置文件为CONF,系统默认为/etc/ld.so.conf.

6、-C CACHE :此选项钦点生成的缓存文件为CACHE,系统暗中认可的是/etc/ld.so.cache,此文件寄存已排好序的可分享的动态链接库的列表.

7、-r ROOT :此选项改动应用程序的根目录为ROOT(是调用chroot函数完成的).选取此项时,系统暗许的布局文件/etc/ld.so.conf,实际对应的为ROOT/etc/ld.so.conf.如用-r/usr/zzz时,张开配置文件/etc/ld.so.conf时,实际张开的是/usr/zzz/etc/ld.so.conf文件.用此选项,能够大大扩大动态链接库管理的灵敏性.

8、-l :经常景况下,ldconfig搜索动态链接库时将自动建构动态链接库的连接.选用此项时,将步向专家格局,要求手工业安装连接.一般用户毫无此项.

9、-p或--print-cache :此选项提示ldconfig打字与印刷出近期缓存文件所保存的装有分享库的名字.

10、-c FORMAT 或--format=FORMAT :此选项用于内定缓存文件所选用的格式,共有两种:ld(老格式),new(新格式)和compat(包容格式,此为暗中认可格式).

11、-V : 此选项打印出ldconfig的版本音讯,而后退出.

12、- 或 --help 或--usage : 那八个挑选效用同样,都以让ldconfig打字与印刷出其协理音讯,而后退出。

ldconfig须求专注的地点:

1、往/lib和/usr/lib里边加东西,是毫无修改/etc/ld.so.conf文件的,不过增多完后内需调用下ldconfig,否则增加的library会找不到。

2、假设加上的library不在/lib和/usr/lib里面包车型地铁话,就自然要修改/etc/ld.so.conf文件,往该公文追加library所在的路子,然后也亟需重新调用下ldconfig命令。举个例子在设置MySQL的时候,其库文件/usr/local/mysql/lib,就要求扩张到/etc/ld.so.conf文件中。命令如下:

# echo"/usr/local/mysql/lib" >> /etc/ld.so.conf

#ldconfig -v | grep mysql

三. LD_LIBRARY_PATH

若果加上的library不在/lib或/usr/lib下,不过却绝非权限操。写/etc/ld.so.conf文件的话,那时就必要往export里写多少个大局变量LD_LIBRARY_PATH,就足以了。

009 Linux下编写翻译安装Nginx服务器 并 修改Nginx服务器访问根目录,009nginx

一、 nginx安装情况

       yum install -y gcc-c    pcre pcre-devel zlib zlib-devel  openssl openssl-devel

该命令等效于下边4句:

1、  gcc 安装
        安装nginx必要先旅长方网址下载的源码实行编写翻译,编写翻译依赖gcc境况,若无gcc景况,必要设置gcc:

         yum install gcc-c

2、  PCRE pcre-devel 安装
       PCRE(PerlCompatible Regular Expressions)是三个Perl库,包涵 perl 包容的正则表明式库。nginx的http模块使用pcre来剖判正则表明式,所以要求在linux上设置pcre库。
        yum install -y pcre pcre-devel

3、  zlib 安装
        zlib库提供了很三种回降和平解决压缩的主意,nginx使用zlib对http包的内容实行gzip,所以要求在linux上安装zlib库。
        yum  install -y zlib zlib-devel

4、OpenSSL 安装
      OpenSSL是一个强有力的平安套接字层密码库,囊括首要的密码算法、常用的密钥和证件封装管理功用及SSL协议,并提供丰裕的应用程序供测量试验或其余指标接纳。nginx不止协助http协议,还支持https(即在ssl协议上传输http),所以供给在linux安装openssl库。
       yum  install -y openssl openssl-devel

二、下载nginx

1.直接下载.tar.gz安装包,地址:

2.利用wget命令下载1.10.1本子(推荐)。
wget -c

三、安装

1、解压
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1

2、配置
实际上在 nginx-1.10.1 版本中您就无需去布署相关东西,暗中认可就能够了。当然,要是您要自个儿布置目录也是足以的。
1.选择默许配置
./configure
输出:
      nginx path prefix: "/usr/local/nginx"
      nginx binary file: "/usr/local/nginx/sbin/nginx"
      nginx modules path: "/usr/local/nginx/modules"
      nginx configuration prefix: "/usr/local/nginx/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"

3、编写翻译安装
make
make install

探究安装路线:"/usr/local/nginx

四、开放80端口、开放http服务,重启防火墙
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --permanent --zone=public --add-service=http
    firewall-cmd --reload
    firewall-cmd --list-all #翻看开放服务、端口中是不是有http服务和80端口。

五、改换nginx访谈根目录
安装完nginx服务器后意识nginx的根目录在 安装目录的/html/下(/usr/local/nginx/html/),但是对于计划文件来说,在该目录下是不太习于旧贯的,笔者就尝试着更动nginx访问的根目录

1、改变nginx配置文件

   vi  /usr/local/nginx/conf/nginx.conf

转移如下:

    server {
        listen       80;
        server_name  localhost;
        location / {                 
            root  /home/ftpuser/wwwRoot;               #新的根目录
            index  index.html index.htm index.jpg;   #增加一张图片,测量检验用。
        }

2、nginx根目录权限设置:

         chmod  -R 755  /home/ftpuser/wwwRoot/

3、重启nginx务器
     service nginx restart

4、测试

拷贝平素张jpg格式图片到:/home/ftpuser/wwwRoot/目录下,改名字为:index.jpg 。
chmod  744  /home/ftpuser/wwwRoot/index.jpg #安装全数人可读。
访问
安装达成后此时拜会   即为/home/www/XXX

六、使用nginx
1 启动nginx
 /usr/local/nginx/sbin/nginx

小心:执行 /usr/local/nginx/sbin/nginx,这里能够-c钦定加载的nginx配置文件,如下:
/usr/local/nginx/sbin/nginx -c /xxxxx
一旦不钦定-c,nginx在运转时暗中认可加载/usr/local/nginx/conf/nginx.conf文件。

 
2 停止nginx
/usr/local/nginx/sbin/nginx -s quit
此措施结束步骤是待nginx进度管理任务完成实行悬停。

 
3 重启nginx:先结束再开发银行
/usr/local/nginx/sbin/nginx -s quit
/usr/local/nginx/sbin/nginx

 

前述 速龙liJ IDEA 远程调节和测验 汤姆cat 的不二秘诀,intellijtomcat

博主说:在调解代码的经过中,为了更加好的牢固及减轻问题,不经常候必要大家使用远程调节和测量试验的主意。在本文中,就让大家一块来看看,如何利用 速龙liJ IDEA 实行长距离 汤姆cat 的调节和测验。

首先,配置remote

如上海教室所示,点击Edit Configurations,步入如下界面:

如上海教室所示,大家进来了Run/Debug Configurations分界面,然后点击左上角的 ,选择Remote

  • 标注 1:运营远程 JVM 的命令行参数;
  • 标注 2:传输格局,默以为Socket
  • 标注 3:调节和测验情势,默以为Attach
  • 标注 4:服务器 IP 地址,默认为localhost,须求修改为对象服务器的忠实 IP 地址;
  • 标注 5:服务器端口号,默以为5005,要求修改为对象服务器的真人真事端口号;
  • 标注 6:寻觅财富是利用的境况变量,默感到<whole project>,即全体项目。

如上海体育地方所示,个中 标注 2标注 3 又各自有两种分类,对于 标注 2

  • 标注 2:传输情势,默以为Socket
    • Socket:macOS 及 Linux 系统利用此种传输情势;
    • Shared memory: Windows 系统运用此种传输方式。

对于 标注 3

  • 标注 3:调节和测量试验形式,默以为Attach
    • Attach:此种形式下,调节和测量试验服务端(被调治将养远程运行的机器)运转一个端口等待大家(调节和测量试验客户端)去老是;
    • Listen: 此种形式下,是大家(调试客户端)去监听叁个端口,当调节和测量试验服务端谋算好了,就能够开始展览延续。

然后,复制 标注 1,即 速龙liJ IDEA 自动生产的命令行参数,然后导入到 汤姆cat 的安排文件中。以 Linux 系统为例,导入语句为:

  • export JAVA_OPTS='-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001'

倘假如 Windows 系统,则导入语句为:

  • set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001

二者的差距在于导入语句的重大字分裂以及有无引号,Linux 系统的导加入关贸总协定协会键字为export,Windows 为set;Linux 的导入值供给用单引号''括起来,而 Windows 则不用。

接下去,修改 Tomcat 的 bin 目录下的catalina.sh文件(要是是 Windows 系统则修改catalina.bat文件),将上述的导入语句增添到此文件中就能够:

时于今日,AMDliJ IDEA 远程调节和测验 汤姆cat 的布局已经实现了,调节和测量试验的存在延续手续按正常的调节和测量试验才干举办就足以啦!


题外话:小编是三个大彩蛋

  在这里,大家就算服务器的 IP 地址为10.11.12.39,端口号为16203,设置达成后,步向Debug形式,假设老是成功,则会合世如下提醒:

其它,假如大家是跨五个种类开始展览调整,则只供给在想要调节和测量试验的系统中配置Remote,打上断点,运行Debug情势,然后在服务起首的地点奉行顺序就可以步向到大家设置的断点。何况,如果大家在该地配置Remote并涉嫌到某个汤姆cat,在Debug格局下,全数涉及到断点所在代码的功效,都会进去大家设置的断点。

举个例子,对于服务器上的 汤姆cat A,多少个体系都用到了那一个Tomcat,如订单子系统、账户子系统、路由子系统等,并且八个连串间相互调用,如订单子系统调了账户子系统,账户子系统又调了路由子系统,则当我们在那七个子系统中布署Remote并在相应的代码(如在订单子系统中询问厂家的账户新闻,则调到账户子系统;在账户子系统中又通过路由子系统调到别的底层服务查询商家的账户余额等)上打上断点,运行Debug格局之后,通过单元测量试验大概页面操作触发订单子系统中的查询商户的账户消息功效,则会相继进入到在上述八个子系统中设置的断点。

另外,在我们配备完远程调节和测量试验之后,固然别人运营有关服务,也会进去到大家的断点,而且会受到大家设置的断点的熏陶,独有在我们实行完测量检验之后,服务才会继续实施下去。最终,远程调试的效果实在很强劲,善用远程调节和测量试验,远离Bug!


———— ☆☆☆ —— 重临 -> 史上最简便易行的 AMDliJ IDEA 教程 <- 目录 —— ☆☆☆ ————

   


2


1

查看议论

速龙liJ IDEA 远程调节和测量试验 Tomcat 的艺术,intellijtomcat 博主说 :在调节和测量试验代码的历程中,为了更加好的一直及解决难题,不常候供给我们选用远程...

MYSQLServer二〇一〇本田UR-V2详实的图像和文字安装教程,

正文主要总括了在win7系统上设置Mysql_Server二〇〇八(61人)的详细图像和文字化教育程,具体的安装步骤如下所示:

MysqlServer二〇一〇君越2公司版下载地址:(直接张开链接,私下认可用的是迅雷下载,里面自带系列号)

ed2k://|file|cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso|4662884352|1DB025218B01B48C6B76D6D88630F541|/

一、SQL_Server二〇一〇(六12个人)安装步骤

1.1开发银行安装程序,在如下页面双击sql server 二〇〇八的.exe安装文件,步向【SQL Server 安装中央】

 

1.2点击界面左边的【安装】,然后点击右边的【全新SQLServer 独立设置或向现存安装增添效果】,步向【SQL Server 贰零零捌安装程序】分界面,如下图所示:

1.3进去【安装程序协理法规】后,可以点击左上角的【展现详细新闻】开关,展现详细音讯,直接点击下一步,如下图所示:

 

1.4步向【产品密钥】,选用私下认可的出品秘钥,不必要退换,直接点击下一步,如下图所示:

 

1.5进来【许可条目款项】页面,勾选上【作者接受认同条目】,直接点击【下一步】,如下图所示:

 

1.6跻身【安装程序扶助文件】页面,选择默许的安装,直接点击【安装】开关,起初设置支撑文件,一般1-2分钟左右设置完。

 

1.7设置到位以往,又步向【安装程序协理准绳】,在【设置剧中人物】页面,采纳暗中认可的装置,直接单击下一步,如下图所示:

 

1.8跻身【功用选用】页面,点击【全选】开关,然后点击下一步,如下图所示:

 

1.9跻身【实例配置】页面,继续采取暗中认可设置,点击下一步,如下图所示:

 

1.10跻身【磁盘空间要求】页面,直接点击下一步,如下图所示:

 

1.11跻身【服务器配置】页面,在开发银行项目一列,全体挑选手动,然后继续下一步,如下图所示:

 

1.12进去【数据库引擎配置】页面,【身份验证形式】选用混合格局,输入密码admin123;同一时间单击【增添当前用户】内定SQL Server管理员,那样管理员正是系统管理员,设置好之后,直接单击下一步,如下图所示:

 1.13进来【Analysis Services配置】页面,选取暗中认可设置就行,继续下一步,如下图所示:

 

1.14进来【Reporting Services配置】页面,接纳暗中同意设置就行,继续下一步,如下图所示:

1.15进去【错误报告】页面, 选拔暗许设置就行,继续下一步,如下图所示:

 

1.16进去【安装配置准则】页面, 采用私下认可设置就行,继续下一步,如下图所示:

 

1.17跻身【企图安装】页面,选择私下认可设置,点击【安装】开关后,SQL Server 2010从头设置,如下图所示:(笔者的装置15分钟成功)

 

1.18设置实现后,会列出具体安装了什么职能,提示安装进度实现,直接单击下一步,进入【完毕】分界面,提醒【SQL Server 二〇一〇设置已成功做到】。

2.1在【起先】菜单,张开Microsoft SQL Server 2010 本田CR-V2文书夹,选中并点击SQL Server Management Studio,那时Windows自动启动Mysql Server登入分界面,如下图所示:

2.2Mysql Server数据库登入分界面配置如上海体育场所所示,登入名称为sa,密码为admin123。设置好后,点击【连接】开关进行延续,连接成功后,结果如下图所示:

 参照他事他说加以考察剧情:

本文由小鱼儿玄机30码发布于小鱼儿玄机30码姐妹,转载请注明出处:如果没有gcc环境,查看test程序运行所依赖的库

关键词: 小鱼儿玄机30码