Linux学习教程(第二章 Linux系统安装)2

第二章 Linux系统安装

四、使用U盘安装Linux系统

前面章节介绍了如何通过虚拟机 VMware 安装 Linux 系统,而实际开发中,我们更多的是要将 Linux 系统直接安装到电脑上。

直接在电脑上安装 Linux 系统的常用方法有 2 种,分别是用光盘安装和用 U 盘(包括移动硬盘)安装。但由于光盘介质不方便携带、多数电脑不自带光驱等因素,这种安装方式正逐渐退出历史舞台,所以本节讲解如何使用 U 盘安装 Linux 系统。

U盘安装Linux系统

1、前期准备

使用 U 盘安装 Linux 系统,需要准备以下工具:

  • 大容量的U盘(安装 CentOS 6.x 系统,U 盘容量至少 8 G);
  • UltraISO 工具,用来制作 U 盘启动盘。除此之外,由于 UltraISO 工具是 Windows 软件,所以需要一台安装了 Windows 系统的计算机协助;
  • CentOS 6.x 系统的 ISO 映像文件。

这里所使用的 UltralISO 只是制作 U 盘启动盘的工具之一,除此之外,还可以选择大白菜、老毛桃等软件,都可实现一键快速制作 U 盘启动盘。

2、U 盘安装 Linux 系统

U 盘安装 Linux 系统需经过以下几步:

  1. 在装有 Windows 系统的电脑上下载和安装 UltraISO 软件。
  2. 用安装好的 UltroISO 制作 U 盘启动盘,具体操作为:
    • 将 U 盘通过 USB 口插到计算机上;
    • 启动 UltraISO 软件,依次选择 "文件->打开" 命令,找到已下载的 CentOS 6.x 安装映像文件(iso 文件);
    • 选择“启动->写入硬盘映像”命令,打开 "写入硬盘映像" 对话框,在 "硬盘驱动器" 下拉列表框中选择你的 U 盘(注意不要选错,因为这一步对 U 盘进行格式化操作)。"写入方式" 选择 "USB-HDD +",然后单击 "写入" 按钮,等待写入完成,如图 1 所示。

    图 1 写入硬盘映像

  3. 安装 CentOS 6.x:
    • 插入 U 盘,设定 U 盘为第一个启动设备,重启之后出现安装界面。
    • 选择第一项“Install  or upgrade an existing system (安装或升级现有系统)”,进入安装语言选择界面,如图 2 所示。

      图 2 安装语言选择

    • 选择 "简体中文",选择 "OK",出现键盘选择界面。这里默认选择 "US" 美式标准键盘,选择 "OK",出现安装方法界面,如图 3 所示。

      图 3 安装方法

    • 选择 "Harddrive (硬盘驱动)",选择 "OK",进入选择分区界面。这里分区使用 "/dev/sdb4" 代表 U 盘分区。"Directory holding image" 项用于搜索 U 盘 image 目录下的 install.img 文件,不用填写,系统会自动搜索,如图 4 所示。

      图 4 选择分区

    • 选择"OK",进入图形安装界面。

之后的安装过程就比较简单了,在此不再赘述。

五、使用dd命令安装Linux系统

面对大批量服务器的安装,人们往往热衷于选择“无人值守安装”的方式,而此方式需要对服务器进行过多的配置,并不适合初学者。

无人值守安装(Kickstart),又称全自动安装,其工作原理是,创建一个名为 ks.cfg 的文件记录 Linux 系统在安装过程中需要人工干预填写的各种参数,当安装过程中出现要填写参数时,安装程序会自行去 ks.cfg 文件中查找合适的参数,如果没找到,还是需要手工干预。因此,在 ks.cfg 文件涵盖安装过程所有可能需要填写的参数的前提下,安装者只需要告诉安装程序 ks.cfg 文件的位置,就可实现全自动安装。

本节介绍使用 dd 命令实现硬盘复制,间接实现安装 Linux 系统的方法,此方式类似 Windows 下用 GHOST 软件进行硬盘克隆。

