linux包安装命令linux包安装
docker pull kalilinux/kali-linux-docker谁能教下我LINUX下tar.gz包的安装方法?
linux离线安装docker_linux离线安装MySQL
tar.gz(由于本地开发好的程序往往都需要部署到上进行运行,这就导致了程序需要运行在不同的环境上,这通常是一个令人头痛的事情。在过去,开发团队需要清楚的告诉运维部署团队,其所使用的全部配置文件+所有软件环境。不过,即便如此,仍然常常发生部署失败的状况。bz或bz2等)一、安装
2、用cd命令进入源代码压缩包所在的目录
3、根据压缩包类型解压缩文件(代表压缩包名称)tar-zxvf.tar.gztar-jxvf.tar.bz(或bz2)
4、用CD命令进入解压缩后的目录
5、输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去)
6、然后是命令:make
7、再是安装文件命令:makeinstall
8、安装完毕
如何在虚拟机linux安装rpm包?
rpm-ivh软件包名字
这是使用rpm命令安装,当然的方法是使用yum安装,可以解决包的依赖关系,安装命令如下:
这样就什么都不用管直接安装好
如果要装双系统就直接安装就可以了,只是需要单独给Linux划分磁盘分区,Linux的磁盘格式和Windows是不兼容的!
如果是在Windows系统下虚拟Linux,就需要先装一个虚拟机(VMware、VBox),然后在虚拟机里面装!
除了系统区别外,也要根据CPU而分,Winodws和Linux常用CPU架构有X86/X64,ARM32/64。
上面有人说了,C/C++,其实,C/C++是跨平台语言,C/C++软件不是”跨平台”的。
C/C++是属于偏底层的语言,因此有很多库是依赖于系统API,在Windows下能用,在Linux下不一定能用。另外,在X86下编译的程序,是无法在ARM下运行。反之亦然。
所以,C/C++是应该做不到一个安装包,多平台运行的了。
ja,c#是托管语言,C/C++是非托管语言,托管语言,编译的程序,不会直接编成机器码,而是编译成JIT(即时语言)。系统是无法直接运行这个编译后的软件包,需要运行环境。
这个软件包是跨平台、跨CPU的,与系统无关,与CPU无关。而要运行编译后的软件包,需要安装运行环境,如JDK,.NETCoreruntime等。为什么托管语言可以做到跨平台呢~
先制定统一个API,然后根据不同系统不同CPU架构,编写多个平台的”运行Docker中的网络接口默认都是虚拟的接口。虚拟接口的优势就是转发效率极高(因为Linux是在内核中 进行数据的来实现虚拟接口之间的数据转发,无需通过外部的网络设备交换),对于本地系统和容 器系统来说,虚拟接口跟一个正常的以太网卡相比并没有区别,只是他的速度快很多。环境程序”,这些环境对开发者来说,屏蔽了不同系统、CPU的底层异,向上提供一个统一的接口。即SDK。
就好像,一个小学,有一到六年级,学校要向学生宣传防火知识,然而不同年级的小学生知识水平是不同的,要分年级来教育。这时候年级主任就相当于SDK,学校把防火宣传任务给年级主任,年级主任再把同一件事,根据这级小学生的知识水平,把防火知识幼儿化,变成动画片或者其他形式表达,让学生理解。
现在在坐车回深圳。。。手打的字,上面可能说不清楚,我以的跨平台框架.NETCore做示例。
.NETCore是一个跨平台框架,支持Windows/Linux,也支持X86,ARM架构的芯片,能开发云计算业务,能开发物联网软件,能开发手机软件。。。.NETCore主要使用C#开发,开发出的软件,能够在各种平台下运行。
首先,目标主机或者Docker,安装好.NETCoreRuntime/SDK,把你写好的程序丢进去就可以运行了。你可以在Windows下写,也可以在Linux下写程序。
写完后,你可以丢到任一个已安装了.NETCore环境的系统下运行。安装.NETCore环境超简单,一个安装包+一个点击安装,或者一行命令即完成安装,不像Ja屎环境又配了一天。
骚年,来吧,入手.NETCore。
如何在Ubuntu14.04上搭建私有docker registry-Linux
一个安装包可以同时在windows下和linux下安装是如何实现的?运行私有docker registry,就好比为docker镜像运行私有git仓库。在Ubuntu14.04上搭建私有docker registry-Linux的步骤:
步——安装必要的软件
1、在docker registry上,应当创建一个拥有sudo权限的用户(如果可以,在客户机上也如此)。
2、docker registry软件是一款python应用,因此为了使其能够运行起来,需要安装python开发环境以及必要的库:
sudo apt-get updatesudo apt-get -y install build-essential python-dev libnt-dev python-pip liblzma-dev
第二步——安装并配置docker registry
1、为了安装的稳定的docker registry发行版,将使用python包管理工具pip:
sudo pip install doDocker Come的 步骤如下 :cker-registry
2、docker-registry需要配置文件。默认地,pip将该配置文件放置在相当偏僻的地方,因系统中python的安装位置而异。因此,为了找到该路径,将尝试运行r编辑sources.list 文件,配置完整地址。egistry,以查看相关的输出:
gunicorn --access-logfile - --debug -k gnt -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application
3、由于配置文件不在正确的位置,上述尝试将会以失败而告终,并输出一条包含FileNotFoundError错误消息。
安全最重要!MySQL配置主从,主主
如果你还想要一个从,那么你只需要按照上面配置从再配置一个就行了,新建的从,会自动保存主之前的数据。(测试结果) 如果你上面的主从搞定了,那么这个主主就很简单了。我们把上面的从也改成主为了保障数据的安全与稳定性,我们常用数据库的主从与主主来实现。主从为从机实时拷贝一份主机的数据,当主机有数据变化时,从机的数据会跟着变,当从机数据有变化时,主机数据不变;同样地,主主就是,多个主机之间,只要有一个主机的数据变化了,其它主机数据也会跟着变化。
添加以下内容
如果你是使用我之前那种方式启动的MySQL,那么你只需要去你相关联的宿主机的配置文件夹里面去建立一个 myf 然后写入上面的类容就好了。
比如:我的启动命令如下(不应该换行的,这里为了方便查看,我给它分行了)
那么我只需要在 /Note: docker-come会自动为多容器之间创建网络,保证通讯。docker/mysql_/conf 这个目录下创建 myf 文件就好了。
这个命令是需要在容器里面执行的
docker重启mysql会关闭容器,我们需要重启容器。
确保在主上 skip_networking 选项处于 OFF 关闭状态, 这是默认值。 如果是启用的,则从站无法与主站通信,并且失败。
我的命令如下
在从配置连接到主的相关信息 (在容器里面的mysql执行)
上面代码的xxxxx你需要换成你的IP,docker 查看容器 IP 的命令如下:
测试的话,你可以在主里面,创建一个数据库,发现从里面也有了,就成功了。
1)、修改上面的从的myf文件,和主的一样(注意这个server-id不能一样)然后重启 2)、在从里面创建一个用户创建命令一样(这里修改一下用户名可以改为 repl2) 3)、在之前的主里面运行下面这个代码
上面主要是教你怎么搭建一个MySQL集群,但是这里面还有很多其它的问题。也是我在学习过程中思考的问题,可能有的小伙伴上来看到文章长篇大论的看不下去,只想去实现这样一直集群功能,所以我就把问题写在下面了。同样安装l-core,安装完成后可以使用l_release -a查看系统版本。
1)、MySQL的replication和pxc MySQL的集群方案有replication和pxc两种,上面是基于replication实现的。
replication: 异步,速度快,无法保证数据的一致性。 pxc: 同步,速度慢,多个集群之间是事务提交的数据一致性强。
2)、MySQL的replication数据同步的原理 我们在配置的时候开启了它的二进制日志,每次作数据库的时候都会更新到这个日志里面去。主从通过同步这个日志来保证数据的一致性。
3)、可否不同步全部的数据 可以配置,同步哪些数据库,甚至是哪些表。
4)、怎么关闭和开始同步
5)、我就我的理解画出了,主从、主从从、主主、的图。
往期:
利用Docker仅花1分钟时间安装好MySQL服务
Linux下MySQL 5.7的离线与在线安装(图文)
Linux下安装MySQL8.0(收藏!)
docker打包当前linux全部文件系统
yum-通过如下设置,Docker Desktop就和WSL2分发版本进行了集成,无需在WSL中安装docker; 当然,也可以选择不与Docker Desktop集成,直接在WSL 中运行docker 容器。yinstall软件包名字搭建 Docker 环境 1. Linux 环境下安装 安装/ 升级你的Docker客户端 安装1.10.0以上版本的Docker客户端,参考文档:Docker 配置镜像加速器 如果您要拉取Docker的镜像,请先安装阿里云提供的Docker镜像加速器:针对Docker客户端版本大于1.10.0的用户。 1.sudo mkdir -p
docker就可以打包当前linux全部文件系统
1安装Docker在开始前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS7主机,我们将运行yum管理器和下面的命令来安装Docker。#yuminstalldocker#sy小结stemctlrestartdocker.serv2.创建Dockerfile现在,Docker守护进程已经在运行中了,我们现在准备创建自己的FirefoxDocker容器。我们要创建一个Dockerfile,在其中我们要输入需要的配置来创建一个可以工作的Firefox容器。为了运行Docker镜像我们需要使用版本的CentOS。要创建Docker镜像,我们需要用文本编辑器创建一个名为Dockerfile的文件。#nanoDockerfile
docker安装数量
yum-config-mar --add-repodocker安装数量最多1023个。
sudo docker start拓展资料:
docker主要用于运维,当然了,开发也可以用,可以在启动应用项目的时候使用docker方式,docker是虚拟化技术,每一个docker容器都是一个linux虚拟机,而且还可以根据不同的应用定制,最小的可以直接依赖linux内核,仅仅几M就可以运行。下面,正式开始。
一、安装docker
centos下,直接使用如下命令安装
yum install -y docker-io
比较旧的linux版本,需要升级内核才行,这里由于时间问题暂不讲述。
二、启动docker服务
servlinux软件安装包和windows一样吗? docker start
如何在 Docker 容器中运行 Kali Linux 2.0
狂神说Kali Linux 是一个对于安全测试人员和白帽的一个知名作系统。它带有大量安全相关的程序,这让它很容易用于渗透测试。最近,Kali Linux 2.0 发布了,它被认为是这个作系统最重要的一次发布。另一方面,Docker 技术由于它的可扩展性和易用性让它变得很流行。Dokcer 让你非常容易地将你的程序带给你的用户。好消息是你可以通过 Docker 运行Kali Linux 了,让我们看看该怎么做 :)
在 Docker 中运行 Kali Linux 2.0
相关提示
如果你还没有在系统中安装docker,你可以运行下面的命令:
对于 Ubuntu/LinDocker 是一个开源的 应用容器引擎 ,让 开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化 。容器是完全使用沙箱机制,相互之间不会有任何接口。ux Mint/Debian:
sudo apt-get install docker
对于 Fedora/RHEL/CentOS:
sudo yum install docker
对于 Fedora 22:
dnf install docker
你可以运行下面的命令来启动docker:
Kali Linux 的开发团队已将 Kali Linux 的 docker 镜像上传了,只需要输入下docker-come.yml编写面的命令来镜像。
Pull Kali Linux docker
完成后,运行下面的命令来找出你的 docker 镜像的 ID。
docker images
Kali Linux Image ID
现在运行下面的命令来从镜像文件启动 kali linux docker 容器(这里需用正确的镜像ID替换)。
docker run -i -t 198cd6df71ab3/bin/bash
它会立刻启动容器并且让你登录到该作系统,你现在可以在 Kaili Linux 中工作了。
Kali Linux Login
docker ps
制作镜像(含centos上docker安装)
------------------------------------预备:安装docker-ce------------------------------------------------------
1、安装依赖启动的那个从的线程
docker依赖于系统的一些必要的工具,可以提前安装。
yum install -y yum-utils dev-mapper-persistent-data lvm2
2、添加软件源
3、安装docker-ce
yum clean all
yum makecache fast
yum -y install docker-ce
4、启动服务
通过ctl启动服务
ctl start docker
------------------------------------开始制作镜像------------------------------------------------------
docker pull percona:5.7-centos
加上USER root以后,
继续build又报错:
把以下配置放在docker-come.yml中:(注意缩进和分隔,冒号后面你可以在容器外面通过下面的命令来验证容器已经启动/运行中了:必须有空格)
然后启动容器:(这句话要在come文件所在的目录下执行)
直到有一步骤报错: Failed to get D-Bus connection: Operation not permitted
就是在ctl 或 serv 对mysql进行启停的时候,报的.
网上查到的解决方案是要重新用一种方式run:
然后一直报错说找不到ctl,没有ctl就不能方便得在docker内部启停mysql.百度基本上是如下方案:
1.启动(run)镜像时候 -v /sys/fs/cgroup:/sys/fs/cgroup:ro /usr/in/init
2.在dockerfile中添加cmd ["/usr/in/init"]
[!!!!!!] Failed to mount API files, freezing.
无数次尝试以后,终于得知在启动的时候,不用-it,改用-d成功对开发者来说,无须深入了解底层原理,也无须理会不同系统、CPU的异和特性,因为SDK已经把底层处理实现好,所有平台下的接口都是统一的。.:
用下面的语句重新生成镜像:
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
首先运行下面的命令确保 Docker 服务运行正常:必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。
[上传失败...(image-efadd2-1643314980201)]以运行Powershell(开启WSL,如已开启可跳过)
WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 作系统的性能。
WSL2相比WSL1来说可以完美支持Docker。与WSL1的模拟Linux API不同的是,WSL2采用在Hyper-V虚拟机中运行的方案。可以说WSL2和原汁原味的Linux已经十分接近
不支持Docker的守护进程,但您可以使用 Docker CLI 连接到通过 Docker for Windows 或您创建的任何其他VM 运行的远程Docker守护进程
不能完全兼容ctl, d等等,IO速度相对原生Linux也是大打折扣,在编译和解压方面可以很深体会到。毕竟不是真正的Linux,而是挂在Windows NT内核之上的仿Linux 系统
由于WSL 还不是原生的Linux,所以需要借助 Docker for Windows 来实现Docker(Docker for Windows 是基于Hyper-V 技术)
另外一种方式是,在WSL1中安装docker 客户端,连接 docker server, 来解决在WSL1上使用docker 的1、打开一个SHELL,即终端问题。(PS: Win10 的Linux 子系统是装不了 docker (服务端)的,但是可以安装客户端)
参考
WSL2 是第二代 WSL,包含在2020年5月正式发布 Windows 10 v2004 版中。相比代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的 linux 虚拟机只是不支持 ctl、d,不能直接运行图形桌面。Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的
如果发现VERSION为1,说明Ubuntu运行在WSL1下,可以升级到 WSL2。同样,WSL2也可以降级到WSL1。
wsl -l -v #查看已安装Linux版本和名称,完整命令格式:wsl --list --verbose
具体步骤参考 :
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能
wsl --set-version Ubuntu 2 #升级到WSL2,其中 Ubuntu 是已经安装的Linux名称,命令格式:wsl --set-version
启用WSL后,通过 \wsl$ 可以访问WSL文件
最初的WSL是在Windows之上模拟Linux内核,但是Windows和Linux之间存在如此基本的异,以至于某些事情不可能以与本机Linux相同的行为实现,这意味着不可能直接在 WSL中运行 Docker Engine 和Kubernetes
在WSL1中,Docker Desktop通过Hyper-V虚拟机去运行docker环境的
升级到WSL2 之后, Docker Desktop 可以直接用 WSL2,直接运行在Linux 内核上了
启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理
安装docker后,docker会自动创建2个发行版:
WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录
docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中
通过 WSL 2 集成,您仍然可以体验到与 Windows 的无缝集成,但在 WSL 中运行的 Linux 程序也可以执行相同的作。这对于从事面向 Linux 环境的项目或为 Linux 量身定制的构建过程的开发人员产生了巨大影响。不再需要维护 Linux 和 Windows 构建脚本!例如,Docker 的开发人员现在可以在 Windows 上的 Linux Docker 守护程序上工作,使用与 Linux 计算机上的开发人员相同的工具和脚本集:
注:WSL2 Docker最爽的地方是和宿主机Win10共享network,我们在宿主机Win10使用localhost加端口号就可以访问Docker中对应container中的服务,十分方便
wsl #启动
wsl --shutdown #关闭所有正在运行的 Linux 和 WSL 2
启动 WSL2 之后,会在任务管理器中发现多了一个 虚拟机工作线程
访问wsl 文件
卸载发行版
有时候某个Linux发行版不再使用,或者是环境被搞坏需要重装,这时候我们可以卸载掉这个Linux发行版。方法如下。
Docker容器中安装Docker
相关网站最近用到Jenkins,使用了Docker来提供服务,但是在构建步骤中又希望能够使用Docker去生成镜像,因此需要实现在Docker容器中去安装Docker,其实也就是在特定的系统环境下安装Docker,但是实际作中可能还会出现其他问题。
以Jenkins/Jenkins容器为例子。
进入jenkins容器:
一般安装前都需要知道当前系统信息,要实现一个安装包,在Windows和Linux下都能运行,要分运行环境和软件包本身。没有安装l-core,因此执行:
我在次查询时候也看不出来是用的哪个系统以及版本,猜测应下图是虚拟机技术和容器化技术架构的对比。我们可以得出以下总结:该为Debian。
因为原来的配置的源速度太慢(无效?),因此执行apt-get update都会失败,所以无法去安装新的软件。所以需要先更改源配置,这个过程中我找到了不少配置信息,但是基本都因为key过期等原因不能够使用。这里一个很好的网站,会每隔四小时发布Debian的源地址:
备份Linux的源配置文件:
修改源配置信息(因为没有安装vim,只能通过>方式将地址写入文件)
然后安装vim,方便后面查看等作。
接下来就是安装Docker,这里我们已经知道是在Debian环境下安装Docker,可以参考菜鸟的步骤:
DOCKER 总结
然后 创建 Dockerfile:于是乎, 虚拟化 技术应运而生。开发团队将开发好的程序在虚拟机上运行,这样就能解决运维的问题。但是由于虚拟机技术过重的特性导致了其 资源占用多、冗余步骤多以及启动慢的缺陷 。而这个时候 一种新的虚拟化技术搭配上容器化的思想 的产品便出现了,而它就是Docker。
]( )
于是乎相比于虚拟机技术,容器化技术具有以下 优势:
如下图所示,Docker使用客户端-(C/S)架构模式,使用远程API来管理和创建Docker容器。端分为Docker daemon, Image和Container三个部分。此外还有Docker Registry。
下面首先来介绍一下Docker中的主要概念
Docker的运行原理如下:客户端可以将docker命令发送到端的Docker daemon上,再由Docker damon根据指令创建、选择或者从Docker仓库中拉取(pull)镜像。接着客户端可以通过镜像创建容器。当我们需要使用程序时,运行相应的容器即可。
需要正确的理解仓储/镜像/容器这几个概念 :
在外面使用容器的时候,我们不希望容器中的数据在容器被删除后也一并删除了,这时候我们就可以 通过使用容器数据卷,将数据储存在本地并用Docker将其挂载到容器中,这样我们即使删除了容器,数据也依旧存在中,也就实现了数据持久化。
特点
容器数据卷挂载命令(-v)
Dockerfile 挂载容器数据卷
我们除了可以从仓库中拉取镜像以外,我们也可以 自己创建镜像 ,这就要用到Docerfile。
dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 。
构建步骤:
基础知识:
流程:
说明:
在实际场景中,我们会遇到 多个Container之间通讯 的问题。而Docker网络就是用于解决此问题的技术。docker会给每个容器都分配一个ip,且容器和容器之间是可以互相访问的。
Docker网络原理
每一个安装了Docker的linux主机都有一个docker0的虚拟网卡。这是个桥接网卡,使用了 v-pair 技术 。Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据 Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网 关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。
Docker容器网络就很好的利用了Linux虚拟网络技术,在本地主机和容器内分别创建一个虚拟接口,并 让他们彼此联通(这样一对接口叫v pair);
[上传中...(image-41d42a-1642627027452-2)]
Docker Come是一个用于定义并运行多容器应用的工具只好重新把docker的deamon配置改了,放在新的磁盘上。这不是重点,这里掠过。 。
NOTE: Come :重要的概念。
Docker Swarm 是Docker 的集群管理工具。 它将 Docker 主机池转变为单个虚拟 Docker 主机。但各种尝试,都报错.最常见的是这个错误: Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
Docker 是一个开源的 应用容器引擎 ,它的出现大大简化了运维的难度,提高了运维效率。过去我们需要在上安装程序所需要的所有依赖,而如今我们只需要编写好docker-come和Dockefile的脚本,就可以使程序一键跑通。在企业级的应用中,我们必然会惊颤使用到Docker和容器化技术。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。