ubuntu中 /usr、/var、/opt目录解析

1、/usr文件系统

/usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时无须重新安装全部程序.

/usr/bin

几乎所有用户命令.有些命令在/bin 或/usr/local/bin 中.

/usr/sbin

根文件系统不必要的系统管理命令,例如多数服务程序.

/usr/include

C编程语言的头文件.为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字.

/usr/lib

程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里.

/usr/local

这里主要存放那些手动安装的软件,即 不是通包管理工具或apt-get安装的软件

/usr/src

内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。
  有的系统也会把源码软件包安装在这里。比如Fedora/RedHat,当我们安装file.src.rpm 的时候,这些软件包会安装在/usr/src/redhat 相应的目录中。
  另外Fedhat 4.0 5.0,他的内核源码包的目录位于/usr/src/kernels 目录下的某个目录中

/usr/share

放置一些共享数据,比如帮助文档什么的

2、/var文件系统

/var 包括系统一般运行时要改变的数据.每个系统是特定的,即不通过网络与其他计算机共享.

/var/lib

系统正常运行时要改变的文件.

/var/local

/usr/local 中安装的程序的可变数据(即系统管理员安装的程序).注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock .

/var/lock

锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件.

/var/log

各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.

/var/run

保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.

/var/spool

mail, news, 打印队列和其他队列工作的目录.每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中.

/var/tmp

比/tmp 允许的大或需要存在较长时间的临时文件. (虽然系统管理员可能不允许/var/tmp 有很旧的文件.)

3、/opt:用户级的程序目录

这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
举个例子:刚才装的测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运 行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