首先,我们先来系统了解一下  dd 命令。

对于初学者来说,本节内容可在掌握常用 Linux 命令后再行学习。

1、Linux dd 命令是什么

dd 命令是用来复制文件的命令,它可以用指定大小的数据块复制一个文件,并在复制的同时进行指定的转换。简单地理解,dd 命令可用于进行两块硬盘之间的复制(完整复制出一块和原系统盘一样的硬盘)。

dd 命令的格式如下:

[root@localhost ~]# dd if=输入文件 of=输出文件 bs=字节数 count=个数

选项:

  • if=输入文件:指定源文件或源设备;
  • of=输出文件:指定目标文件或目标设备;
  • bs=字节数:指定一次输入/输出多少字节,即把这些字节看作一个数据块;
  • count=个数:指定输入/输出多少个数据块;

【例 1】

[root@localhost ~]# dd if=/dev/zero of=/root/testfile bs=1k count=100000

#创建一个100MB大小的文件testfile,/dev/zero是一个输入设备,可以使用它来初始化文件,该设备无穷尽地输出0,可以理解为向testfile中不停地写0,直到写满100MB;

【例 2】

[root@localhost ~]# dd if=/dev/sda of=/dev/sdb

#把第一块硬盘中的数据复制到第二块硬盘中

【例 3】

[root@localhost ~]# dd if=/dev/hda of=/root/image

#把第一块硬盘中的数据复制到image文件中

使用 dd 命令复制硬盘,需满足以下两个前提条件:

  1. 需要批量复制的服务器硬件配置一致。通常,采购服务器都是批量采购的,服务器的配置都是一样的。
  2. 复制硬盘的时候,需要手工更换被复制盘。服务器上一般都是 SCSI 硬盘,SCSI 硬盘支持热插拔,而且不需要拆卸机箱,更换被复制盘非常方便。

实际上,笔者当年维护大批量服务器时采用的就是 dd 复制,而不是无人值守安装。

2、dd命令安装Linux详细步骤

通过以上的学习我们知道,使用 dd 命令安装 Linux,实际上就是硬盘之间的完整拷贝,其实现过程如下:

  1. 把母盘插入服务器的第一个硬盘插口,把被复制盘插入服务器的第二个硬盘插口,注意不要插反。
  2. 执行复制命令 dd if=/dev/sda of=/dev/sdb。在 dd 命令中,if 指定复制源,of 指定复制目标。/dev/sda 代表第一块 SCSI 盘,/dev/sdb 代表第二块 SCSI 盘。这条命令会把第一块硬盘中的数据完整地复制到第二块硬盘中。

经过以上两步,即可实现将服务器之间的复制。那么,此方法的效率如何呢?由于复制的速度和服务器的配置及安装软件的多少相关,因此每台服务器的复制时间约为15〜25分钟,效率还可以接受。

选择无人值守安装的方式,也要受到服务器端配置和网络带宽的影响,而且硬盘复制也可以多台服务器同时操作。

六、使用LiveCD从光盘直接运行Linux,无需安装

Linux 世界中一个相对较新的现象是可引导的 Linux CD 发行版的出现。它无需安装就可以看到 Linux 系统是什么样的。

多数现代 PC 都能从 CD 启动,而不是必须从标准硬盘启动。基于这点,一些 Linux 发行版创建了含有 Linux 样本系统的可引导 CD,称为 Linux LiveCD

由于单张 CD 容量的限制,这个样本并非完整的 Linux 系统,不过令人惊喜的是,你可以自己加入各种软件。结果就是,你可以通过 CD 来启动 PC,并且无需在硬盘安装任何东西就能运行 Linux 发行版。

这是一个不弄乱 PC 就体验各种 Linux 发行版的绝妙方法。只需插入 CD 就能引导了!所有的 Linux 软件都将直接从 CD 上运行。你可以从互联网上下载各种 Linux LiveCD,刻录,然后体验。下表列出了一些可用的流行 Linux LiveCD。

Linux LiveCD 发行版

