-
二进制软件包
- 下载过后即可使用,已经编译好的
-
源代码软件包
- 需要先编译才能使用
-
Debian系列 (以ubuntu为例)
- $
apt update
更新软件仓库信息 - $
apt install -y zip
安装zip软件 - $
apt remove zip
删除zip软件
- $
-
Redhat系列(以centos为例)
- $
yum update
更新软件仓库信息 - $
yum install -y zip
安装zip软件 - $
yum remove zip
删除zip软件
- $
-
确保系统上已经安装 gcc、g++、make 工具,如果没有,那么:
- $
apt install -y gcc g++ make
(ubuntu) - $
yum install -y gcc gcc-c++ make
(centos)
- $
-
下载软件源码包到服务器上:$
wget http://example.com/xxx.tar.gz
-
源码编译基本步骤:
- 解压软件包,阅读安装说明README、INSTALL等
./configure --prefix=/usr/local/path
配置制定安装到哪里make
make install
- nmap 是一个端口扫描的软件,可以用来扫描电脑打开了哪些端口,并且可推断计算机运行在什么OS之上
- 如果系统有一些漏洞,就可能被黑客利用,黑客帝国电影中就有用到nmap扫描系统漏洞的片段
- 下载nmap, $
wget https://nmap.org/dist/nmap-7.80.tar.bz2
- 以下是具体操作:
# 开始解压该文件 tar -xjf nmap-7.80 ls nmap-7.80 nmap-7.80.tar.bz2 # 此处是打印信息 cd nmap-7.80/ cat README # 查看README文件,按照提示操作,下面都是按提示填写的命令 ./configure --prefix=/usr/local/nmap # ... # 很多输出 make # 开始make # ... # 很多输出 make install # 开始make install # ... # 很多输出 # 安装好后,检查 cd /usr/local/nmap/ ls bin lib share # 此处是打印信息 cd bin ls nmap ... # 此处是打印信息, 此处很多文件,用...省略,关键是包含一个nmap文件,即可使用 # 使用nmap进行扫描本机 ./nmap 127.0.0.1 # ... 很多输出 以下都是打印信息 PORT STATE SERVICE 22/tcp open ssh 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds # 现在我们开始尝试停掉80端口 service nginx stop # 再次进行扫描,只有一个22端口了 ./nmap 127.0.0.1 # ... 很多输出 以下都是打印信息 PORT STATE SERVICE 22/tcp open ssh Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
- 通过以上nmap的编译案例来了解了以c/c++语言的软件在linux上的编译过程
- 如果有一些软件,它们的依赖包比较多,需要先去编译它的依赖软件,其实这些依赖关系处理起来很麻烦
- 在工作中,我们通常使用二进制软件包来进行软件安装而非源代码编译的方式