当前位置: 首页 > news >正文

Linux运维新人自用笔记(乌班图apt命令和dpkg命令、两系统指令区别,rpm解决路径依赖、免安装配置java环境)

内容全为个人理解和自查资料梳理,欢迎各位大神指点!

每天学习较为零散。

day17 

一、Ubuntu apt命令和dpkg命令

二进制命令+配置文件+数据文件,打包好的单个文件

Windows :.exe  macos:.dmg

后缀适用系统安装方式
.debDebian/Ubuntudpkg -i 或 apt install
.rpmRHEL/CentOS/Fedorarpm -ivh 或 dnf install
.tar.gz通用解压后编译安装
.AppImage通用直接运行
.snapSnap 支持的系统snap install

编码包:编译型语言源码不用配置环境即可运行程序,解释型语言编码需要配置安装对应环境。

功能​​CentOS 7 (RHEL系)​​Ubuntu/Debian系​
​安装软件包​yum installapt install
​删除软件包​yum removeapt remove
​更新软件包列表​yum check-updateapt update
​升级所有软件包​yum upgradeapt upgrade
​搜索软件包​yum searchapt search
​查看软件包信息​yum infoapt show
​列出已安装的包​rpm -qadpkg -l
​安装本地 .rpm 包​rpm -ivhdpkg -i (安装 .deb)
​卸载软件包​rpm -edpkg -r
​查询文件属于哪个包​rpm -qfdpkg -S

 apt命令

高级工具,自动解决依赖,适合日常安装/升级。

功能​​命令示例​​说明​
​更新软件包列表​sudo apt update从软件源服务器获取最新的包列表(不安装)。
​升级所有可升级的软件包​sudo apt upgrade仅升级已安装的包(不删除旧包)。
​完整升级(可能删除旧包)​sudo apt full-upgrade升级所有包,必要时会删除冲突的旧包(更彻底)。
​安装软件包​sudo apt install nginx安装指定软件包(自动处理依赖)。
​删除软件包(保留配置)​sudo apt remove nginx卸载软件包,但保留配置文件。
​彻底删除软件包(含配置)​sudo apt purge nginx完全删除软件包及其配置文件。
​清理无用依赖​sudo apt autoremove删除自动安装且不再需要的依赖包。
​修复损坏的依赖​sudo apt --fix-broken install修复因依赖问题导致的安装失败。
​搜索软件包​apt search "python3"按关键词搜索可用的软件包。
​查看软件包详细信息​apt show nginx显示软件包的版本、依赖、描述等信息。
​列出已安装的包​apt list --installed显示所有已安装的软件包。
​检查可升级的包​apt list --upgradable列出当前可升级的软件包。
​下载软件包(不安装)​sudo apt download nginx下载 .deb 文件到当前目录(不安装)。
​查看软件包依赖​apt depends nginx显示某个包的依赖关系。
​查看反向依赖​apt rdepends nginx显示哪些包依赖当前包。
​清除软件包缓存​sudo apt clean删除所有已下载的 .deb 包缓存(/var/cache/apt/archives/)。
​仅删除旧版本缓存​sudo apt autoclean仅删除过时的 .deb 缓存文件。
​添加第三方仓库​sudo add-apt-repository ppa:nginx/stable
sudo apt update
添加 PPA 仓库并更新列表(需先安装 software-properties-common)。

 dpkg命令

底层工具,直接操作 .deb 文件,不处理依赖(需手动解决)。 

功能​​命令示例​​说明​
​安装本地 .deb 包​sudo dpkg -i package.deb安装本地 .deb 文件(不自动解决依赖)。
​卸载软件包(保留配置)​sudo dpkg -r package_name移除已安装的包,保留配置文件。
​彻底卸载(含配置)​sudo dpkg -P package_name完全删除软件包及其配置文件。
​列出所有已安装的包​dpkg -l显示系统中所有已安装的 .deb 包。
​搜索特定已安装的包​dpkg -l | grep nginx通过关键词过滤已安装的包。
​查看 .deb 包内容​dpkg -c package.deb列出 .deb 文件包含的所有文件(不解压)。
​查看已安装包的文件​dpkg -L package_name显示某个包安装的所有文件路径。
​查询文件所属的包​dpkg -S /path/to/file根据文件路径反查所属的包名。
​查看 .deb 包信息​dpkg -I package.deb显示 .deb 包的元信息(版本、依赖等)。
​检查包是否已安装​dpkg -s package_name显示包的详细状态(如未安装会提示)。
​重新配置已安装的包​sudo dpkg-reconfigure package_name重新运行包的配置向导(如 tzdata 时区设置)。
​修复损坏的包​sudo dpkg --configure -a尝试修复未完成安装或配置的包。
root@xun:~# apt show nginx
Package: nginx
Version: 1.28.0-1~jammy
Priority: optional
Section: httpd
Maintainer: NGINX Packaging <nginx-packaging@f5.com>
Installed-Size: 3,797 kB
Provides: httpd, nginx, nginx-r1.28.0root@xun:~# dpkg -l | grep nginx
ii  nginx                                 1.28.0-1~jammy                          amd64        high performance web server