发行版说明
Knoppix来自德国的一款 Linux 发行版,也是最早的 LiveCD Linux。
PCLinuxOS一款成熟的 LiveCD 形式的 Linux 发行版。
Ubuntu为多种语言设计的世界级 Linux 项目。
Slax基于 Slackware Linux 的一款 LiveCD Linux。
Puppy Linux为老旧 PC 设计的一款全功能 Linux。

你能在这张表中看到熟悉的面孔。许多特定用途的 Linux 发行版都有对应的 Linux LiveCD 版本。

一些 Linux LiveCD 发行版,比如 Ubuntu,允许直接从 LiveCD 安装整个发行版。这使你可以从 CD 引导启动,先体验一下此 Linux 发行版,如果喜欢的话,再把它安装到硬盘上。这个功能极其方便易用。

就像所有美好的事物一样,Linux LiveCD 也有一些不足之处。由于要从 CD 上访问所有东西,应用程序会运行得更慢,而如果再搭配上陈旧缓慢的 PC 和光驱,那更是慢上加慢。还有,由于无法向 CD 写入数据,对 Linux 系统作的任何修改都会在重启后失效。

不过,有一些 Linux LiveCD 的改进帮助解决了上述一些问题。这些改进包括:

  • 能将 CD 上的 Linux 系统文件复制到内存中;
  • 能将系统文件复制到硬盘上;
  • 能在U盘上存储系统设置;
  • 能在U盘上存储用户设置。

一些 Linux LiveCD,如 Puppy Linux,只包含最少数量的 Linux 系统文件。当 CD 引导启动时,LiveCD 的启动脚本直接把它们复制到内存中。这允许在 Linux 启动后立即把 CD 从光驱中取走。这不仅提高了程序运行速度(因为程序从内存中运行时更快),而且还空出了 CD 光驱,供你用 Puppy Linux 自带的软件转录音频 CD 或播放视频 DVD。

其他 Linux LiveCD 用另外的方法,同样允许你在启动后将 CD 从光驱中拿走。这种方法是将核心 Linux 文件作为一个文件复制到 Windows 硬盘上。待 CD 启动后,系统会寻找那个文件,并从中读取系统文件。dyne:bolic Linux LiveCD 采用的就是这种技术,我们称之为“对接”。当然,你必须在从 CD 引导启动之前把系统文件复制到硬盘里。

一种非常流行的技术就是用常见的U盘(也称为闪存或闪盘)来存储 Linux LiveCD 会话数据。几乎每个 Linux LiveCD 都能识别插入的U盘(即使是在 Windows 下格式化的)并从U盘上读写文件。

这允许你启动 Linux LiveCD,使用 Linux 应用来创建文件,再将这些文件存储在U盘上,然后用 Windows 应用(或者在另外一台电脑上)访问这些文件。这该有多酷!

七、为什么建议使用虚拟机来安装Linux?

笔者认为,通过虚拟机软件学习是初学者学习 Linux 的最佳方式。

在与部分读者的交流中,笔者发现,很多初学者都认为,学习 Linux 就必须将自己的电脑装成 Linux 系统或者必须要有真正的服务器设备。而实际上,这是一些机构、书籍或网络文章给大家传导的错误思想。

其实,学习 Linux 最简单、最实用的环境就是虚拟机环境(例如,通过 VMware Workstation 软件学习),这样说的原因有如下几点。

1) 利用虚拟机软件搭建 Linux 学习环境简单,容易上手,最重要的是利用虚拟机模拟出来的 Linux 与真实的 Linux 几乎没有区别,而购买服务器动则就要一两万元人民币,不是一般的初学者所能承受的,且声音很大,也很费电。

如果用 PC 和笔记本搭建 Linux(包括双系统共存方式),那就完全是 Linux 环境了,这样做不但加大了你的学习难度(例如,没法用 Word 等记笔记,以及正常浏览网页),也与实际的工作环境相差很远,而用虚拟机软件来搭建环境是最接近企业工作环境的。

