Linux基础教程 第六课:软件包管理和网络配置

浏览量:26 次 发布时间:2026-01-18 14:31 作者:明扬工控商城 下载docx

最近更新:Linux基础教程 第15课:Linux内核和驱动管理


好的,我们继续第六课。今天学习两个非常重要的主题:软件包管理和网络配置。


第一部分:软件包管理(APT)

1.1 什么是软件包?

软件包就是Linux的安装程序,像Windows的.exe文件,但更智能。它包含了程序文件、配置文件和依赖关系。


1.2 APT包管理器

Ubuntu使用APT(Advanced Package Tool)管理软件包。


bash

# 1. 首先更新软件包列表(必须经常做)

sudo apt update


# 解释:这不会更新软件,只是更新"有哪些软件可用"的列表


# 2. 升级已安装的软件包

sudo apt upgrade


# 3. 升级系统(包括内核)

sudo apt dist-upgrade


# 4. 安装软件

sudo apt install 软件名

sudo apt install vim          # 安装vim编辑器

sudo apt install htop         # 安装更好的进程查看器


# 5. 安装多个软件

sudo apt install vim git curl wget

1.3 搜索和查看软件包

bash

# 搜索软件包

apt search 关键词

apt search python3

apt search "web server"


# 查看软件包详细信息

apt show 软件名

apt show vim


# 查看软件包包含哪些文件

apt-file list 软件名

sudo apt install apt-file    # 先安装这个工具

sudo apt-file update         # 更新文件数据库

apt-file list vim

1.4 卸载软件包

bash

# 卸载软件(保留配置文件)

sudo apt remove 软件名


# 完全卸载(包括配置文件)

sudo apt purge 软件名


# 自动删除不需要的依赖包

sudo apt autoremove


# 清理下载的软件包缓存

sudo apt autoclean      # 清理旧版本的缓存

sudo apt clean          # 清理所有缓存

1.5 查看已安装的软件

bash

# 查看所有已安装的软件

apt list --installed


# 查看特定软件是否安装

apt list --installed | grep vim


# 查看软件安装状态

dpkg -l | grep vim


# 查看软件安装位置

dpkg -L 软件名

dpkg -L vim

1.6 修复依赖问题

bash

# 修复损坏的依赖关系

sudo apt --fix-broken install


# 修复安装问题

sudo dpkg --configure -a

1.7 练习:软件包管理实战

更新系统


bash

sudo apt update

sudo apt upgrade

安装一些常用工具


bash

sudo apt install vim htop git curl wget net-tools

搜索并安装一个有趣的软件


bash

apt search cowsay

sudo apt install cowsay

cowsay "Hello Linux!"

查看已安装的软件


bash

apt list --installed | tail -20

卸载不需要的软件


bash

sudo apt remove cowsay

sudo apt autoremove

第二部分:源码编译安装

有时需要从源码安装软件(当软件仓库没有或版本太旧时)。


2.1 基本编译步骤

bash

# 1. 安装编译工具

sudo apt install build-essential


# 2. 下载源码

wget http://example.com/software.tar.gz


# 3. 解压

tar -xzvf software.tar.gz

cd software/


# 4. 配置(检查依赖,生成Makefile)

./configure


# 5. 编译

make


# 6. 安装

sudo make install


# 7. 清理(可选)

make clean

2.2 实际例子:编译安装htop

bash

# 1. 安装依赖

sudo apt install libncurses5-dev libncursesw5-dev


# 2. 下载源码

wget https://github.com/htop-dev/htop/archive/refs/tags/3.0.0.tar.gz


# 3. 解压

tar -xzvf 3.0.0.tar.gz

cd htop-3.0.0/


# 4. 配置

./autogen.sh   # 如果需要

./configure


# 5. 编译安装

make

sudo make install

第三部分:网络配置基础

3.1 查看网络信息

bash

# 查看IP地址(老命令)

ifconfig


# 查看IP地址(新命令)

ip addr show

ip a   # 简写


# 查看路由表

route -n

