• linux工作知识点滴


    1. 要学会使用ldd *.so来查看动态库所依赖的库,以排除一些异常错误。

    2. ldconfig是一个动态链接库管理命令,ldconfig命令的用途,主要是在默认搜索目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件,缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行ldconfig这个命令。

    3. 启动某个服务失败时,可以使用命令netstat -anp|grep "端口",查看是否是端口已经被占用了, 然后可以kill -9 "端口",再次运行。

    4. yum install “某个包”,提示没有找到“每个包”,可以执行命令yum install epel-release

    5. 在安装完某服务后,输入命令md5sum *.so > lib.md5(or ls |xargs  md5sum > lib.md5),来防止以后因为无意修改了*.so而导致出错

    6. 给Centos7安装NTP来同步服务器的时间,yum -y install ntp,crontab -e(*/30 * * * * /usr/sbin/ntpdate cn.ntp.org.cn) 

    7. 在工作中,修改环境变量的几个路径:vim /root/.bashrc ,   vim /etc/profile ,  vim /etc/bashrc,  cd /etc/ld.so.conf.d(这里面的修改完要ldconfig)

    8. 在linux中,运行命令,如yum install ntp -y, 提示Database environment version mismatch 的话,可以运行如下命令解决:rpm --rebuild,yum clean all

    9. 查询PID,可以用命令pgrep -l XXX(名字,如service)

    10. Linux中出现这种错误:dbenv->open:BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch,可以用如下命令进行修复:①rm /var/lib/rpm/__xx(or rm ~/.rpmdb/__db**)      ②rpm --rebuilddb      

    11. 用ssh登录到别的机子上时,需要输入密码, 如果想在一条命令行里面直接输入密码登录到远程主机的时候,可以使用 sshpass -p 123456 ssh root@192.168.5.6

    12. ls -bash: ls: command not found解决方法:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    13. 测试生成core文件:kill -s SIGSEGV pid

    14. 用ps afx可以更直观的看到服务的运行状态

    15. du -sh * 查找占用磁盘大小

    16. 以后在安装环境的时候,如果发现缺少某些so的话,可以直接去开发的75机子上找到相应的so,然后放在自己本地建立的一个专门用来存放这些so的目录下(如/fsp_sss_stream/lib下,mv libstdc++.so.6.0.20 /lib64/,ll libstdc++.so.6,rm libstdc++.so.6,ln -s libstdc++.so.6.0.20 libstdc.so.6, ldconfig),然后在vim /etc/ld.so.conf.d/fsp_sss_stream.conf中写入/fsp_sss_stream/lib,最后ldconfig完事。

    17.  tail -f sc.log | grep -v 'ClientCnxn'(过滤不想要的内容) 

    18. 用yum安装服务的时候,有时候出提示(

    Multilib version problems found. This often means that the root
    cause is something else and multilib version checking is just
    pointing out that there is a problem),我这里是因为我用rpm -Uvh “安装包”时候出现(可能是因为有.i686和x86_64两种包)。解决方法如下:①yum list --showduplicates libnghttp2,找出不是你需要的包,然后②rpm --erase --nodeps libnghttp2,yum update,最后再安装一遍想要的服务yum install libnghttp2

    19. linux下查看CPU、带宽、内存:①带宽用top(运行过程中可以按数字“1”,来查看每个CPU的使用情况) ②带宽使用:watch more /proc/net/dev (现在最好下载一些工具来配合使用,如:nload) ③内存 free -m

    20. 用ansible安装curl(支持http2)的时候,发现有个别机器会报这样的错误:configure: error: one or more libs available at link-time are not available。但是安装别的机器的时候又都能正常,于是①vim /etc/ld.so.conf 添加/opt/nghttp2(这个是curl要支持http2的前置要安装的库) ②删除之前所有curl和nghttp2相关的源码包 ③重新用ansible安装

  • 相关阅读:
    BT协议分析(1)—1.0协议
    Qt线程(2) QThread中使用WorkObject
    新浪微博的开放平台官方文档太粗略,记:仿大平台来实现
    58同城 骗子太多
    代码实现业务经验(程序员的核心能力)
    gitbash 本地文件提交为一个新的项目 到 gitlab
    Spring 核心容器 IOC
    spring AOP 理解
    java不返回某些字段,包括 null
    CentOS7安装 Redis5 单实例
  • 原文地址:https://www.cnblogs.com/Allen-ling/p/5915627.html
Copyright © 2020-2023  润新知