目录
49.解释如何在Ubuntu? LAMP堆栈上启用curl?
51.如何在启动Linux服务器的同时在后台运行Linux程序?
要在Linux中将一个文件附加到另一个文件,你可以使用命令cat? file2>> file1.operator>>附加指定文件的输出或创建文件(如果未创建)。
而另一个命令cat文件1文件2>文件3将两个或者多个文件附加到一个文件。
要查找文件,你必须使用命令,查找find -name? "process.txt"
他将查找名为process.txt的文件的当前目录。
要创建文件夹,你必须使用命令mkdir。
他将是这样的:~$ mkdir Guru99
要查看文本文件,请使用命令cd转到文本文件所在的特定文件夹,然后键入less? filename.txt。
要在Ubuntu上启用curl,首先安装libcurl,完成后使用以下命令sudo /etc/init.d/apache2 restart 或sudo? ?service apache2? restart。
启用root日志记录的命令是
通过使用nohup。他将停止接收NOHUP信号的进程,从而终止他,你注销了调用的程序。并在后台运行该过程。
要在Linux中卸载库,可以使用命令:
在计算机技术中,虚拟化(Virtualization)是一种资源管理技术。他是将计算机的各种实体资源,如:服务器,网络,内存以及存储等,予以抽象,转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用更好的方式来利用这些资源。
虚拟化的目的是为了在同一个主机上运行多个系统或者应用,从而提高系统资源的利用率,并带来降低成本,方便管理和容错容灾等好处。
硬件虚拟化
硬件虚拟化就是硬件物理平台本身提供了对特殊指令的截获和重定向的支持。支持虚拟化的硬件,也是一些基于硬件实现软件虚拟化技术的关键。在基于硬件实现软件虚拟化的技术中,在硬件是实现虚拟化的基础,硬件(主要是CPU)会为虚拟化软件提供支持,从而实现硬件资源的虚拟化。
软件虚拟化
软件虚拟化就是利用软件技术,在现有的物理平台上实现对物理平台访问的截获和模拟。在软件虚拟化技术中,有些技术不需要硬件支持,如:QEMU;而有些软件虚拟化技术,则依赖硬件支持,如:VMware,KVM
Docker是一个开源的应用容器引擎,他让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到安装了任何Linux发型版本的机器上。Docker基于LXC来实现类似VM的功能,可以在更有限的硬件资源上提供给用户更多计算资源。与桶VM等虚拟化的方式不同,LXC不属于全虚拟化化,部分虚拟化或半虚拟化中任何一个分类,而是一个操作系统级虚拟化。
Docker是直接运行在宿主操作系统之上的一个容器,使用沙箱机制完全虚拟出一个完整的操作,容器之间不会有任何接口,从而让容器与宿主机之间,容器与容器之间隔离的更加彻底。每个容器会有自己的权限管理,独立的网络与存储栈,以及自己的资源管理能,使同一台宿主机上可以友好的共存多个容器。
Docker借助Linux的内核特性,如:控制组(Control Group),命名空间(NameSpace)等,并直接调用操作系统的系统调用接口,从而降低每个容器的系统开销,并实现降低容器的复杂度,启动快,资源占用小等特征。
虚拟机Virtual? Machine和容器化技术(代表Docker)都是虚拟化技术,两者的区别在于虚拟化的程度不同。
举个例子:
1.服务器:比作一个大型的仓管基地,包含场地与零散的货物-相当于各种服务器资源。
2.虚拟化技术:比作仓库,拥有独立的空间堆放各种货物或者集装箱,仓库之间完全独立-仓库相当于各种系统,独立的应用系统和操作系统。
3.Docker:比作集装箱,操作各种货物的打包-将各种应用程序和他们所依赖的运行环境打包成标准的容器,容器之间隔离。
1.虚拟机管理系统(Hypervisor)。利用Hypervisor,可以在主操作系统之上运行多个不同的从操作系统。类型1的Hypervisor有支持MacOS的HyperKit,支持Windows的Hyper-V以及支持Linux的KVM。类型2的Hypervisor有VirtualBox和VMWare。
2.Docker守护进程(Docker? Daemon),Docker守护进程取代了Hypervisor,他是运行在操作系统之上的后台进程,负责管理Docker容器。
3.vm多了一层guest? OS,虚拟机的Hypervisor会对硬件资源也进行虚拟化,而容器Docker会直接使用宿主机的硬件资源。
基于虚拟化角度
1.隔离性
由于vm对操作系统也进行了虚拟化,隔离更加彻底。而Docker共享宿主机的操作系统,隔离性较差。
2.运行效率
由于vm的隔离操作,导致生成虚拟机的速率大大低于容器Docker生成的速度,因为Docker直接利用宿主机的系统内核。因为虚拟机增加了一层虚拟硬件层,运行在虚拟机上的应用程序在进行数值计算时是运行在Hypervisor虚拟的CPU上的;另外一方面是由于计算程序本身的特性导致的差异。
虚拟机虚拟的cpu架构不同于实际cpu架构,数值计算程序一般针对特定的cpu架构有一定的优化措施,虚拟化使这些措施作废,甚至起到反馈效果。
3.资源利用率
在资源利用率上虚拟机由于隔离更彻底,因此利用率也会相对较低。