企业里运维人员的工作环境绝大多数都是在 Windows 桌面系统下通过 SSH 工具(SecureCRT/Xshell)远程连接千百里之外的 Linux 服务器进行管理和维护的

2) 搭建 Linux 集群等大规模环境,有时需要同时开启几台虚拟机(每台虚拟机仅需 256~512MB 内存、6~8GB 的硬盘空间即可),此时如果是用服务器或者自己的电脑安装 Linux,则很难满足学习要求,购买多台服务器就更不现实了。

事实上,仅仅利用价值四五千元人民币的个人笔记本电脑,就可以轻松实现搭建中小规模 Linux 集群架构的学习需求了。这里所谓的集群,简单理解,就是将多个计算机做为一个整体,向用户提供服务。

3) 用虚拟机学习,如果电脑配置高一点,那么可以同时开启多个 Linux 虚拟机学习,上班、回家的路上,带着笔记本电脑即可随时学习,如果是多台真实电脑和服务器设备,就没法移动了。当然有读者会说可以放机房里,但这个代价也太大了。大多数学习者很难有这样的资源。

4) 使用虚拟机系统环境,我们可以对虚拟系统随意进行任何的设置和更改操作,甚至可以格式化虚拟机系统硬盘,进行重新分区等操作,而且完全不用担心会丢掉有用的数据,因为虚拟机是系统上运行的一个虚拟软件,对虚拟机系统的任何操作都相当于是在操作虚拟机的虚拟机设备和系统,不会影响电脑上的真实数据。

综上所述,笔者给大家的建议就是,踏实地用虚拟机学习就足够了,不要为自己设置太多的限制和门槛,否则可能会影响学习 Linux 的进度,从而丧失学习 Linux 的兴趣。

初学者应选择哪款虚拟机软件?

如果你使用的是 Windows 系统,那么笔者推荐使用 VMware WorkStation;如果使用的是 MacOS 平台,则推荐选择 Virtual PC;如果使用的是 CentOS 系统,则推荐选择 VMware(Linux 版本)或者 KVM。

本教程以在 Windows 系统上安装 VMware WorkStation 的方法,给大家讲解 Linux,而具体的安装过程会在后续章节中作详细讲解。

八、Linux单用户模式(修改密码、运行级别)方法详解

很多新手当面对“忘记 root 账户密码导致无法登陆系统”这个问题时,直接选择重新系统。其实大可不必,我只需要进入 emergency mode(单用户模式)更新 root 账户的密码即可。

Linux 的单用户模式有些类似 Windows 的安全模式,只启动最少的程序用于系统修复。在单用户模式(运行级别为 1)中,Linux 引导进入根 Shell,网络被禁用,只有少数进程运行。

单用户模式可以用来修改文件系统损坏、还原配置文件、移动用户数据等。

1、如何进入单用户模式

现在,我们假设系统出现了问题,已经不能正常登录了。那么,如何进入单用户模式呢?

首先需要重启服务器,在 GRUB 读秒界面按任意键,进入 GRUB 菜单界面,如图 1 所示。

GRUB菜单界面

图 1 GRUB菜单界面

在想要进入单用户模式的 Linux 菜单上按"e"键,就会进入 GRUB 编辑界面,如图 2 所示。

GRUB编辑界面

图 2 GRUB编辑界面

在 GRUB 编辑界面中,移动光标到第二行 kernel 行,然后继续按"e"键,进入行编辑界面。在此行最后输入"空格 single",代表启动进入单用户模式(注意:空格必须存在),如图 3 所示。

GRUB行编辑界面

图 3 GRUB行编辑界面

然后按回车键,就会回到上一个界面,如图 2 所示。再按"b"键(启动),就会启动进入单用户模式。单用户模式是不需要输入用户名和密码就能直接进入提示符界面的,如图 4 所示。

单用户模式提示符界面

图 4 单用户模式提示符界面

我们已经登录了 Linux 系统的单用户模式,而且是不需要输入用户名和密码就可以直接进入的。这时如果有系统问题,就可以在单用户模式中进行修复了。

