Category: 服务器

systemback 把备份镜像写入U盘启动作安装盘

在上一次我进行了systemback的安装的使用,并将一个接近40G的文件拷贝到虚拟机中,具体的做法分为以下几步: 1、在systemback中创建live system 2、解决超过4G不能生成镜像文件的问题 3、利用cdrecord生成镜像文件 4、虚拟机选择镜像文件安装 具体可参见之前博文 system备份系统和写成镜像 虚拟机安装备份系统 现在需要拷贝一份系统到U盘中,将U盘作为启动盘,对另一个电脑进行安装。 按照上一次的思路进行了如下操作: 1、在systemback中创建live system 2、解决超过4G不能生成镜像文件的问题 3、利用cdrecord生成镜像文件 4、在windows下利用软碟通Ultraio将镜像文件写入u盘/在linux下利用dd指令将镜像写入U盘 但是在安装时出现如下错误: "(initramfs) mount: mounting /dev/loop0 on //filesystem.squashfs failed: invalid argument can not mount /dev/loop0 (...) on //filesystem.squashfs" 可能表示挂载不了某个东西。 折腾许久,查了一个资料,可能是由于iso文件大于4G导致的问题,主要存在以下两种做法:谨慎测试 https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1431841 https://ubuntuforums.org/showthread.php?t=2086444&page=5 第一种是更改其中的crasper-helper一个脚本,第二种方式不知道怎么做… 最后还是没能解决问题。 下方高能: 经过多次各种尝试,最后才在systemback上看见可以直接将生成的sblive文件写入U盘,作为启动盘使用!! 那我还做什么镜像文件! 可能只有安装虚拟机需要镜像吧… 方法: 在生成live备份后,在电脑上插入U盘(u盘会被格式化的),U盘空间肯定要够呗(大于sblive文件大小) 直接点击如下图操作,选择write to target,一个启动u盘就做好了,可以直接用来装系统。写入时间的长短根据文件大小来定。

网站运维:Centos7使用yum安装最新MariaDB 10.4.6

1、删除旧版本 centos7下默认安装有mariadb数据库,但是是旧版本,在安装新版本前需要先把旧版本删除,有些系统还默认安装mysql,也必须删除,否则与mariadb会产生冲突,如下命令过程: rpm -qa | grep mariadb 1 用命令yum删除以上三个: yum remove mariadb-server-5.5.60-1.el7_5.x86_64 yum remove mariadb-5.5.60-1.el7_5.x86_64 yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 yum remove MariaDB-server-10.4.6-1.el7.centos.x86_64 yum remove MariaDB-client-10.4.6-1.el7.centos.x86_64 2、创建 MariaDB.repo 在目录下 /etc/yum.repos.d/ 创建文件: MariaDB.repo 并把以下内容添加到所建文件中 用阿里源,内容如下: [mariadb] name = MariaDB baseurl = http://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64/ gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck = 1 2.1、 清除Yum的缓存并重新建立 yum clean all yum makecache 2.2、打印MariaDB源中的软件包: yum list […]

ubuntu终端SSH连接服务器一段时间不操作之后卡死的问题

卡死是因为LIUNX安全设置问题,在一段时间内没有使用数据的情况下会自动断开,解决方法就是让本地或者服务器隔一段时间发送一个请求给对方即可 在本地打开配置文件(不建议在server端设置) 1 sudo vim /etc/ssh/ssh_config 添加以下参数,如果有直接修改 1 ServerAliveInterval 50 #每隔50秒就向服务器发送一个请求 2 ServerAliveCountMax 3 #允许超时的次数,一般都会响应 修改完之后重启一下ssh服务 1 sudo /etc/init.d/ssh restart

firewall防火墙详解(持续更新中...)

永久开放端口 firewall-cmd --add-port=8080/tcp --permanent 重新加载生效开放的端口 firewall-cmd --reload 在 CentOS 7 中,引入了一个新的服务,Firewalld,下面一张图,让大家明确的了解防火墙 Firewall 与 iptables 之间的关系与区别。 安装它,只需 yum install firewalld 如果需要图形界面的话,则再安装 yum install firewall-config 一、介绍 防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。 zone drop: 丢弃所有进入的包,而不给出任何响应 block: 拒绝所有外部发起的连接,允许内部发起的连接 public: 允许指定的进入连接 external: 同上,对伪装的进入连接,一般用于路由转发 dmz: 允许受限制的进入连接 work: 允许受信任的计算机被限制的进入连接,类似 workgroup home: 同上,类似 homegroup internal: 同上,范围针对所有互联网用户 trusted: […]

sed命令详解

