Linux国产操作系统,UCA-系统工程师学习必备技能,使用dpkg管理软件包、apt命令、内网获取依赖包及源码安装

 

目录

​编辑

1.使用dpkg管理软件包

2.apt命令

3.内网获取依赖包

4.源码安装


1.使用dpkg管理软件包

第一种方法当然可以上网搜索软件安装包,下载然后解压成软件。

第二种也就是我接下来要介绍的,dpkg 命令,dpkg 全称叫做debian package,想看参数可以如下:

root@uos~#: man dpkg
root@uos~#: dpkg -l
root@uos~#: dpkg -I 
root@uos~#: dpkg -c
root@uos~#: dpkg -i
root@uos~#: dpkg -L
root@uos~#: dokg -s

-l (小L)这个参数是表示列出软件包,dd deepin等开头的都是统信自主研发的安装包

-L(大L)这个参数是列出这个软件装了什么东西

-I 这个参数是表示查看软件包(information)

root@uos~#: dpkg -I /home/tang/Desktop/vsftpd_3.0.3-12_amd64.deb 

  

你会发现查看到了很多文件和源代码,包括官网信息、作者信息等。

-c 这个参数是检查一个.deb文件的内容。

-i 表示安装软件包,是一个安装命令。

-s 显示已安装包裹的信息,如果表示为install ok installed,那么就是装好了,如果没有那就是表示失败的,当然其中也是包括了其他信息,像架构、类型。

root@uos~#: dpkg -l(必须输入完整才能查询)
root@uos~#: dpkg -r vsftpd
root@uos~#: dpkg -P vsftpd

-r 和 -P 都是删除软件包的命令,但是-r 删除的只是软件,-P 才能把所有的配置文件删干净。

总而言之,dpkg只能安装一般的软件包,像其他复杂的、套娃式的软件包则难以满足需求。

2.apt命令

apt是安装命令,它是 advanced packaging tool,不会像dpkg那样有依赖性关系,他会自动形成依赖。

root@uos:~# apt install apache2^C
root@uos:~# ping www.baidu.com
root@uos:~# apt install apache2(出现报错,这是因为之前是用来dpkg,同一个项目不能apt和dpkg两个混用)
root@uos:~# dpkg -P apache2 apache2-bin(先卸,再装)
root@uos:~# apt install apache2

  

下面是卸后重装的,就成功啦。

  

接下来,就是介绍一下软件仓库

root@uos~#: vim /etc/apt/sources.list
root@uos~#: apt list | wc -l
root@uos~#: apt update
root@uos~#: apt install -y apache2(这个就不需要回答yes/no)

https://professional-packages.chinauos.com/ (索引仓库存放位置)desktop-professional eagle

这也是应用apt安装命令的必要前提。

接下来则是关于对apt安装命令下相应的卸载操作

root@uos~#: apt purge apache2(系统不会自动删依赖包)
root@uos~#: apt autoremove -y(包括依赖包都卸载完了)
root@uos~#: apt upgrade(慎用,生产一线要追求稳定)
root@uos~#: apt full-upgrade 
root@uos~#: apt install -f(强制安装)

可以通过

root@uos~#: apt search uos-bro
root@uos~#: apt install uos-browser-stable
root@uos~#: apt search nginx
root@uos~#: apt show nginx

3.内网获取依赖包

最好是在虚拟机上操作,新的系统内比较干净,依赖包比较少。

root@uos~#: ls -l /var/cache/apt/archives/

   

root@uos~#: apt clean(清除apt依赖包)
root@uos~#: apt install -d apache2

它不会真的把 apache2 装好,而是把软件包存到指定的位置,-d就是只下载包而不装包的意思

root@uos~#: mkdir /home/tangyimin/Desktop/apache2
root@uos~#: cp /var/cache/apt/archives/*.deb /home/tangyimin/Desktop/apache2
root@uos~#: dpkg -l | grep apache2
root@uos~#: dpkg -i /home/tangyimin/Desktop/apache2/*.deb
root@uos~#: dpkg -l | grep apache2

 

可以查看系统服务

root@uos~#: systemctl status apache2

 

 

4.源码安装

root@uos~#: ls -l /home/qin/Desktop/

nginx-1.14.2tar.gz就是我们要的源码包,它是直接打包安装,是直接给我们的。注意,源码包是不受操作系统限制的。难度大,但是可以选择的东西更多,更灵活更自由。

 

root@uos~#: tar xzvf /home/qin/Desktop/nginx-1.14.2.tar.gz -C /tmp/
root@uos~#: cd /tmp/nginx-1.14.2/
root@uos: /tmp/nginx-1.14.2# ll

  