2、单用户模式常见的错误修复

我们已经进入了单用户模式,那么我们在单用户模式中主要可以修复哪些系统错误呢?下面举几个例子。

(1)遗忘root密码

这是管理员最容易犯的错误,应该如何修复呢?当然是使用单用户模式进行修复了,因为进入单用户模式的最大特点就是不需要输入用户名和密码。既然已经登录了单用户模式,那么直接给 root 用户设定新密码即可。 命令如下:

[root@localhost /]# passwd root

运行效果如图 5 所示。

单用户模式修改 root 密码

图 5 单用户模式修改 root 密码

(2)修改系统默认运行级别

如果我们把系统的默认运行级别修改错误,比如改为了 0 或 6,系统就不能正常启动了。这时也可以利用单用户模式进行修复,只需直接修改默认运行级别配置文件 /etc/inittab,把系统默认运行级别修改回来即可。命令如下:

[root@localhost /]# vi /etc/inittab
id:3:initdefault:
#把默认运行级别修改为3或5。注意:系统的默认运行级别只能使用3或5

理论上,只要能够进入单用户模式,那么系统错误就可以在单用户模式中进行修复。当然,判断系统到底哪里出现了问题,是需要大量的经验积累的。

九、Linux rescue救援(光盘修复)模式详解

如果系统错误已经导致单用户模式不能进入了,那么是否需要重新安装 Linux 系统?不用着急,为了应对单用户模式也无法修复的错误,Linux 系统提供了 rescue 救援(光盘修复)模式。

rescue 救援模式的原理是不再使用硬盘中的文件系统启动 Linux,而是使用光盘中的文件系统启动 Linux。这样,就算硬盘中的 Linux 系统已经不能登录了(单用户也不能登录),rescue 救援还是可以使用的。当然,此模式也不是万能的,这时就只能重新安装  Linux 系统了。

1、如何进入rescue模式

首先需要有系统光盘或系统修复光盘。这里只需要把 CentOS 6.x 的第一张光盘放入光驱,然后重启系统,修改 BIOS 的启动顺序,让系统从光盘启动,就会看到如图 1 所示的光盘启动界面。

图 1 光盘启动界面

在这个界面上选择 "Rescue installed system" 进入rescue 救援,然后系统就会提示选择语言,如图 2 所示。

图 2 语言选择界面

选择 "English",接下来就会让我们选择键盘,如图 3 所示。

图 3 键盘选择界面

选择 "US",即美式标准键盘,之后会进入选择修复模式所在介质界面,如图 4 所示。

图 4 选择修复模式所在介质界面

选择光盘介质,然后确定,就会进入网络配置界面,如图 5 所示。

图 5 网络配置界面

选择"No",即不启用网络配置,就会进入 Rescue 模式选择界面,如图 6 所示。

图 6 Rescue模式

选择 "Continue" 进入光盘修复模式,在之后弹出的界面中选择 "OK",就会进入启动功能选择界面,如图 7 所示。

图 7 启动功能选择界面

选择 "shell Start shell",就会进入光盘修复模式,看到命令提示符。

2、rescue模式常见的错误修复

利用 rescue 救援模式,主要可以修复什么错误呢?其实能在单用户模式中修复的错误都能在该模式中修复,当然还可以修复一些在单用户模式中无法修复的错误。

(1) 多系统并存,GRUB被覆盖

还记得在前面章节中讲解的手工安装 GRUB 吗?有一种情况就是先安装 Linux,后安装 Windows,导致 MBR 中的启动引导程序被 Windows 引导程序覆盖,需要重新安装 GRUB 引导程序。

重新安装 GRUB 的过程已经讲过了,但是重新安装 GRUB 的命令需要在 rescue 模式中执行。我们重新写一遍覆盖安装 GRUB 的过程,如下:

#放入光盘重启,进入 rescue 模式
sh-4.1#grub
#启动GRUB交互界面。注意到了吗?提示符不一样了,那是因为从光盘启动了系统,所以环境变量配件文件没有生效
gmb> root (hd0.0)
#设置GRUB的主目录
grub>setup (hd0)
#因为直接把GRUB安装到MBR中,所以不需要指定分区
grub> quit
#退出

这样GRUB覆盖安装的实验才算完成了。

(2) 重要系统文件丢失,导致系统无法启动

如果系统中的重要系统文件丢失,则会导致系统无法正常启动,这时也可以利用 rescue 模式来进行修复。我们假设 /etc/inittab 文件丟失了,通过系统启动过程知道这个文件是于定义系统默认运行级别的,如果丟失了这个文件,那么系统当然不能正常启动,这时就需要进入 rescue 模式中,然后执行 chroot 命令。命令格式如下:

[root@localhost ~]#chroot 目录名

chroot 命令的作用是改变系统根目录,也就是可以把根目录暂时移动到某个目录当中。我们是通过光盘启动的 rescue 模式,所以我们现在所在的根目录并不是真正的系统根目录,而是光盘的模拟根目录,真正的系统根目录被当成外来设备放在了 /mnt/sysimage/ 目录中。

这时,就需要使用 chroot 命令把我们现在所在的根目录改成真正的系统根目录。命令如下:

bash-4.1# chroot /mnt/sysimage

执行这条命令之后,当前的根目录就是真正的系统根目录了。如果系统有任何错误,则可以直接修复。比如 /etc/inittab 文件丟失了。这时如果我们备份过系统重要文件,那么只需要把备份文件复制到 /etc/ 目录下即可。如果没有备份的文件,就需要从 RPM 包中提取 inittab 文件,然后复制。具体命令如下:

bash-4.1# chroot /mnt/sysimage
#改变主目录
sh-4.1#cd/root
#进入root目录。因为默认进入的是/目录,所以如果不进入root目录,那么一会提取的inittab文件会报错
sh-4.1# rpm -qf /etc/inittab
initscripts-9.03.31-2.el6.centos.i686
#查询一下/etc/inittab文件属于哪个包。如果系统中文件丢失不能查询,则需要通过其他Linux系统查询
sh-4.1# mkdir /mnt/cdrom
#建立挂载点
sh-4.1# mount /dev/sr0 /mnt/cdrom
#挂载光盘
sh-4.1# rpm2cpio /mnt/cdrom/Packages/initscripts-9.03.31-2.el6.centos.i686.rpm|cpio -idv ./etc/inittab
#提取inittab文件到当前目录
sh-4.1# cp etc/inittab /etc/inittab
#复制inittab文件到指定位置

注意,在执行此命令时不能将文件直接恢复到 /etc/ 目录,只能提取到当前目录,且恢复的文件名称所在路径要写完整的绝对路径。提取文件成功后,将其复制到根分区所在的 /mnt/sysimage/ 目录下的相应位置即可。

系统修复模式是维护 Linux 的有力武器,本节通过两个例子讲解了它的应用方法,希望能够给读者一点启示。解决 Linux 系统启动的故障,必须充分理解 Linux 的引导过程,才能够对故障进行有效的判断和处理。

十、Linux系统安全性分析

很多人看到系统修复模式这节内容时,都会有所感慨:Linux 的密码破解太容易了,这样的操作系统还安全吗?Linux 不是以安全性著称的吗?

图 1 密码安全

本节,我们结合图 1 解释一下类似的问题。

我们一开始始为了安全,给用户设定密码,但是这样密码可以很容易地被单用户模式破解。我们又想到,进入单用户模式,需要在 GRUB 启动界面上按"e"键,那么我们就给 GRUB 加密,必须输入正确的 GRUB 密码,才能进入 GRUB 的编辑界面,这样就保证了用户密码的安全。

不过,GRUB 加密是可以通过进入光盘修复模式,直接删除 GRUB 配置文件中的 password 行而被破解的。接着我们又想到,进入光盘修复模式,是需要通过光盘启动系统的,那么我们给 BIOS 加密,这样就必须输入正确的 BIOS 密码,才能修改光盘的启动顺序。但是 BIOS 加密是可以通过拔除主板电池而删除的。那我们只能把服务器机箱锁起来,但只是一把锁而已,完全可以被螺丝刀撬开!