<think>嗯,用户现在遇到了一个问题,之前他们在安装cuDNN的时候,系统提示找不到`/usr/local/cuda-10.1/include/`这个路径。他们之前已经按照步骤下载了正确的文件,但路径不存在,这可能意味着CUDA 10.1没有正确安装或者安装路径不同。用户之前的问题是关于安装libtorch对应版本的,现在这个新问题可能是在安装cuDNN时出现的,但根源可能在于CUDA的安装情况。 首先,我需要确认用户是否正确安装了CUDA 10.1。用户之前运行了`nvcc -V`,显示CUDA 10.1已经安装,但有时候nvcc可能存在于其他路径,而默认的CUDA安装路径可能没有被正确设置。用户可能没有安装CUDA Toolkit,或者安装路径不在`/usr/local/cuda-10.1`下。这时候需要检查CUDA的实际安装位置。 可能的解决方案包括检查CUDA的安装路径是否存在,如果不存在,可能需要重新安装CUDA Toolkit,并确保选择正确的版本。另外,用户可能安装了CUDA,但默认的软链接`/usr/local/cuda`指向了其他版本,比如CUDA 10.1可能被安装到了不同的路径,或者用户手动更改过路径。 然后,用户可能在尝试复制cuDNN文件到不存在的路径,导致错误。需要指导用户确认CUDA的安装路径,并创建必要的目录,或者调整复制命令中的目标路径。此外,用户可能没有管理员权限,但根据之前的命令,他们使用了sudo,所以权限问题可能不是主要原因。 另外,用户可能对CUDA的目录结构不太熟悉,需要解释默认的安装路径,并指导如何查找正确的路径。例如,使用`which nvcc`来查找nvcc的位置,进而推断CUDA的安装路径。或者检查`/usr/local/`下是否存在其他版本的CUDA目录,如`cuda-11.0`等,这可能导致路径错误。 最后,可能需要提醒用户在安装CUDA Toolkit时,是否按照官方文档的步骤进行,特别是关于路径设置的部分。如果用户是通过runfile安装的,可能选择了非默认路径,导致目录不一致。在这种情况下,需要调整cuDNN的复制路径到正确的CUDA安装目录下。 总结下来,用户的问题核心在于CUDA 10.1的安装路径不正确或缺失,导致后续cuDNN安装失败。需要引导用户验证CUDA的安装情况,确认路径,并根据实际情况创建目录或重新安装CUDA Toolkit,确保路径正确。</think>根据你的描述,当前系统缺少`/usr/local/cuda-10.1/include/`路径,但已确认CUDA 10.1编译器存在(通过`nvcc -V`显示)。这种矛盾通常由**CUDA Toolkit未完整安装**或**安装路径未对齐**导致。以下是系统化的解决方案: --- ### 一、问题根本原因 1. **CUDA Toolkit未安装** `nvcc`是CUDA编译器,但**CUDA Toolkit包含头文件、库文件等完整开发环境**。可能仅安装了`cuda-core`组件。 2. **自定义安装路径** 通过`.run`文件安装时手动指定了非默认路径(如`/opt/cuda`)。 3. **符号链接缺失** `/usr/local/cuda`或`/usr/local/cuda-10.1`的软链接未正确创建。 --- ### 二、验证CUDA Toolkit安装状态 执行以下命令检查CUDA Toolkit是否完整安装: ```bash # 检查CUDA头文件路径是否存在 ls /usr/include/cuda.h 2>/dev/null || echo "CUDA Toolkit未安装" # 或检查CUDA版本包状态(适用于deb安装方式) dpkg -l | grep cuda-10-1 ``` - 若输出提示未找到文件或包,说明**需要完整安装CUDA Toolkit 10.1** --- ### 三、完整安装CUDA Toolkit 10.1 #### 方法1:通过官方deb包安装 1. 访问[NVIDIA CUDA 10.1 Archive](https://developer.nvidia.com/cuda-10.1-download-archive) 2. 选择对应系统配置(例如Ubuntu 18.04): ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-10-1-local-10.1.243-418.87.00/7fa2af80.pub sudo apt-get update sudo apt-get install cuda-10-1 ``` #### 方法2:使用.run文件自定义安装 1. 下载.run文件: ```bash wget https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run ``` 2. 运行安装程序: ```bash sudo sh cuda_10.1.243_418.87.00_linux.run ``` - **关键操作**:在安装选项中确保勾选以下组件: ``` [X] CUDA Toolkit 10.1 [X] Create symbolic link from /usr/local/cuda to /usr/local/cuda-10.1 ``` --- ### 四、手动创建缺失路径(应急方案) 如果确认CUDA Toolkit已安装但路径异常,可手动创建目录并建立符号链接: ```bash # 创建目录结构 sudo mkdir -p /usr/local/cuda-10.1/include sudo mkdir -p /usr/local/cuda-10.1/lib64 # 建立符号链接(如果未自动创建) sudo ln -s /path/to/real/cuda-10.1 /usr/local/cuda-10.1 # 示例:若CUDA实际安装在/opt/cuda-10.1 sudo ln -s /opt/cuda-10.1/include /usr/local/cuda-10.1/include sudo ln -s /opt/cuda-10.1/lib64 /usr/local/cuda-10.1/lib64 ``` --- ### 五、环境变量配置验证 在`~/.bashrc`中添加以下内容确保路径正确: ```bash export PATH=/usr/local/cuda-10.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH ``` 生效配置: ```bash source ~/.bashrc ``` --- ### 六、关键验证步骤 1. **检查CUDA头文件**: ```bash ls /usr/local/cuda-10.1/include/cuda.h ``` - 正常应输出文件路径,而非"No such file" 2. **验证nvcc与路径一致性**: ```bash which nvcc # 输出应为/usr/local/cuda-10.1/bin/nvcc ``` 3. **查看设备信息**: ```bash nvidia-smi # 显示GPU状态 nvcc --version # 应与CUDA 10.1一致 ``` --- ### 七、典型报错解决方案 #### 场景1:安装后仍提示路径缺失 ```bash # 查找cuda.h的实际位置 sudo find / -name "cuda.h" 2>/dev/null # 若输出类似/opt/cuda-10.1/include/cuda.h # 则创建符号链接: sudo ln -s /opt/cuda-10.1 /usr/local/cuda-10.1 ``` #### 场景2:多版本CUDA冲突 ```bash # 查看所有CUDA版本 ls /usr/local/cuda* # 切换默认版本(示例切换到10.1) sudo rm /usr/local/cuda sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda ``` --- 通过以上步骤,可确保CUDA 10.1的完整环境就绪,后续安装cuDNN和LibTorch时路径引用将不再报错。如果问题持续,建议检查系统日志: ```bash dmesg | grep -i cuda journalctl -xe | grep cuda ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值