其中README和configure这两个文件很关键。configure是可执行文件,也就是配置文件,也意味着在源码安装之前,我们需要对原码环境进行配置;README文件则会介绍软件的一些内容

root@uos: /tmp/nginx-1.14.2# vim README

 

 

但是它会显示说内容太多,建议你上官网查看。。。

root@uos: /tmp/nginx-1.14.2# configure

 

这个很遗憾,上面很多东西不一定看得懂,很多shell命令和参数,生成的变量,很多脚本是我们大学生目前很难理解的。

root@uos: /tmp/nginx-1.14.2# ./configure --help

 

 

如果想要知道其中的意思,建议上百度或者CSDN去寻求答案。

但是怎么才能使用或者操作才能有效地进行命令呢?

root@uos: /tmp/nginx-1.14.2# ./cnfigure --prefix=/opt/qinnginx
root@uos: /tmp/nginx-1.14.2# make install(最正经的安装)

make install安装就很快,因为就是把Linux下的文件转移到指定地点,所以速度就会很快。当然可以用ls -l来查看一下是否已经安装完毕了。

root@uos: /tmp/nginx-1.14.2# ls -l /opt/qinnginx/
root@uos: /tmp/nginx-1.14.2# cd /opt/qinnginx/
root@uos: /opt/qinnginx# ls -l

 

conf是所有的配置文件;html是所有的网页文件;logs是所有的日志文件;sbin是所有的命令。(此处不细讲)

root@uos: /opt/qinnginx/sbin# ./nginx
root@uos: /opt/qinnginx/sbin# ps aux | grep nginx

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

步长(stride) | 填充(padding) | 扩长(dilation)

这几个名词中文真的好难翻译,不是大佬就不要造名词了,后面还是老老实实用英文吧!(标题是机翻的 。) stride stride 很好理解,stride 就是卷积核移动的步长。 如下图: stride1 stride2 paddi…

技术新动向 | 谷歌云大举扩展安全 AI 生态系统

【本文由 Cloud Ace 整理发布, Cloud Ace 是谷歌云全球战略合作伙伴,拥有 300 多名工程师,也是谷歌最高级别合作伙伴,多次获得 Google Cloud 合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件…

【设计模式】SpringBoot优雅使用策略模式

文章目录 1.概述1.1.简述策略模式 2.实现方法2.1.实现思路2.2.实现代码2.3.策略拓展2.4.执行调用 3.总结 1.概述 本篇文章主要会描述SpringBoot与策略模式的结合使用,因为不涉及到理论部分,所以在阅读本篇之前,需要对策略模式的理论已经有了…

HarmonyOS学习路之开发篇—Java UI框架(JS FA调用Java PA)

JS FA调用Java PA机制 使用兼容JS的类Web开发范式的方舟开发框架提供了JS FA(Feature Ability)调用Java PA(Particle Ability)的机制,该机制提供了一种通道来传递方法调用、处理数据返回以及订阅事件上。 当前提供Ab…

鼠标键盘实验

文章目录 USB参考资料USB设备STM32F407USB 硬件连接软件移植官方HIDSTM32F4USB通信库 USB参考资料 ①《STM32F4xx中文参考手册》-第30章 全速USB on-the-go(OTG_FS) ②光盘:STM32参考资料:STM32 USB 学习资料-CD00289278.pdf(UM1021) ③光盘:STM32参考资…

Python3 函数与数据结构 | 菜鸟教程(十一)

目录 一、Python3 函数 (一)定义一个函数 1、你可以定义一个由自己想要功能的函数,以下是简单的规则: 2、语法 3、实例 ①让我们使用函数来输出"Hello World!": ②更复杂点的应用&#xff…

【gcc, cmake, eigen, opencv,ubuntu】一.gcc介绍

文章目录 gcc介绍1.查看当前gcc 版本2.安装其他版本的gcc3.设置多个版本的优先级4.修改默认的版本5.查看cpu信息 gcc介绍 gcc介绍和makefile介绍 1.查看当前gcc 版本 gcc --version2.安装其他版本的gcc sudo apt install gcc-10 g-10这样我们电脑里包含gcc-9 和 gcc-10两个…

干货分享|HOOPS Web平台和Polygonica进行增材制造的云CAM服务示例

这篇文章提供了一个示例项目,展示了使用 Machineworks Polygonica 和 HOOPS Web 平台进行增材制造的云 CAM 服务。该项目作为一个示例,说明了如何在服务器端使用 Polygonica 与 HOOPS Communicator 和 Exchange 来开发云服务。 它涵盖了增材制造 CAM 的…

