嵌入式day10

2019-08-05  本文已影响0人  小土豆dy

unix的起源

1969年,由KenThompson在AT&T贝尔实验室发现的。使用的是汇编语言。

1970年,KenThompson和DennisRitchie使用C语言对整个系统进行加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。

GNU&GPL

GNU由Richard Stallman在1984年创建

GPL:General Public License

Linux

LInux是一种操作系统

1991年,芬兰赫尔幸基大学的学生Linus Torvals 为了能在家里的PC机上使用与学校一样的操作系统,开始编写了类UNIX。

Linux发行版本

Solaris,debian,redhat,ubuntu,SUSE,deepin等多个版本。deepin是国产深度操作系统。在国内用做服务器的大部分是redhat,centos,桌面版多半是ubuntu,零基础推荐深度系统(deepin)。

Linux体系结构

Linux操作系统的组件


选择命令终端窗口

目前,在桌面环境下的命令终端仿真器程序有很多,它们各有特色,都拥有各自的用户群。目前流行的终端窗口有:Xterm、Gnome-terminal、Konsole、Rxvt等。

Ubuntu默认安装的命令终端有Gnome-terminal、Xterm。

流行的两种软件包管理机制

Debian Linux首先提出的“软件包”的管理机制———Deb软件包

将用用程序的二进制文件、配置文档、main/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作。

Redhat Linux基于这个理念推出了自己的软件包管理机制———Rpm软件包

随着Linux操作系统规模的不断扩大,系统中软件包间复杂的依赖关系,导致Linux用户麻烦不断。

Debian Linux开发出了APT软件管理器

APT工具再次促进了Deb软件包更为广泛地使用,成为Debian Linux的亮点。

软件包类型

ubuntu有两种类型的软件包:

二进制软件包:它包含可执行文件、库文件、配置文件、man/info页面、版权声明和其它文档。

源码包:包含软件源代码、版本修改说明、构建指令以及编译工具等。先由tar工具归档为.tar.gz文件,然后再打包成.dsc文件。

在linux上无法根据后缀名来判断文件类型,使用file命令查看文件类型。

软件包的命名

Filename_Version-Reversion_Architecture.deb

软件包名称_软件版本-修改版本_体系架构

dpkg命令

dpkg -i 软件包名称.deb

参数 说明
-i 安装一个在本地文件系统上存在的Debian软件包
-r 移除一个已经安装的软件包
-P 移除已安装软件包及配置文件
-L 列出安装的软件包清单
-s 显示软件包的安装状态

APT工作原理

Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许多的镜像服务器中,并保持基本一致。镜像服务器就是用户软件园(reposity)。

在ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最合适访问的镜像站点地址。

软件源配置文件只是告知ubuntu系统可以访问的镜像站点地址。但那些镜像站点拥有什么软件源并不清楚。为这些软件资源列一个清单(建立索引文件),以便本地主机查询。这就是APT软件包管理器的工作原理。

软件源

根据软件包的开发组织对该软件的支持程度,以及遵从的开源程度,划分为四类:

刷新软件源

修改了配置文件——/etc/apt/sources.list,目的只是告知软件源镜像站点的地址。但那些所指向的镜像站点所具有的软件资源并不清楚,需要将这些资源列个清单,以便本地主机知晓可以申请哪些资源。

使用"apt-get update"命令会扫面每个软件源服务器,并为该服务器所具有软件包资源建立索引文件,存放在本地的/var/lib/apt/lists/目录中。

子命令 描述
update 下载更新软件包列表信息
upgrade 将系统中所有软件包升级到最新的版本
install 下载所需软件包并进行安装配置
remove 卸载软件包
autoremove 将不满足依赖关系的软件包自动卸载
source 下载源码包
build-dep 为源码包构建所需的编译环境
dist-upgrade 发布版升级
clean 删除缓存区中所有已下载的包文件

修复软件包依赖关系

由于故障而中断软件安装过程,可能会造成关联的软件只有部分安装之后,用户就会发现该软件既不能重装又不能删除。

apt-get check检查软件包依赖关系

apt-get -f install修复依赖关系

在处理依赖关系上,apt-get会自动下载并安装具有依赖关系的软件包,但不会处理与安装软件包存在推荐和建议关系的软件包。

安装软件包

使用#apt-get install下载软件包分为四步:在使用时无需考虑软件包的版本、优先级、依赖关系等。

  1. 扫描本地存放的软件包更新列表  #apt-get update

  2. 进行软件包依赖关系检查,找到支持该软件正常运行的所有软件包

  3. 从软件源所指的镜像站点中下载相关软件包

  4. 解压软件包,并自动完成应用程序的安装和配置

重新安装软件包

#apt-get install 软件包名称 --reinstall

卸载软件包

不完全卸载

apt-get remove 软件包名称会关注那些与被删除的软件包相关的其他软件包,删除一个软件包时,将会连带删除与该软件包有依赖关系的软件包。

完全卸载

apt-get --purge remove 软件包名称命令在卸载软件包的同时,还删除该软件包所使用的配置文件。

查询软件包描述信息

使用#apt-cache show 软件包名称命令获取指定软件包的详细信息,包括软件包安装状态、优先级、适用架构、版本、存在依赖关系的软件包,以及功能描述。该命令可以同时显现多个软件包的详细信息。

获取软件包安装状态

使用“apt-cache policy 软件包名称”可以获取软件包当前的安装状态

上一篇 下一篇

猜你喜欢

热点阅读