ip route show


# 查看网络接口

ip link show


# 查看网络统计

netstat -i

ss -i

3.2 测试网络连接

bash

# 测试网络连通性

ping www.baidu.com

ping -c 4 8.8.8.8  # 只ping 4次


# 跟踪网络路径

traceroute www.baidu.com

tracepath www.baidu.com


# 测试端口连通性

telnet www.baidu.com 80

nc -zv www.baidu.com 80


# 查看DNS解析

nslookup www.baidu.com

dig www.baidu.com

host www.baidu.com

3.3 配置网络(临时)

bash

# 设置IP地址(临时,重启失效)

sudo ip addr add 192.168.1.100/24 dev eth0


# 启用/禁用网卡

sudo ip link set eth0 up

sudo ip link set eth0 down


# 添加路由

sudo ip route add default via 192.168.1.1

3.4 网络配置文件(永久生效)

Ubuntu使用Netplan管理网络(新版):


bash

# 查看网络配置文件

ls /etc/netplan/


# 编辑配置文件

sudo vim /etc/netplan/00-installer-config.yaml

典型配置内容:


yaml

network:

 version: 2

 ethernets:

   eth0:

     dhcp4: true       # 使用DHCP自动获取IP

     # 或者手动配置:

     # addresses: [192.168.1.100/24]

     # gateway4: 192.168.1.1

     # nameservers:

     #   addresses: [8.8.8.8, 8.8.4.4]

应用配置:


bash

sudo netplan apply

sudo netplan --debug apply  # 调试模式

3.5 防火墙配置(UFW)

Ubuntu使用UFW(简单防火墙):


bash

# 查看防火墙状态

sudo ufw status


# 启用防火墙

sudo ufw enable


# 禁用防火墙

sudo ufw disable


# 允许端口

sudo ufw allow 22        # 允许SSH

sudo ufw allow 80/tcp    # 允许HTTP

sudo ufw allow 443/tcp   # 允许HTTPS


# 允许特定IP

sudo ufw allow from 192.168.1.100


# 拒绝端口

sudo ufw deny 3306       # 拒绝MySQL端口


# 删除规则

sudo ufw delete allow 22


# 查看详细规则

sudo ufw status numbered


# 重置所有规则

sudo ufw reset

第四部分:SSH远程连接

4.1 SSH服务器配置

bash

# 安装SSH服务器

sudo apt install openssh-server


# 启动SSH服务

sudo systemctl start ssh


# 开机自启

sudo systemctl enable ssh


# 查看SSH状态

sudo systemctl status ssh


# 检查SSH监听端口

sudo ss -tlnp | grep :22

4.2 SSH客户端连接

bash

# 基本连接

ssh username@hostname

ssh ubuntu@192.168.1.100


# 指定端口

ssh -p 2222 username@hostname


# 使用密钥登录(无需密码)

ssh -i /path/to/key.pem username@hostname


# 执行远程命令

ssh username@hostname "ls -la"


# 传输文件

scp localfile.txt username@hostname:/remote/path/

scp username@hostname:/remote/file.txt local/path/


# 安全复制目录

scp -r localdir/ username@hostname:/remote/path/

4.3 SSH密钥认证

bash

# 1. 生成密钥对

ssh-keygen -t rsa -b 4096

# 默认保存在 ~/.ssh/id_rsa(私钥)和 id_rsa.pub(公钥)


# 2. 复制公钥到服务器

ssh-copy-id username@hostname

# 或手动复制:

cat ~/.ssh/id_rsa.pub | ssh username@hostname "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"


# 3. 测试无密码登录

ssh username@hostname

第五部分:网络调试和故障排除

5.1 常见网络问题排查

bash

# 1. 检查网络连接

ping -c 4 8.8.8.8

ping -c 4 www.baidu.com


# 2. 检查DNS

nslookup www.baidu.com

cat /etc/resolv.conf


# 3. 检查路由

ip route show

traceroute www.baidu.com


# 4. 检查端口监听

sudo netstat -tlnp