其实,这里是大家对概念的理解有误。任何一个需要密码的设备,不论是 Windows、Linux、交换机、路由器,还是一个需要密码的软件,都必须留有破解密码的漏洞。如果我们的计算机没有破解密码的方法,那么万一忘记了计算机的密码,难道要重新买一台吗(如果忘记了 BIOS 密码,又不能破解,当然不能重新安装系统了)?

当然不能是这样的,所以这些漏洞是必须预留的。这些漏洞是不会影响系统安全的,因为我们可以拿到计算机本身。如果我们能够拿到计算机,就认为我们对这台计算机拥有所有权。我们所说的安全性主要是指在对计算机没有所有权时要保证绝对安全。

而且大家要注意,如果 root 没有密码,那么本机登录是没有任何问题的,但是不可能远程登录。所以我们所说的安全性主要针对的是网络安全。

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

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

相关文章

软件自动化测试平台

软件测试分类黑盒、白盒、功能、API、接口、压力测试和性能测试, 自动化测试平台是一种用于自动化执行软件测试过程的工具。 一、自动化测试平台-功能性 1. 接口自动化:对接软件的接口进行测试,验证接口的功能和性能。 2. Web 自动化&…

了解项目管理软件的功能和用途

数字化办公、无纸化办公的概念越来越火,项目管理软件也一跃成为了热门话题。项目管理软件到底什么?项目管理软件是不是项目团队才用得到?项目管理软件都能干什么?今天一篇文章让你对项目管理软件不再迷茫。 什么是项目管理软件&a…

优化编辑距离以测量文本相似度

一、说明 编辑距离是一种文本相似度度量,用于测量 2 个单词之间的距离。它有许多方面应用,如文本自动完成和自动更正。 对于这两种用例中的任何一种,系统都会将用户输入的单词与字典中的单词进行比较,以找到最接近的匹配项&#x…

Seata之TCC模式解读

目录 基本介绍 起源 概述 案例流程分析 TCC注意事项 空回滚 幂等 悬挂 具体使用 LocalTCC TwoPhaseBusinessAction 小结 基本介绍 起源 关于TCC的概念,最早是由Pat Helland于2007年发表的一篇名为《Life beyond Distributed Transactions:an Apost…

《网络协议》05. 网络通信安全 · 密码技术

