BClinux8.6 制作openssh9.3p1 rpm升级包和升级实战

news2024/9/29 7:16:55

一、背景说明

BClinux8.6 默认安装的openssh 版本为8.0,经绿盟扫描,存在高危漏洞,需要升级到最新。

官网只提供编译安装包,而BClinux8.6 为rpm方式安装。

为了方便升级,先通过编译安装包,制作rpm包,并进行升级

如下为做好的rpm升级包,可直接下载使用:

openssh 9.3p1 for bclinux & 龙蜥Anolis 8.6版本

https://download.csdn.net/download/qyq88888/87764971?spm=1001.2014.3001.5503icon-default.png?t=N3I4https://download.csdn.net/download/qyq88888/87764971?spm=1001.2014.3001.5503

1.1 系统版本查看 cat /etc/os-release

[root@localhost ~]# cat /etc/os-release 
NAME="BigCloud Enterprise Linux"
VERSION="8.6 (Core)"
ID="bclinux"
ID_LIKE="rhel fedora"
VERSION_ID="8.6"
PLATFORM_ID="platform:an8"
PRETTY_NAME="BigCloud Enterprise Linux 8.6 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:bclinux:bclinux:8"
HOME_URL="https://mirrors.bclinux.org/"
BUG_REPORT_URL="https://bugs.bclinux.org/"

BCLINUX_BUGZILLA_PRODUCT="BigCloud Enterprise Linux 8 (Core)"
BCLINUX_BUGZILLA_PRODUCT_VERSION=8.6
BCLINUX_SUPPORT_PRODUCT="BigCloud Enterprise Linux 8 (Core)"
BCLINUX_SUPPORT_PRODUCT_VERSION=8.6

[root@localhost ~]# 

二、rpm包制作

2.1、安装制作的工具

dnf install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel  libXt-devel gtk2-devel make perl -y

安装imake

dnf install imake

验证imake是否安装成功

[root@localhost ~]# rpm -qa|grep imake
imake-1.0.7-11.el8.x86_64
[root@localhost ~]# 

2.2下载源码

wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz
 
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz


2.3 初始化

##拷贝源码包到相应目录

mkdir -p /root/rpmbuild/SOURCES
cp openssh-9.3p1.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES

解压
tar -zxf openssh-9.3p1.tar.gz 


##解压源码包,拷贝spec文件
mkdir -p /root/rpmbuild/SPECS/

[root@localhost openssh-9.3p1]# find ./ -name openssh.spec
./contrib/redhat/openssh.spec
./contrib/suse/openssh.spec

[root@localhost openssh-9.3p1]# cp ./contrib/redhat/openssh.spec /root/rpmbuild/SPECS/


##尝试构建rpm包,提示报错:
[root@localhost SPECS]# rpmbuild -ba openssh.spec
错误:构建依赖失败:
        openssl-devel < 1.1 被 openssh-9.3p1-1.el8.bclinux.x86_64 需要
[root@localhost SPECS]# 


cd /root/rpmbuild/SPECS/
vi openssh.spec
注释如下行
#BuildRequires: openssl-devel < 1.1

2.4 rpm打包

再次执行成功:
rpmbuild -ba openssh.spec
等待编译完成

...
提示:
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: openssh-debugsource(x86-64) = 9.3p1-1.el8.bclinux
检查未打包文件:/usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/openssh-9.3p1-1.el8.bclinux.x86_64
已写至:/root/rpmbuild/SRPMS/openssh-9.3p1-1.el8.bclinux.src.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-clients-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-server-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-askpass-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-askpass-gnome-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-debugsource-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-clients-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-server-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-askpass-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/openssh-askpass-gnome-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
正在执行(%clean):/bin/sh -e /var/tmp/rpm-tmp.q7XydL
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd openssh-9.3p1
+ rm -rf /root/rpmbuild/BUILDROOT/openssh-9.3p1-1.el8.bclinux.x86_64
+ exit 0
[root@localhost SPECS]# 

2.5 查看制作后的rpm包

查看制作完成后生成的包:

[root@localhost x86_64]# ls -lrth /root/rpmbuild/RPMS/x86_64/
总用量 6.2M
-rw-r--r-- 1 root root 700K 5月   8 19:15 openssh-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root 655K 5月   8 19:15 openssh-clients-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root 484K 5月   8 19:15 openssh-server-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root  50K 5月   8 19:15 openssh-askpass-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root  31K 5月   8 19:15 openssh-askpass-gnome-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root 748K 5月   8 19:15 openssh-debugsource-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root 1.1M 5月   8 19:15 openssh-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root 1.5M 5月   8 19:15 openssh-clients-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root 921K 5月   8 19:15 openssh-server-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root  61K 5月   8 19:15 openssh-askpass-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
-rw-r--r-- 1 root root  42K 5月   8 19:15 openssh-askpass-gnome-debuginfo-9.3p1-1.el8.bclinux.x86_64.rpm
[root@localhost x86_64]# 

三、使用制作好的rpm包进行升级

3.1 升级前备份

##利用制作的rpm包对openssh进行升级
升级前检查
[root@localhost x86_64]# rpm -qa|grep openssh
openssh-8.0p1-13.0.1.an8.x86_64
openssh-server-8.0p1-13.0.1.an8.x86_64
openssh-clients-8.0p1-13.0.1.an8.x86_64
[root@localhost x86_64]# 

##备份配置文件
[root@localhost x86_64]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.20230508


##升级只需准备如下3个包
openssh-clients-9.3p1-1.el8.bclinux.x86_64.rpm
openssh-9.3p1-1.el8.bclinux.x86_64.rpm
openssh-server-9.3p1-1.el8.bclinux.x86_64.rpm

3.2 开始升级