一、基础篇 1、sed工作原理 sed工作的过程是先从文件中读取一行内容到模式空间里即sed专属的缓存空间,然后判断这行内容是否是需要处理的内容,如果不是就继续从文件中读取下一行,否则对改行内容进行相应处理后输出,然后继续读取下一行进行判断或处理,直到文件最后一行处理完毕整个过程结束。 2、sed命令使用说明 sed命令格式如下: sed  参数  功能选项  文件名或其他标准输入 sed参数如下: -i  修改文件内容 -n  取消默认输出 sed功能选项如下: a  追加内容到指定行后 i  插入内容到指定行前 d  删除指定行 c  用新行替换旧行(不常用) s  对每一行第一次匹配到的内容进行替换,配合标志g可以将一行中所有匹配到的内容进行替换 p  输出指定内容,默认会输出2次匹配到的内容 sed指定操作行的格式有以下几种: 10             匹配第十行10,20                匹配第十行到第二十行10,+20            匹配第十行到第三十行(10+20)1~2              匹配第一行开始的奇数行10,$             匹配第十行到最后一行/oldboy/             匹配有oldboy的行/oldboy/,/Alex/        匹配有oldboy的行到有Alex的行/oldboy/,$          匹配有oldboy的行到最后一行/oldboy/,10           匹配有oldboy的行到第十行,如果前十行没有匹配到有oldboy的行会对后面匹配到有oldboy的行进行操作1,/Alex/           匹配第一行到有Alex的行/oldboy/,+2           匹配有oldboy的行及之后的两行 sed s 替换脚本命令 此命令的基本格式为: [address]s/pattern/replacement/flags 其中,address 表示指定要操作的具体行,pattern 指的是需要替换的内容,replacement 指的是要替换的新内容。 关于指定具体操作行(address)的用法,这里先不做解释,文章后续会对其做详细介绍。 此命令中常用的 flags 标记如表 2 所示。 表 2 sed […]

Linux sed 命令

Linux sed 命令是利用脚本来处理文本文件。 sed 可依照脚本的指令来处理、编辑文本文件。 Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。 语法 sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数说明: -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。 -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。 -h或--help 显示帮助。 -n或--quiet或--silent 仅显示script处理后的结果。 -V或--version 显示版本信息。 动作说明: a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~ s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! 实例 在testfile文件的第四行后添加一行,并将结果输出到标准输出,在命令行提示符下输入如下命令: […]

shell变量的替换2

1.条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. (1) ${value:-word} 当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值. (2) ${value:=word} 与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将 word赋值给value (3) ${value:?message} 若变量以赋值的话,正常替换.否则将消息message送到标准错误输出(若 此替换出现在Shell程序中,那么该程序将终止运行) (4) ${value:+word} 若变量以赋值的话,其值才用word替换,否则不进行任何替换 (5) ${value:offset} ${value:offset:length} 从变量中提取子串,这里offset和length可以是算术表达式. (6) ${#value} 变量的字符个数 (变量的字符个数,并不是变量个数) (7) ${value#pattern} ${value##pattern} 去掉value中与pattern相匹配的部分,条件是value的开头与pattern相匹配 #与##的区别在于一个是最短匹配模式,一个是最长匹配模式. (8) ${value%pattern} ${value%%pattern} 于(7)类似,只是是从value的尾部于pattern相匹配,%与%%的区别与#与##一样 (9) ${value/pattern/string} ${value//pattern/string} 进行变量内容的替换,把与pattern匹配的部分替换为string的内容,/与//的区 别与上同 注意:上述条件变量替换中,除(2)外,其余均不影响变量本身的值 2.变量的算术运算 在Bash Shell中,只能进行两个整数间的运算,其结果仍为整数.要进行算术 运算,需要使用let命令,语法为: let expr expr是一个包含项和操作符的表达式,项可以是一个变量或是一个整数常数, 当使用整数常数时,其默认为十进制整数,用户可以用radio#number来指定其它 形式的整数,其中radio定义了整数是几进制表示的,number是该整数的值.若 radio>10,那么数字字符可从0-9和A-Z. 在表达式中支持的操作符及其含义为: +,-,*,/,% 加,减,乘,除,取模 >>,<<,&,^,| […]

shell编程系列1--shell脚本中的变量替换

shell编程系列1--shell脚本中的变量替换 变量替换总结: 1、${变量#匹配规则} # 从头开始匹配,最短删除 2、${变量##匹配规则} # 从头开始匹配,最长删除(贪婪模式) 3、${变量%匹配规则} # 从尾开始匹配,最短删除 4、${变量%%匹配规则} # 从尾开始匹配,最长删除(贪婪模式) 5、${变量/旧字符串/新字符串} # 替换变量内的旧字符串为新字符串,只替换第一个 6、${变量//旧字符串/新字符串} # 替换变量内的旧字符串为新字符串,全部替换 variable_1="i love you,do you love me"   举例: [root@localhost ~]# variable_1="i love you,do you love me" [root@localhost ~]# echo $variable_1 i love you,do you love me # 从头开始删除,只删除第一个ov及ov以前的字符串 [root@localhost ~]# var1=${variable_1#*ov} [root@localhost ~]# echo $var1 […]

Linux下Shell的for循环语句

第一类:数字性循环 ----------------------------- for1-1.sh #!/bin/bash for((i=1;i<=10;i++)); do echo $(expr $i \* 3 + 1); done ----------------------------- for1-2.sh #!/bin/bash for i in $(seq 1 10) do echo $(expr $i \* 3 + 1); done ----------------------------- for1-3.sh #!/bin/bash for i in {1..10} do echo $(expr $i \* 3 + 1); done ----------------------------- for1-4.sh #!/bin/bash awk 'BEGIN{for(i=1; i<=10; i++) […]