52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
---
|
||
title: Linux下二进制文件的放置
|
||
tags:
|
||
- DevOps
|
||
- Linux
|
||
- Directory
|
||
- Management
|
||
categories:
|
||
- - DevOps
|
||
- 系统管理
|
||
keywords: '系统管理,Linux,bin,usr,sbin,二进制,放置'
|
||
date: 2021-05-28 11:27:11
|
||
---
|
||
|
||
在Linux系统的使用过程中,如何放置二进制文件一直是困扰很多人的难题。其实Linux对于二进制文件的放置始终都是有其独特的规定的。<!-- more -->
|
||
|
||
## 常见目录的功能与区别
|
||
|
||
在Linux中,常用来放置二进制文件的目录就那么几个(不算手动增加到`PATH`环境变量中的目录)。这些目录之间的区别可以参考下表,在向其中放置文件的时候可以避免放入错误的文件。
|
||
|
||
| 二进制文件目录 | 面向用户 | 更新频率 | 放置内容 |
|
||
|---|---|---|---|
|
||
| `/bin` | 所有用户 | 系统更新 | 系统命令。 |
|
||
| `/sbin` | 超级用户 | 系统更新 | 系统命令。 |
|
||
| `/usr/bin` | 所有用户 | 应用安装 | 一般都是安装到系统供处理日常操作的应用。 |
|
||
| `/usr/sbin` | 超级用户 | 应用安装 | 一般都是安装到系统的用于对外提供服务的应用,例如Nginx。 |
|
||
| `/usr/local/bin` | 所有用户 | 手工更新 | 本机无关的第三方应用。 |
|
||
| `/usr/local/sbin` | 超级用户 | 手工更新 | 本机无关的第三方应用。 |
|
||
|
||
## 推荐应用的手工安装过程
|
||
|
||
由于上面这些目录中的内容可能会随着系统的使用变得越来越臃肿,所以在手工安装应用的时候并不推荐直接将应用放置在这些目录中。
|
||
|
||
这里比较推荐的一种软件的安装方式是使用符号链接来安装。不少应用的安装说明上都会要求用户在安装应用以后修改`PATH`环境变量把应用的安装目录添加进去。但是这样做的后果就是,随着应用的安装,`PATH`环境变量中的内容会越来越多,每次执行一个命令的时候,系统都会沿着`PATH`中的所有路径去搜索一遍。
|
||
|
||
然而使用符号链接的安装方法就比较方便了,可以使用以下步骤来操作。
|
||
|
||
1. 创建一个所有用户都拥有访问权限的目录,不要选择当前用户或者某个用户的Home目录。
|
||
1. 将需要安装的应用解压缩到这个目录中。
|
||
1. 记录下其中二进制可执行文件的位置,例如`./bin`。
|
||
1. 用下面的命令把所有的可执行文件都链接到`/usr/local/bin`目录里。
|
||
|
||
```bash
|
||
find ./bin -type f -and -perm +100 | xargs -I @ sh -c 'ln -s @ /usr/local/bin/`basename "@"`'
|
||
```
|
||
|
||
删除就比较费事了,需要做好几个判断。
|
||
|
||
```bash
|
||
find /usr/local/bin -type l | xargs readlink | grep /app | xargs -I @ sh -c 'rm `basename "@"`'
|
||
```
|