linux工作中软件运行安装常见问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/77752331

本文主要内容是使用linux软件安装 以及运行时常出现的一些问题,主要如下:

  1. sudo apt-get update(Unable to fetch some archives问题)
  2. soure . 的区别
  3. export LD_LIBRARY_PATH使用(.so文件not found) .bashrc
  4. ldconfig
  5. string | bash使用(将字符串转为可以执行的bash命令)
  6. pip install *.whl(主要是在现在pip install 时候http time out故而下载pylib.whl手动安装) anaconda作为默认python解释器python版本选择

1. sudo apt-get update(Unable to fetch some archives问题)


有时候在sudo apt-get install lib 的时候往往忘记了执行 sudo apt-get update 会出现下面的错误

apt-get is a command-line tool which Ubuntu uses to install, remove, and manage software packages update is an option for the apt-get program to use which updates the package lists from a server on the internet. The package lists provide the apt-get utility with important information about the software packages that you can install using apt-get. apt-get uses these lists to determine which software to install when given a command to install.

因此我们最好执行一下 sudo apt-get update,当然很多时候不执行也没什么 与之对应的是 sudo apt-get upgrade(最好不要执行,会更新系统的所有文件)

soure . 的区别


source . 命令 (通常用于重新执行刚修改的初始化文件) source ~/.bashrc (环境变量)

source .区别

When you source the script you are typing the commands in your currentshell. Any changes to the environment will take effect and stay in your current shell. Use source if you want the script to change theenvironment in your currently running shell (source的执行在当前的shell下面,所有环境变量对当前shell生效)

. 启动一个新的shell环境变量对当前的shell不生效 故而一般更新环境变量的相关的时候使用source如source ~/.bashrc (环境变量)

export LD_LIBRARY_PATH使用(.so文件not found) .bashrc


比如我在使用caffe的时候为local user安装了caffe但是切换到sudo -i 的时候使用报错

ImportError: libcaffe-nv.so.0.15: cannot open shared object file: No such file or directory
>>> 
locate libcaffe-nv.so.0.15
/data1/aladdin/caffe_test/caffe-caffe-0.15/.build_release/lib/libcaffe-nv.so.0.15
/data1/aladdin/caffe_test/caffe-caffe-0.15/.build_release/lib/libcaffe-nv.so.0.15.14
export LD_LIBRARY_PATH=/data1/aladdin/caffe_test/caffe-caffe-0.15/.build_release/lib/:$LD_LIBRAYA_PATH
Library at "libcaffe.so.1.0.0 does not have expected suffix "-nv"

ImportError: libcaffe-nv.so.0.15: cannot open shared object file: No such file or directory
locate libcaffe-nv.so.0.15
/data1/aladdin/caffe_test/caffe-caffe-0.15/.build_release/lib/libcaffe-nv.so.0.15
/data1/aladdin/caffe_test/caffe-caffe-0.15/.build_release/lib/libcaffe-nv.so.0.15.14

export LD_LIBRARY_PATH=/data1/aladdin/caffe_test/caffe-caffe-0.15/.build_release/lib/:$LD_LIBRAYA_PATH
LD_LIBRARY_PATH: native code libraries (on Linux, in addition to the value of this variable, the lookup path typically contains /usr/local/lib, /usr/lib, /lib and a few others). The name  LD comes from dynamic loader, the system component that loads libraries into dynamically linked executables.
PERL5LIB: Perl libraries (e.g. /usr/local/lib/site-perl:/usr/lib/perl:/usr/share/perl).
PYTHONPATH: Python libraries (e.g. /usr/local/lib/python:/usr/lib/python).
PATH is for specifying directories of executable programs. LD_LIBRARY_PATH is used to specify directories of libraries.
To define this variable, simply use (on the shell prompt):

export LD_LIBRARY_PATH="/path/to/sdk/lib"

永久的使用
sudo vi ~/.bashrc
the end of the file, add
export LD_LIBRARY_PATH="/path/to/sdk/lib"
then  source ~/.bashrc

LD_LIBRARY_PATH主要是可以指定.so等文件的路径问题 有时候我们可能还要配合 ln -s 一起使用,示例如下:

截图来源与我自己的技术[笔记](https://github.com/Jayhello/MyNote “已经上传到github”)主要是针对自己个人的所以看起来有点乱

ldconfig


ldconfig (是一个动态链接库管理命令) 1、往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的, 但是完了之后要调一下ldconfig,不然这个library会找不到 2、ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态 库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*)

string | bash使用


主要是将字符串转为可以执行的bash命令首先看个简单示例:

下面高级点的示例将文件批量重命名为 0001.jpg~0023.jpg

find -name '*.jpg' \  # find jpgs
| awk 'BEGIN{ a=0 }{ printf "mv \"%s\" %04d.jpg\n", $0, a++ }'  # build mv command
| bash # run that command

批量重命名可以见我的另外一篇bolg

pip install *.whl(主要是在现在pip install 时候http time out故而下载pylib.whl手动安装)


use anaconda’s python instead of standard /usr/lib/python export PATH=”HOME/anaconda/bin:HOME/anaconda/bin:PATH”

永久的使用

sudo vi ~/.bashrc
the end of the file, add
export PATH="$HOME/anaconda/bin:$PATH"
then  source ~/.bashrc

pip install 的时候有时候老是出现HTTP time out这时候,可以手动下载对应的 *.whl文件然后安装

转载注明出处哈(CTLR+L即可选择url,再CTRL+C复制即可)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏bboysoul

在树莓派上搭建使用gitlab

gitlab是一个代码托管平台,因为我的树莓派系统是安装在128G的u盘上的,用来放电影太小,但是空着就是空着了,所以还不如再搭建一个gitlab服务来存放自己...

34320
来自专栏阮一峰的网络日志

Systemd 入门教程:命令篇

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。 本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍...

37760
来自专栏编程

小白爬虫之爬虫快跑

使用多线程时好像在目录切换的问题上存在问题,可以给线程加个锁试试 Hello 大家好!我又来了。 你是不是发现下载图片速度特别慢、难以忍受啊!对于这种问题一般解...

20680
来自专栏好好学java的技术栈

java工程师必备linux常用命令,这篇文章就够了

bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)...

37210
来自专栏IT笔记

使用elasticsearch遇到的一些问题以及解决方法

1.由gc引起节点脱离集群 因为gc时会使jvm停止工作,如果某个节点gc时间过长,master ping3次(zen discovery默认ping失败重试3...

45340
来自专栏DOTNET

windows service编程

1 基本概念 1.1windows服务简介 创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。 这些服务可以在计算机启动时自动启动,可以暂停...

30550
来自专栏运维前线

Ngxtop-Nginx日志实时分析利器

ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop。有了ngxtop,你可以实时了解到当前...

458100
来自专栏安恒网络空间安全讲武堂

IAT Hook 技术分析

来源:https://pentest.blog/offensive-iat-hooking/

26920
来自专栏腾讯云Elasticsearch Service

logstash input插件开发

logstash作为一个数据管道中间件,支持对各种类型数据的采集与转换,并将数据发送到各种类型的存储库,比如实现消费kafka数据并且写入到Elasticsea...

84740
来自专栏左瞅瞅,右瞅瞅

Linux LVM简明教程

逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可...

47110

扫码关注云+社区

领取腾讯云代金券