title: 《网络协议》05. 网络通信安全 密码技术 date: 2022-09-10 15:16:15 updated: 2023-11-12 07:03:52 categories: 学习记录:网络协议 excerpt: 网络通信安全(ARP 欺骗,DoS & DDoS,SYN 洪水攻击,LAND 攻击&a…

2个器件,做1个恒流源

在项目中经常要用到恒流源,查找资料可以使用电压源芯片LM317构造一个电流源芯片。本文将电压源加上一个电阻改为电流源,这种设计思路可以扩展到其他类型的电源芯片上,如开关电源及其他类型的线性电源,关键点在于基准电压VREF的使用…

数据库 关系数据理论

问题 数据冗余更新异常插入异常删除异常 一个好的模式应当不会发生插入异常、删除异常和更新异常,数据冗余应尽可能少 数据依赖 定义:一个关系内部属性与属性之间的一种约束关系(该约束关系是通过属性间值的相等与否体现出来数据间相关联…

git02->gui图形化界面使用,ssh协议,idea集成GIT

gui图形化界面使用ssh协议idea集成GIT 1.gui图形化界面使用 2.ssh协议 git/github生成密钥并通过 操作分为本地电脑配置和github网站配置 第一步:本地电脑配置 右键空白处,选择Git Bash Here打开相关命令窗口 1.配置用户名和邮箱(如果已经配…

Go 14岁了

今天我们庆祝Go开源十四周年!Go度过了美好的一年,发布了两个功能齐全的版本和其他重要的里程碑。 我们在2月份发布了Go 1.20,在8月份发布了Go 1.21,更多地关注实现改进而不是新的语言更改。 在Go 1.20中,我们预览了配置…

基于多尺度分形残差注意力网络的超分辨率重建算法

1.引言 深度神经网络可以显著提高超分辨率的质量,但现有方法难以充分利用低分辨率尺度特征和通道信息,从而阻碍了卷积神经网络的表达能力。针对此类问题,本章提出了一种多尺度分形残差注意力网络(Multi-scale Fractal Residual A…

优秀智慧园区案例 - 深圳特区建发创智云城智慧园区,万字长文解析先进智慧园区建设方案经验

一、项目背景 1、项目背景 创智云城项目位于大湾区核心城市之一的深圳,且地处GDP第一的科技创新核心区——南山区,136万㎡新兴产业智慧之城矗立于湾区核心创新高地。项目所处西丽湖国际科教城,最具发展潜力,规划全域面积约57平方…

JavaWeb Day09 Mybatis-基础操作02-XML映射文件动态SQL

目录 Mybatis动态SQL介绍​编辑 一、案例 ①Mapper层 ②测试类 ③EmpMapper.xml ④结果​ 二、标签 (一)if where标签 ​①EmpMapper.xml ②案例 ③总结 (二)foreach标签 ①SQL语句 ②Mapper层 ③EmpMapper.xml ④…

N-133基于springboot,vue小说网站

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plus 本项…

141.环形链表(LeetCode)

想法一 快慢指针,设置slow和fast指针,slow一次走一步,fast一次走两步,如果链表有环,它们最终会相遇,相遇时返回true;如果链表无环,它们最终走到空,跳出循环,…

企业邮箱本地私有化部署解决方案

随着互联网化进程不断深入,加快推进企业信息化系统建设,已经成为提高企业核心竞争力的重要途径。企业对企业邮箱系统的需求越来越大,企业邮箱系统作为企业级通讯工具中的利器,在协同办公和内外业务交流上发挥着无可替代的巨大作用…

国际阿里云:Windows系统ECS实例中CPU使用率较高问题的排查及解决方案!!

问题现象 Windows系统ECS实例中CPU使用率较高,即CPU使用率≥80%。 问题原因 CPU使用率较高可能有以下原因。 ECS实例遭到病毒木马入侵。 ECS实例中第三方杀毒软件运行。 ECS实例中应用程序异常、驱动异常、高I/O使用率或高中断处理的应用程序。 解决方案 步骤…

[工业自动化-13]:西门子S7-15xxx编程 - 分布式从站 - 硬件配置

目录 前言: 一、通过博图软件完成对ET200 SP分布式从站的硬件配置 二、从站组态配置的常见问题与解决 三、分布式从站与CPU的profiNet连接 3.1 概述 3.2 配置主站与从站的profinet连接 四、Profinet和普通以太网区别 4.1 概述 4.2 协议栈 五、主站与从站连…

将复数中的虚部取反 即对复数求共轭 numpy.conjugate()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将复数中的虚部取反 即对复数求共轭 numpy.conjugate() [太阳]选择题 请问以下代码中执行语句输出结果是? import numpy as np a np.array([1 2j, 3 - 4j]) print("【显示…

图论13-最小生成树-Kruskal算法+Prim算法

文章目录 1 最小生成树2 最小生成树Kruskal算法的实现2.1 算法思想2.2 算法实现2.2.1 如果图不联通,直接返回空,该图没有mst2.2.2 获得图中的所有边,并且进行排序2.2.2.1 Edge类要实现Comparable接口,并重写compareTo方法 2.2.3 取…

SAM + YOLO 智能抠图

在计算机视觉领域,对象检测和实例分割是使机器能够理解视觉数据并与之交互的关键任务。 准确识别和隔离图像中的物体的能力具有许多实际应用,从自动驾驶车辆到医学成像。 在这篇博文中,我们将探索如何在 Roboflow 和 Ultralytics YOLOv8 的帮…