sudo ss -tlnp


# 5. 检查防火墙

sudo ufw status


# 6. 查看网络接口

ip addr show

ip link show

5.2 网络信息收集

bash

# 查看所有网络连接

netstat -an

ss -a


# 查看TCP连接

netstat -at

ss -t


# 查看UDP连接

netstat -au

ss -u


# 查看正在监听的端口

netstat -lntup

ss -lntup


# 查看网络统计

netstat -s

ip -s link


# 查看ARP表

arp -a

ip neigh show

第六部分:练习和实战

练习1:软件包管理实战

更新系统并安装常用工具


bash

sudo apt update

sudo apt upgrade

sudo apt install net-tools dnsutils traceroute

安装并配置一个Web服务器


bash

sudo apt install nginx

sudo systemctl start nginx

sudo systemctl enable nginx

curl http://localhost

查看nginx安装的文件


bash

dpkg -L nginx | head -20

练习2:网络配置实战

查看当前网络配置


bash

ip addr show

ip route show

cat /etc/resolv.conf

测试网络连接


bash

ping -c 4 8.8.8.8

traceroute 8.8.8.8

nslookup www.google.com

配置防火墙


bash

sudo ufw enable

sudo ufw allow 22

sudo ufw allow 80

sudo ufw allow 443

sudo ufw status

练习3:SSH实战

在本机生成SSH密钥


bash

ssh-keygen -t rsa -b 4096

如果有多台机器,尝试SSH连接


bash

# 连接自己的本地SSH(回环测试)

ssh localhost

exit


# 或者连接虚拟机(如果知道IP)

ssh username@虚拟机IP

练习4:故障排查场景

模拟一个网络问题并解决:


临时禁用网络


bash

sudo ip link set eth0 down

尝试ping


bash

ping 8.8.8.8

诊断问题


bash

ip link show

恢复网络


bash

sudo ip link set eth0 up

ping 8.8.8.8

第七部分:今日命令总结

软件包管理命令 作用

sudo apt update 更新软件包列表

sudo apt upgrade 升级已安装的软件

sudo apt install 安装软件

apt search 搜索软件包

apt show 显示软件包信息

sudo apt remove 卸载软件

sudo apt purge 完全卸载软件

apt list --installed 查看已安装的软件

网络命令 作用

ip addr show 查看IP地址

ip route show 查看路由表

ping 测试网络连通性

traceroute 跟踪网络路径

nslookup DNS查询

netstat 查看网络连接

ss 查看socket统计

SSH命令 作用

ssh user@host SSH远程连接

scp file user@host:path 安全复制文件

ssh-keygen 生成SSH密钥

ssh-copy-id 复制公钥到远程主机

第八部分:注意事项

软件包管理


定期更新系统:sudo apt update && sudo apt upgrade


安装软件前先搜索:apt search 软件名


卸载不需要的软件:sudo apt autoremove


网络配置


修改网络配置前备份原文件


使用netplan apply测试配置


生产环境修改网络要谨慎


SSH安全


使用密钥认证代替密码


修改默认SSH端口(22)


禁用root用户SSH登录


防火墙


开启防火墙:sudo ufw enable


只开放必要的端口


测试防火墙规则后再应用到生产环境


今天的课程内容比较多,但都很实用。慢慢练习,不用着急。


有问题吗?完成了练习我们可以继续下一课:Shell脚本编程基础。


明扬工控商城

推荐阅读:

Linux基础教程 第20课:Linux安全攻防和渗透测试基础

Linux基础教程 第19课:性能调优和容量规划

Linux基础教程 第18课:Linux云计算基础

Linux基础教程 第17课:自动化运维工具

Linux基础教程 第16课:集群和高可用性

Linux基础教程 第15课:Linux内核和驱动管理

热门标签:
Linux基础教程 第六课:软件包管理和网络配置.docx

将本文的Word文档下载到电脑

推荐度:

下载

全部评论

请登录
产业新闻-明扬资讯网
科技资讯-明扬资讯网