使用 Ubuntu 安装光盘(ISO)作为本地软件源

创建挂载点
mkdir -p /media/cdrom 
挂载光盘
mount /dev/cdrom /media/cdrom 如果是ISO 文件使用
mount -o loop /path/to/ubuntu.iso /media/cdrom查看挂载是否成功 看到 pool、dists 等目录
ls /media/cdrom​​配置光盘为本地软件源​​,备份原有源列表​​
cp /etc/apt/sources.list /etc/apt/sources.list.bak​​编辑 sources.list,仅保留光盘源​​
nano /etc/apt/sources.list注释掉所有网络源(行首加 #),添加光盘源
deb file:/media/cdrom jammy main restricted universe multiverse​​更新软件包列表​​
sudo apt update从光盘安装 Nginx​​,​​尝试安装​​:
sudo apt install nginx​​验证安装​​:检查服务状态,测试默认页面
sudo systemctl status nginx 
curl http://localhost         如果光盘中没有 Nginx,需从其他设备手动下载 Nginx .deb 包并安装​​,再通过光盘/U盘传输到离线机器。​​下载 Nginx .deb 包​​
​​在有网络的设备上访问 Nginx 官方下载页​​,选择稳定版(Stable)的 .deb 包或直接使用 wget:
wget https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_<版本>.deb
​​将下载的 .deb 文件拷贝到光盘/U盘​​,传输到目标机器。手动安装 .deb 包​​
​​尝试直接安装:
dpkg -i nginx_<版本>.deb 如果报依赖错误,需提前准备或从光盘获取安装依赖(如 libpcre3、zlib1g):
apt --fix-broken install  # 自动解决依赖​​启动 Nginx​​:
sudo systemctl start nginx

小版本升级

下载新版本 .deb 包
wget https://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_1.25.3-1~jammy_amd64.deb安装并覆盖旧版本
sudo dpkg -i nginx_1.25.3-1~jammy_amd64.deb解决依赖问题
sudo apt --fix-broken install重启服务
sudo systemctl restart nginx

二、Ubuntu 22.04与CentOS 7 主要区别

包管理​

功能​​Ubuntu 22.04 (APT/Dpkg)​​CentOS 7 (YUM/RPM)​
安装软件sudo apt install packagesudo yum install package
卸载软件sudo apt remove packagesudo yum remove package
更新软件列表sudo apt updatesudo yum check-update
升级所有软件sudo apt upgradesudo yum update
搜索软件包apt search keywordyum search keyword
查看已安装软件apt list --installedyum list installed
清理缓存sudo apt autoremovesudo yum clean all

网络配置​

​功能​​Ubuntu 22.04​​CentOS 7​
查看IP地址ip a 或 ip addr相同
重启网络sudo netplan apply(需配置YAML)sudo systemctl restart network
防火墙管理sudo ufw allow 22(默认未安装)sudo firewall-cmd --add-port=22/tcp --permanent

​配置文件路径差异​

Ubuntu:/etc/netplan/*.yaml(网络配置)

CentOS 7:/etc/sysconfig/network-scripts/ifcfg-*

​软件包名称差异​

Ubuntu:apache2(Apache)、nginx CentOS 7:httpd(Apache)、nginx

​默认工具差异​

Ubuntu默认安装nano作为文本编辑器,CentOS 7默认安装vi

三、centos7 rpm命令

功能​​常用命令示例​​说明​
​安装​rpm -ivh package.rpm安装软件包(-i=安装,-v=显示详细信息,-h=显示进度条)
​升级​rpm -Uvh package.rpm升级软件包(若未安装则自动转为安装)
​卸载​rpm -e package_name卸载指定软件包(​​不检查依赖​​)
​查询​rpm -q package_name检查软件包是否安装
​列出所有包​rpm -qa显示系统中所有已安装的 RPM 包
​查询文件归属​rpm -qf /path/to/file查看某个文件属于哪个 RPM 包(如 rpm -qf /usr/bin/nginx
​验证包完整性​rpm -V package_name检查软件包文件是否被修改(返回空表示正常)
​显示依赖​rpm -qR package_name列出某个包的依赖项(如 rpm -qR nginx

安装nginx解决依赖

一、用wget指令安装nginx,结合yum命令解决路径依赖

#配置软件库
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
wget https://nginx.org/download/nginx-1.28.0.tar.gz#解压缩tar -zxvf nginx-1.28.0.tar.gz #  ./configure 运行当前目录下的 configure 脚本,检测系统环境并生成编译配置。
#​​  --prefix= 指定 Nginx 的安装目录./configure --prefix=/nginx/new_nginx./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.#解决pcre依赖路径
yum install pcre-devel./configure --prefix=/nginx/new_nginx./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.#解决zlib依赖环境
yum install zlib-devel./configure --prefix=/nginx/new_nginx

添加http认证 

#给nginx服务添加http认证
[root@626nmn nginx-1.28.0]# ./configure --prefix=/nginx/new_nginx1 --with-http_ssl_module#解决依赖
[root@626nmn nginx-1.28.0]# yum -y install  openssl-devel #添加完毕
[root@626nmn nginx-1.28.0]# ./configure --prefix=/nginx/new_nginx1 --with-http_ssl_modulenginx path prefix: "/nginx/new_nginx1"nginx binary file: "/nginx/new_nginx1/sbin/nginx"nginx modules path: "/nginx/new_nginx1/modules"nginx configuration prefix: "/nginx/new_nginx1/conf"nginx configuration file: "/nginx/new_nginx1/conf/nginx.conf"nginx pid file: "/nginx/new_nginx1/logs/nginx.pid"nginx error log file: "/nginx/new_nginx1/logs/error.log"nginx http access log file: "/nginx/new_nginx1/logs/access.log"nginx http client request body temporary files: "client_body_temp"nginx http proxy temporary files: "proxy_temp"nginx http fastcgi temporary files: "fastcgi_temp"nginx http uwsgi temporary files: "uwsgi_temp"nginx http scgi temporary files: "scgi_temp"#安装
[root@626nmn new_nginx1]# make && make install[root@626nmn nginx]# ll
total 1252
drwxr-xr-x. 6 root root       54 Jun  6 23:44 new_nginx1
drwxr-xr-x. 9  502 games     257 Jun  6 23:29 nginx-1.28.0
-rw-r--r--. 1 root root  1280111 Apr 23 19:55 nginx-1.28.0.tar.gz
[root@626nmn nginx]# cd new_nginx1/#配置 前端 日志 二进制文件
[root@626nmn new_nginx1]# ll
total 4
drwxr-xr-x. 2 root root 4096 Jun  6 23:44 conf
drwxr-xr-x. 2 root root   40 Jun  6 23:44 html
drwxr-xr-x. 2 root root    6 Jun  6 23:44 logs
drwxr-xr-x. 2 root root   19 Jun  6 23:44 sbin#运行nginx服务
[root@626nmn new_nginx1]# /nginx/new_nginx1/sbin/nginx 
[root@626nmn new_nginx1]# netstat -tunlp |grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      9351/nginx: master  
[root@626nmn new_nginx1]# #访问ip
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.Thank you for using nginx.

用rpm命令和yum命令解决安装和依赖路径

 在 Index of /packages/ 网站找到nginx的rpm包 

[root@626nmn nginx]# rpm -ivh nginx-1.22.1-1.el7.ngx.x86_64.rpm 
warning: nginx-1.22.1-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 7bd9bf62: NOKEY
error: Failed dependencies:libpcre2-8.so.0()(64bit) is needed by nginx-1:1.22.1-1.el7.ngx.x86_64#解决依赖路径
[root@626nmn nginx]# yum libpcre* -y[root@626nmn nginx]# rpm -ivh nginx-1.22.1-1.el7.ngx.x86_64.rpm 
warning: nginx-1.22.1-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 7bd9bf62: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:nginx-1:1.22.1-1.el7.ngx         ################################# [100%]
----------------------------------------------------------------------#查询nginx安装包
[root@626nmn nginx]# rpm -qa nginx
nginx-1.22.1-1.el7.ngx.x86_64##查询nginx安装版本信息
[root@626nmn nginx]# rpm -qi nginx
Name        : nginx
Epoch       : 1
Version     : 1.22.1
Release     : 1.el7.ngx
Architecture: x86_64
Install Date: Fri 06 Jun 2025 11:09:31 PM CST
Group       : System Environment/Daemons
Size        : 2917123
License     : 2-clause BSD-like license
Signature   : RSA/SHA256, Wed 19 Oct 2022 06:58:05 PM CST, Key ID abf5bd827bd9bf62
Source RPM  : nginx-1.22.1-1.el7.ngx.src.rpm
Build Date  : Wed 19 Oct 2022 06:48:30 PM CST
Build Host  : ip-10-1-17-124.eu-central-1.compute.internal
Relocations : (not relocatable)
Vendor      : NGINX Packaging <nginx-packaging@f5.com>
URL         : https://nginx.org/
Summary     : High performance web server
Description :
nginx [engine x] is an HTTP and reverse proxy server, as well as
a mail proxy server.
#升级小版本(需要先下载新版本rpm包)
[root@626nmn nginx]# rpm -Uvh nginx-1.24.0-1.el7.ngx.x86_64.rpm 
warning: nginx-1.24.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 7bd9bf62: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:nginx-1:1.24.0-1.el7.ngx         ################################# [ 50%]
Cleaning up / removing...2:nginx-1:1.22.1-1.el7.ngx         ################################# [100%]#查询
[root@626nmn nginx]# rpm -qi nginx
Name        : nginx
Epoch       : 1
Version     : 1.24.0
Release     : 1.el7.ngx
Architecture: x86_64
Install Date: Fri 06 Jun 2025 11:15:26 PM CST
Group       : System Environment/Daemons
Size        : 2938462
License     : 2-clause BSD-like license
Signature   : RSA/SHA256, Wed 12 Apr 2023 01:47:07 AM CST, Key ID abf5bd827bd9bf62
Source RPM  : nginx-1.24.0-1.el7.ngx.src.rpm
Build Date  : Wed 12 Apr 2023 01:22:36 AM CST
Build Host  : ip-10-1-17-154.eu-central-1.compute.internal
Relocations : (not relocatable)
Vendor      : NGINX Packaging <nginx-packaging@f5.com>
URL         : https://nginx.org/
Summary     : High performance web server
Description :
nginx [engine x] is an HTTP and reverse proxy server, as well as
a mail proxy server.

四、免安装配置java环境

下载java
wget https://download.oracle.com/java/24/latest/jdk-24_linux-x64_bin.tar.gz解压缩
tar -zxvf jdk-24_linux-x64_bin.tar.gz 添加java环境配置文件
vim /etc/profileexport JAVA_HOME=/a1/jdk
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/a1/jdk/bin/重新登陆
logout[root@626nmn ~]# java -version
java version "24.0.1" 2025-04-15
Java(TM) SE Runtime Environment (build 24.0.1+9-30)
Java HotSpot(TM) 64-Bit Server VM (build 24.0.1+9-30, mixed mode, sharing)[root@626nmn a1]# cat HelloWorld.java 
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}#编译代码
[root@626nmn a1]# javac HelloWorld.java #运行代码
[root@626nmn a1]# java HelloWorld
Hello World![root@626nmn a1]# ll
total 237520
-rw-r--r--. 1 root root       426 Jun  8 22:14 HelloWorld.class
-rw-r--r--. 1 root root       107 Jun  8 22:09 HelloWorld.java
lrwxrwxrwx. 1 root root        14 Jun  8 21:54 jdk -> /a1/jdk-24.0.1
drwxr-xr-x. 9 root root       136 Jun  8 21:51 jdk-24.0.1
-rw-r--r--. 1 root root 243210953 Mar  5 15:55 jdk-24_linux-x64_bin.tar.gz
[root@626nmn a1]# 

相关文章:

  • 发送文件脚本源码版本
  • 【Go语言基础【17】】切片:一种动态数组
  • 漏洞检测方案如何选工具?开源与商业工具适用环境大不同
  • Ubuntu系统用户基本管理
  • 栈和队列的奇妙冒险:用栈实现队列
  • (每日一道算法题)验证二叉搜索树
  • Jinja2深度解析与应用指南
  • ALOHA ACT算法与源码笔记
  • 【学习笔记】0-RTT
  • 简约商务通用宣传年终总结12套PPT模版分享
  • LLMs 系列科普文(13)
  • AD学习(1)
  • Doris-2:单虚拟机上非docker化安装Doris实验环境
  • 【算法笔记】树套树
  • CNN核心机制深度解析:卷积池化原理 PyTorch实现经典网络
  • GPU虚拟化
  • 在Pnetlab6上绕过TPM、安全启动和 RAM 检查安装windows 11笔记
  • 管理数据洪流:自动化处理与归档每日数据文件的策略与实践
  • 嵌入式学习--江协stm32day4
  • Python地理数学可视化:基于函数生成真实感地形
  • 路由器搭建wordpress/上海专业seo
  • wordpress 字体/厦门seo关键词
  • 建设网站培训/网站百度关键词排名软件
  • 建设银行网站注册/产品营销推广策略
  • 做自媒体有哪些网站/聊城seo
  • 怎么做软文代发平台网站/seo交流qq群