三、DSMP/OLS等夜间灯光数据贫困地区识别——MPI和灯光指数拟合、误差分析

一、前言 当我们准备好MPI和灯光指数(包括总灯光指数和平均灯光指数)之后,接下来主要的过程就是通过将MPI和灯光指数拟合,构建多维度指数估算模型,这里我解释一下前文中的MPI计算过程,其实利用熵值法确定指标权重,并通过各 指 标 归 一 化 数 值 乘 以 对 应 的 权 重 …

非监督学习

聚类Clustering 查看大量数据点,自动找到彼此相关或相似的数据点 K-means算法 原理 1.随机选择点,找聚类的中心位置。将点分配给簇质心 2.移动簇质心 不断重复这两个步骤 优化目标 成本函数失真函数distortion 在每次迭代中,失真成本…

汽车电子Autosar之以太网SOME/IP(续)

前言 首先,请问大家几个小小问题,你清楚: 你知道什么是SOME/IP SD吗?SOME/IP-SD有何作用呢?SOME/IP-SD 包含哪些内容呢?SOME/IP-TP 为什么会存在? 今天,我们就来一起探索并回答这…

STM32开发——非标协议(DH11+LCD1602)

1.STM32分文件实现代码 编译的总文件夹dh11andlcd,C文件不能跨文件夹查找,新增的分文件,需要都放调用的文件夹下 C文件和H文件理解:H文件是门脸,放在前面给别人的,别人一看就知道有什么东西。C是给内部人用…

总结899

目标规划: 月目标:6月(线性代数强化9讲,背诵15篇短文,考研核心词过三遍) 周目标:线性代数强化3讲,英语背3篇文章并回诵,检测 今日已做: 1.读了两篇文章&a…

python使用pyinstaller打包运行过程中莫名的被阻塞

问题描述 使用pyinstaller打包python代码命令 python -m PyInstaller -i logo.ico -F -p ./console -n scl_runner ./main.py运行之后会有一个终端,可以看到终端日志输出正常,多次远程调用也没有问题,死循环测试调用10万次也没有卡死 然…

【Flume】高级组件之Sink Processors及项目实践(Sink负载均衡和故障转移)

文章目录 1. 组件简介2. 项目实践2.1 负载均衡2.1.1 需求2.1.2 配置2.1.3 运行 2.2 故障转移2.2.1 需求2.2.2 配置2.2.3 运行 1. 组件简介 Sink Processors类型包括这三种:Default Sink Processor、Load balancing Sink Processor和Failover Sink Processor。 Defa…

kotlin学习(二)泛型、函数、lambda、扩展、运算符重载

文章目录 泛型&#xff1a;in、out、where型变&#xff08;variance&#xff09;不变&#xff08;Invariant&#xff09;协变&#xff08;Covariant&#xff09;Java上界通配符<? extends T>Kotlin的关键词 outUnsafeVariance 逆变&#xff08;Contravariant&#xff09…

GBASE金融信创优秀解决方案鉴赏 · 核心业务系统数据库解决方案

为此&#xff0c;实验室特别开设金融信创优秀解决方案专栏&#xff0c;集中展示优秀成果。现在&#xff0c;让我们一起来领略下GBASE的优秀解决方案吧~可点击阅读原文 →《金融信创优秀解决方案--核心业务系统数据库解决方案》。 核心业务系统数据库解决方案 方案简介 随着技…

C++:虚函数

C面向对象的三个特性&#xff0c;封装继承多态。在继承的关系中&#xff0c;所有的东西都可以被继承下来&#xff0c;如数据可以被继承下来在内存&#xff0c;而函数的继承则是继承调用权。 虚函数主要是通过虚函数表来实现&#xff0c;每个类都有自己的虚表&#xff0c;当你创…

A fight among three “三国”混战 | 经济学人20230520版社论双语精翻

《经济学人》2023年5月20日封面&#xff08;社论&#xff09;文章精翻&#xff1a;《全球支付系统的“三国”混战》&#xff08;A fight among three&#xff09; A fight among three “三国”混战 The fight over the future of global payments 全球支付的未来之争 Digital …

【STM32】软件I2C(支持多字节)

I2C简介 I2C总线是一种串行、半双工的总线&#xff0c;主要用于近距离、低速的芯片之间的通信。I2C总线有两根双向的信号线&#xff0c;一根数据线SDA用于收发数据&#xff0c;一根时钟线SCL用于通信双方时钟的同步。 在一个i2c通讯总线中&#xff0c;可连接多个i2c通讯设备&a…