dnf install ./*.rpm 

[root@localhost ~]# dnf install ./*.rpm 
无法连接BC-Linux的YUM源服务器。
上次元数据过期检查:3:41:27 前,执行于 2023年05月08日 星期一 15时41分00秒。
依赖关系解决。
===================================================================================================================================================
 软件包                               架构                        版本                                     仓库                               大小
===================================================================================================================================================
升级:
 openssh                              x86_64                      9.3p1-1.el8.bclinux                      @commandline                      699 k
 openssh-clients                      x86_64                      9.3p1-1.el8.bclinux                      @commandline                      654 k
 openssh-server                       x86_64                      9.3p1-1.el8.bclinux                      @commandline                      484 k

事务概要
===================================================================================================================================================
升级  3 软件包

总计:1.8 M
确定吗?[y/N]: y
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                    1/1 
  运行脚本: openssh-9.3p1-1.el8.bclinux.x86_64                                                                                                 1/1 
  升级    : openssh-9.3p1-1.el8.bclinux.x86_64                                                                                                 1/6 
  升级    : openssh-clients-9.3p1-1.el8.bclinux.x86_64                                                                                         2/6 
  运行脚本: openssh-server-9.3p1-1.el8.bclinux.x86_64                                                                                          3/6 
  升级    : openssh-server-9.3p1-1.el8.bclinux.x86_64                                                                                          3/6 
  运行脚本: openssh-server-9.3p1-1.el8.bclinux.x86_64                                                                                          3/6 
  运行脚本: openssh-server-8.0p1-13.0.1.an8.x86_64                                                                                             4/6 
  清理    : openssh-server-8.0p1-13.0.1.an8.x86_64                                                                                             4/6 
  运行脚本: openssh-server-8.0p1-13.0.1.an8.x86_64                                                                                             4/6 
  清理    : openssh-clients-8.0p1-13.0.1.an8.x86_64                                                                                            5/6 
  清理    : openssh-8.0p1-13.0.1.an8.x86_64                                                                                                    6/6 
  运行脚本: openssh-8.0p1-13.0.1.an8.x86_64                                                                                                    6/6 
  验证    : openssh-9.3p1-1.el8.bclinux.x86_64                                                                                                 1/6 
  验证    : openssh-8.0p1-13.0.1.an8.x86_64                                                                                                    2/6 
  验证    : openssh-clients-9.3p1-1.el8.bclinux.x86_64                                                                                         3/6 
  验证    : openssh-clients-8.0p1-13.0.1.an8.x86_64                                                                                            4/6 
  验证    : openssh-server-9.3p1-1.el8.bclinux.x86_64                                                                                          5/6 
  验证    : openssh-server-8.0p1-13.0.1.an8.x86_64                                                                                             6/6 

已升级:
  openssh-9.3p1-1.el8.bclinux.x86_64         openssh-clients-9.3p1-1.el8.bclinux.x86_64         openssh-server-9.3p1-1.el8.bclinux.x86_64        

完毕!
[root@localhost ~]# 




[root@localhost ~]# ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021
[root@localhost ~]#

3.3 升级后ssh服务出现异常

此时千万不要退出登录,否则将再也无法登录

[root@localhost ~]# systemctl restart sshd
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl status sshd
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; generated)
   Active: failed (Result: exit-code) since Mon 2023-05-08 19:23:16 CST; 10s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3535454 ExecStop=/etc/rc.d/init.d/sshd stop (code=exited, status=0/SUCCESS)
  Process: 3535993 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=1/FAILURE)
 Main PID: 939 (code=exited, status=0/SUCCESS)

5月 08 19:23:16 localhost.localdomain sshd[3536002]: @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
5月 08 19:23:16 localhost.localdomain sshd[3536002]: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5月 08 19:23:16 localhost.localdomain sshd[3536002]: Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open.
5月 08 19:23:16 localhost.localdomain sshd[3536002]: It is required that your private key files are NOT accessible by others.
5月 08 19:23:16 localhost.localdomain sshd[3536002]: This private key will be ignored.
5月 08 19:23:16 localhost.localdomain sshd[3536002]: sshd: no hostkeys available -- exiting.
5月 08 19:23:16 localhost.localdomain sshd[3535993]: [失败]
5月 08 19:23:16 localhost.localdomain systemd[1]: sshd.service: Control process exited, code=exited status=1
5月 08 19:23:16 localhost.localdomain systemd[1]: sshd.service: Failed with result 'exit-code'.
5月 08 19:23:16 localhost.localdomain systemd[1]: Failed to start SYSV: OpenSSH server daemon.
[root@localhost ~]# 

3.4、异常处理

##修改权限为600,并再次重启sshd
[root@localhost ~]# chmod 0600 /etc/ssh/ssh_host_ed25519_key
[root@localhost ~]# systemctl restart sshd


##再次查看sshd服务状态
[root@localhost ~]# systemctl status sshd
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; generated)
   Active: active (running) since Mon 2023-05-08 19:25:18 CST; 10s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3535454 ExecStop=/etc/rc.d/init.d/sshd stop (code=exited, status=0/SUCCESS)
  Process: 3536161 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=0/SUCCESS)
 Main PID: 3536171 (sshd)
    Tasks: 1 (limit: 101087)
   Memory: 904.0K
   CGroup: /system.slice/sshd.service
           └─3536171 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups

5月 08 19:25:18 localhost.localdomain sshd[3536170]: This private key will@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5月 08 19:25:18 localhost.localdomain sshd[3536170]: @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
5月 08 19:25:18 localhost.localdomain sshd[3536170]: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5月 08 19:25:18 localhost.localdomain sshd[3536170]: Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
5月 08 19:25:18 localhost.localdomain sshd[3536170]: It is required that your private key files are NOT accessible by others.
5月 08 19:25:18 localhost.localdomain sshd[3536170]: This private key will be ignored.
5月 08 19:25:18 localhost.localdomain sshd[3536171]: Server listening on 0.0.0.0 port 22.
5月 08 19:25:18 localhost.localdomain sshd[3536171]: Server listening on :: port 22.
5月 08 19:25:18 localhost.localdomain sshd[3536161]: [  确定  ]
5月 08 19:25:18 localhost.localdomain systemd[1]: Started SYSV: OpenSSH server daemon.
[root@localhost ~]# 

3.5、尝试登录

##再次ssh该主机,正常访问
[root@localhost ~]# rpm -qa|grep openssh
openssh-clients-9.3p1-1.el8.bclinux.x86_64
openssh-9.3p1-1.el8.bclinux.x86_64
openssh-server-9.3p1-1.el8.bclinux.x86_64
[root@localhost ~]# 


##查看ssh版本
[root@localhost ~]# ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021
[root@localhost ~]#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/503411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是无感电阻?无感电阻和普通电阻的区别

无感电阻&#xff0c;也称为电感电阻、电感器、电感元件等&#xff0c;是一种电气元件&#xff0c;常用于电子电路中&#xff0c;用于限制电流、防止电磁干扰等。无感电阻是指一种电阻器件&#xff0c;它能够在高频电路中工作而不会产生电感&#xff0c;从而避免了电感对电路性…

【Python】更改matplotlib绘图样式,要创建一个后缀名为mplstyle的样式清单,如何实现?

要更改 matplotlib 绘图样式&#xff0c;可以按照以下步骤创建一个后缀名为 mplstyle 的样式清单&#xff1a; 打开终端或 Anaconda Prompt&#xff08;Windows 用户&#xff09;&#xff1b;确保您的 Matplotlib 版本是 2.0.0 以上版本&#xff0c;通过运行&#xff1a; imp…

被裁现状,给找工作的同学一些建议

2022 到 2023 国内知名互联网公司腾讯、阿里、百度、快手、滴滴、京东、阿里、爱奇艺、知乎、字节跳动、小米等公司均有裁员&#xff0c;其中有不少公司&#xff0c;在过去年的一整年&#xff0c;进行了多轮裁员&#xff0c;以下是网传的一张 “2022 年裁员企业名单”。 这些裁…

【单目标优化算法】孔雀优化算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

介绍一个empty(空状态描述)全端通用的空状态描述组件

介绍 这是一个全端通用的空状态描述组件&#xff0c;集成了25种常用场景&#xff0c;支持自定义图标及内容&#xff0c;快点下载试试吧。 插件含全部源码&#xff0c;可以给您无限实现可能&#xff0c;随心所欲自定义你的功能&#xff1b;符合uni_modules和easycom规范&#…

什么是web3 | 区块链web3.0人才

文章目录 一、Web31. 什么是web3&#xff1f;2. web3的dapp架构 二、区块链web3.0人才1. 区块链开发技术栈2. 欧易对人才的要求3. 如何成为一名合格的智能合约高级工程师4. web3各个赛道5. 链上数据分析师6. 一些案例 三、参考 一、Web3 1. 什么是web3&#xff1f; 20世纪90年…

百度搜索排名的提升,就靠这10个优化技巧!

随着互联网的快速发展&#xff0c;网站排名已经成为了企业竞争的一个重要指标。其中&#xff0c;百度搜索排名的提升更是众多企业都非常关注的问题。因此&#xff0c;在这篇文章中&#xff0c;我将为大家介绍10个优化技巧&#xff0c;以帮助企业提升百度搜索排名。 1.关键词优化…

MG100-Hi3798MV100-当贝纯净桌面卡刷固件包

MG100-Hi3798MV100-当贝纯净桌面卡刷固件包-内有教程及短接点 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&#xf…

MySQL基础篇补充 | 多表查询中使用SQL99实现7种JOIN操作、SQL99语法新特性

目录 一&#xff1a;多表查询中使用SQL99实现7种JOIN操作 二&#xff1a;SQL99语法新特性 1. 自然连接Natural 2. USING连接 一&#xff1a;多表查询中使用SQL99实现7种JOIN操作 在多表查询中&#xff0c;除了遇到最多的内连接、左外连接和右外连接&#xff0c;还有其它的…

GPT-4与人工智能的未来:微软CTO对话比尔·盖茨

一系列技术变革引领我们走到今天&#xff0c;并深刻影响着人类社会。如今&#xff0c;随着人工智能技术的快速发展&#xff0c;ChatGPT、New Bing、GPT-4 等新产品和新技术的陆续发布&#xff0c;又将如何帮助我们创造未来&#xff1f;在微软与 OpenAI 的密切合作中&#xff0c…

Packet Tracer - 使用 CLI 配置 IOS 入侵防御系统 (IPS)

Packet Tracer - 使用 CLI 配置 IOS 入侵防御系统 (IPS) 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/1 S0/0/0 10.1.1.1 255.255.255.252 不适用 不适用 R2 S0/0/0 (DCE) 10.1.1.…

服装生产erp都有哪些功能?该如何选服装生产erp?

各位开服装工厂的老板是否遇到这些难题&#xff1a; 库存管理成本高&#xff0c;大量库存积压导致资金紧张&#xff1b; 车间用人成本高&#xff0c;工人工作效率低&#xff0c;浪费大量时间和资金成本&#xff1b; 生产、加工、成品出库等各环节无法顺畅衔接&#xff0c;补单困…

Wikidata 数据包下载+格式转换+入库MySQL

1. Wikidata 简介 维基数据是一个自由的协作式的多语言辅助数据库&#xff0c;用于收集结构化的数据&#xff0c;旨在支援维基百科、维基共享资源以及其他维基媒体运动中的项目&#xff0c;也支援世界上的每一个人。 官网&#xff1a;https://www.wikidata.org/wiki/Wikidata:M…

在“裸奔”时代保护我们的隐私:网络攻击、数据泄露与隐私侵犯的应对策略与工具

摘要&#xff1a;随着信息技术的普及和发展&#xff0c;个人隐私和数据安全问题日益受到威胁。本文将讨论如何有效应对网络攻击、数据泄露和隐私侵犯&#xff0c;并提供一系列实用的技巧和工具&#xff0c;以帮助我们在“裸奔”时代更好地保护数据安全和隐私。 当今社会&#…

Http知识

一、http协议 目前存在HTTP1.1&#xff08;当前广泛运用的版本&#xff09;、HTTP2.0和HTTP3.0协议&#xff0c;有以下的优点和缺点 1. HTTP1.1 优点&#xff1a;默认支持长连接&#xff0c;即在一个TCP连接上可以传送多个HTTP请求和响应&#xff0c;减少了建立和关闭连接的…

浅浅地优化下视频流播放体验

作者&#xff1a;唐子玄 这一篇将从如何播放视频开始&#xff0c;接着介绍如何封装播放器&#xff0c;再将视频播放和列表结合形成视频流&#xff0c;然后一步步地优化视频流的播放体验。 播放视频 ExoPlayer 基本使用 这次我选择的是ExoPlayer&#xff0c;添加依赖如下&…

13个UI设计软件,一次满足你的UI设计需求

UI设计师的角色是当今互联网时代非常重要的一部分。许多计算机和移动软件都需要UI设计师的参与&#xff0c;这个过程复杂而乏味。这里将与您分享13个UI设计软件&#xff0c;希望帮助您正确选择UI设计软件&#xff0c;节省工作量&#xff0c;创建更多优秀的UI设计作品。 1.即时…

4.共享模型之管程

4.共享模型之管程 4.1 共享带来的问题 Java的体现 import lombok.extern.slf4j.Slf4j;/*** author xc* date 2023/5/6 13:00*/ Slf4j public class Test14 {static int i 0;public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(()…

Android Framework开发前景分析~

Android Framework是Android操作系统中的重要组成部分&#xff0c;它提供了一系列的API&#xff08;应用程序接口&#xff09;和服务&#xff0c;方便开发人员创建Android应用程序。随着Android设备的普及和移动互联网市场的快速发展&#xff0c;Android Framework开发有着广泛…

Linux下进程守护Supervisor搭建

简介&#xff1a;Supervisor是在linux上的进程管理员&#xff0c;是一个管理工具。当进程停止的时候Supervisor能够自动启动它&#xff0c;可以运行在各种类unix的机器上&#xff0c;supervisor是使用python开发的一套通用的进程管理工具&#xff0c;能够把普通脚本、命令行进程…