- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。HTTP 状态码 406(Not Acceptable)通常表示客户端请求的资源与服务器能提供的资源无法达成一致,换句话说,服务器无法根据客户端请求头中的 Accept 字段返回合适的响应内容。 常见原因:客户端请求的内容类型与服务器支持的类型不匹配。例如,客户端请求的是 JSON 格式的响应,但服务器只能返回 HTML 或其他格式。服务器未正确配置支持的内容类型。如果服务器没有配置相应的 MIME 类型,就会导致此错误。 解决方法:1. 检查请求头中的 Accept 字段客户端请求头中的 Accept 字段用于告诉服务器客户端能够接受的响应内容类型。如果这个字段设置不正确,服务器就无法根据这个要求返回合适的内容。确保它与你期望的响应类型一致:例如,客户端希望接收 HTML 内容,Accept 字段应设置为:Accept: text/html 如果客户端希望接收 JSON 格式的数据,则应设置:Accept: application/json 如果你不确定服务器支持哪些格式,可以将 Accept 字段设置为通配符:Accept: */*这样服务器就会返回它能够提供的任何格式。 2. 检查服务器支持的响应内容类型服务器可能并没有配置支持所有客户端请求的响应类型。你需要检查服务器端的代码或配置文件,确保服务器能够返回客户端所需的响应类型。例如:如果你使用的是某个 Web 框架(如 Django、Flask、Node.js 等),确保服务器端的响应格式(如 JSON 或 HTML)是正确配置的。对于 API,确保服务器能够返回请求的格式(比如 application/json)。如果服务器无法提供客户端请求的格式,你可以考虑修改服务器端的代码或配置,或者与客户端沟通,确认双方达成一致。 3. 调整客户端请求如果服务器无法提供客户端请求的内容类型,客户端可以尝试修改 Accept 字段,改为服务器可以提供的类型。例如:如果服务器只能返回 JSON 格式,客户端可以将 Accept 字段改为:Accept: application/json 4. 返回适当的错误响应如果服务器确实无法提供客户端请求的格式,建议返回一个适当的错误响应。例如,415 Unsupported Media Type 可以表示服务器不支持请求的格式;406 Not Acceptable 则表示请求的格式无法被服务器处理。你可以在错误响应中提供一些说明或建议,帮助客户端调整请求。蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
CentOS 7迁移到Anolis OS 8欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。1 迁移原理与注意事项CentOS7.x到Anolis OS 8,无论是内核,基础软件包,工具链都发生了较大的变化。迁移工具需要考虑这些变化带来的兼容性问题。OpenAnolis社区提供的迁移工具leapp包含了迁移评估,迁移实施,配置还原等步骤,用于实现CentOS7.x到Anolis OS 8的就地迁移。1.1 迁移评估leapp扫描待迁移系统,搜集内核,软件包,系统配置基础信息,同时与目标系统(Anolis OS)进行对比分析,对于不兼容项给出影响分析和解决方案。如内核角度给出Anolis OS 中不再支持的内核特性,硬件驱动;软件角度给出系统命令的变更项,提示用户适配业务程序。leapp的迁移评估报告会给出当前系统中所有可能影响到迁移的影响项目,当这些影响项目都被解决后,用户才能够继续做迁移实施。同时业务程序可根据评估报告中的兼容性提示来适配迁移业务程序。1.2 迁移实施leapp首先搜集当前的系统信息,记录需要在重启后恢复的配置(如selinux状态)。迁移实施过程中,工具首先按照当前系统安装的软件包列表,并根据CentOS7.x到Anolis OS 8的软件包映射关系,从Anolis OS repo上提前下载迁移所需要的软件包,并基于Anolis OS的软件包制作upgrade-initramfs,在下一次重启后,系统自动进入upgrade-initramfs,并触发所有软件包的就地升级。在所有的软件包就地升级完成后,自动重启进入系统配置还原阶段,待所有的信息都完成配置后,系统重启进入新的OS,完成OS的就地迁移。2 部署迁移工具选项一 从本地 yum 源安装迁移工具1. 如果待迁移系统无法访问龙蜥 mirror,首先建议在内网搭建一套本地yum源。(如何做本地yum源 用户名: rsync_user , 密码: Rsync@2020) ,然后通过本地源安装迁移工具。假设本地源地址为 http:///local.repo.com/anolis , 则下载迁移工具软件源:wget http:///local.repo.com/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo2. 然后执行下述命令将 /etc/yum.repos.d/anolis-migration.repo 里面的baseurl地址替换为本地源地址。sed -i "s#baseurl=https:///mirrors.openanolis.cn/#baseurl=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.reposed -i "s#gpgkey=https:///mirrors.openanolis.cn/#gpgkey=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.repo3. 安装迁移工具:yum install -y python-pipyum remove -y python-requests python-urllib3; /usr/bin/pip2 uninstall requests urllib3 -y 2>/dev/null || echo "not installed"yum -y install leapp备注:重新安装 python-requests 和 python-urllib3 是为了解决迁移过程中可能发生的软件包升级冲突。4. 执行下述命令将 /etc/leapp/files/leapp_upgrade_repositories.repo 里面的baseurl地址替换为本地源地址。leapp customrepo --seturl http:///local.repo.com/<version_number>选项二 从社区 yum 源(mirrors.openanolis.cn) 安装迁移工具1. 如果待迁移系统可以联网,则下载迁移工具软件源:wget https:///mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo2. 安装迁移工具:yum install -y python-pipyum remove -y python-requests python-urllib3; /usr/bin/pip2 uninstall requests urllib3 -y 2>/dev/null || echo "not installed"yum -y install leapp3 迁移前评估成功部署工具后,运行工具的评估命令来对系统环境进行扫描评估:leapp preupgrade --no-rhsm上述命令是默认评估迁移到带 ANCK 内核的龙蜥OS,如果你想评估迁移到带 RHCK 内核的龙蜥OS请执行下面的命令leapp preupgrade --no-rhsm --disablerepo=anolis_plus3.1 查看评估报告评估命令执行完成后,会生成评估报告,在/var/log/leapp/leapp-report.txt中,报告中详细列举出当前OS与目标OS系统间的升级分析报告,每一个报告点都包含影响等级,影响范围以及解决方案。当评估工具认为报告点影响到了OS的就地升级,这些报告点问题就必须解决,否则无法实施就地迁移。报告样式如下,包含影响等级,影响概述,影响详细信息,推荐解决方案。 上述报告提示用户在Anolis OS中默认没有python命令,系统中默认提供的是不向前兼容的python3,并且python2只是有限支持,用户需要尽快将业务程序尽快迁移到使用python3。同时报告也给出了解决方案来使系统默认提供python命令。3.2 基于评估报告处理迁移前问题迁移评估报告中一旦遇到影响到就地迁移的因素,会禁止做迁移实施,将这些影响因素都解决后才能够继续实施迁移。如果遇到影响迁移实施的因素,迁移评估结果显示如下: 按照报告的提示,在/var/log/leapp/leapp-report.txt可以获取到详细的报告信息,同时UPGRADE INHIBITED给出的影响升级的因素也可以在/var/log/leapp/answerfile文件中查看。# cat /var/log/leapp/answerfile[remove_pam_pkcs11_module_check]# Title: None# Reason: Confirmation# =================== remove_pam_pkcs11_module_check.confirm ==================# Label: Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted.# Description: PAM module pam_pkcs11 is no longer available in Anolis 8 since it was replaced by SSSD.# Type: bool# Default: None# Available choices: True/False# Unanswered question. Uncomment the following line with your answer# confirm =解决方案,在新的Anolis OS 8中不再支持pam_pkcs11,所以我们直接选择删除该不支持的选项:leapp answer --section remove_pam_pkcs11_module_check.confirm=TrueAnolis OS 8中默认的PermitRootLogin行为是prohibit-password,禁止root用户登陆,如果不显式设置PermitRootLogin yes则会在迁移后影响root用户密码登陆。解决方案:修改sshd_config 配置文件,允许root用户登录sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config解决了上述影响因素后,可以再次执行leapp preupgrade --no-rhsm或者 leapp preupgrade --no-rhsm --disablerepo=anolis_plus 再次评估是否有影响迁移的因素。若没有影响迁移的因素,结果如下: 3.2.4 迁移实施解决了评估报告中所有影响就地迁移的问题后,即可实施迁移。leapp upgrade --no-rhsm上述命令是默认迁移到带 ANCK 内核的龙蜥OS,如果你想迁移到带 RHCK 内核的龙蜥OS请执行下面的命令leapp upgrade --no-rhsm --disablerepo=anolis_plus该步骤涉及到从目标系统(Anolis OS repo)上下载软件包用于就地升级,确保待迁移环境能够正常访问Anolis OS repo。上述命令执行成功后,还可以通过/var/log/leapp/leapp-report.txt查看迁移报告,该报告除了包含评估报告外,还包含对目标系统repo的可行性评估,如果目标系统软件包不符合迁移要求,会给出提示。以下图为例,Anolis OS 8中不再支持kde,评估报告中给出了这样的提示: 一切就绪,执行结果如下: 接下来需要执行 reboot 命令,reboot后OS进入一个隔离环境自动进行实质的迁移操作。待系统迁移完成后,OS 会再次自动重启进入迁移后的系统。这一步骤涉及到2次OS重启以及相关的迁移操作故耗时较长。3.2.5 迁移后验证就地迁移完成后,进入新的操作系统,可以通过/var/log/leapp/leapp-report.txt查看迁移报告,报告中会包含就地迁移以及迁移后的系统详细报告信息,也可以通过/var/log/leapp/leapp-upgrade.txt查看就地迁移的执行日志。查看报告/var/log/leapp/leapp-report.txt可以获取升级过程中的一些信息,比如因为某些原因软件包没有升级成功,需要手动处理这些软件包。 /var/log/leapp/leapp-upgrade.txt则记录了整个迁移过程, 迁移完成后,可通过一系列基础操作查看OS版本,如/etc/os-release查看OS版本。迁移完成后,应用程序可以通过自身的指标查看是否能够正常运行。4 注意1)执行“leapp upgrade --no-rhsm”时出现因网络问题下载软件包失败,如何解决?修改/etc/leapp/files/leapp_upgrade_repositories.repo文件,将mirrors.openanolis.cn替换为mirrors.aliyun.com2) 待迁移环境需要配置代理访问外网,leapp运行过程中下载软件包报错,如何解决?leapp执行过程中真正生效的repo是/etc/leapp/files/leapp_upgrade_repositories.repo,修改/etc/leapp/files/leapp_upgrade_repositories.repo 文件,为每个repo配置代理,3)如何确认迁移前后软件包变化?使用leapp进行OS迁移后,可通过迁移日志/var/log/leapp/leapp-upgrade.log查看软件包更新详细信息。4)就地迁移失败是否可回滚?迁移工具不支持回滚,迁移失败无法恢复到迁移初始状态,迁移前务必做好系统备份。蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
相信很多朋友都想知道如何在linux系统下设置时间,包括本地时间、市区以及硬件时钟的设置方法。今天蓝队云就将整理的Linux系统时间设置指南分享给大家,文中还总结了一些系统时间设置的常见事项,绝对是Linux用户的必备指南。一、引言在Linux系统中,时间设置是一个重要的环节,它直接影响到系统的正常运行和用户的日常使用,本文将详细介绍如何在Linux系统中设置时间,包括详细的步骤和常见问题的解答。二、时间设置步骤1、获取当前时间我们需要获取当前的系统时间,在终端中输入以下命令:date这将显示当前的日期和时间。2、设置时区在Linux系统中,时区设置是非常重要的,你可以使用以下命令查看当前的时区设置:timedatectl | grep Time zone如果你的时区设置不正确,可以使用以下命令进行更改:sudo timedatectl set-timezone <正确的时区>如果你想要将时区设置为北京时间(Asia/Shanghai),可以输入:sudo timedatectl set-timezone Asia/Shanghai3、设置系统时间如果你需要手动设置系统时间,可以使用以下命令:sudo date -s <设置的时间>如果你想要将系统时间设置为2023年6月20日 14:00:00,可以输入:sudo date -s '2023-06-20 14:00:00'4、同步硬件时钟在Linux系统中,硬件时钟是独立于系统时间的,为了确保时间的准确性,我们需要定期同步硬件时钟,可以使用以下命令进行同步:sudo hwclock --systohc5、使用NTP进行时间同步Network Time Protocol(NTP)是一种用于同步计算机时钟的协议,在Linux系统中,你可以使用NTP来自动同步系统时间,你需要安装NTP服务:sudo apt-get install ntpdate ntp ntp-doc ntp-wait ntp-keygen ntp-xfrm ntp-debug ntp-misc -y你可以使用以下命令来启动NTP服务:sudo systemctl start ntpdate.service ntp.service ntp-wait通过以上步骤,我们已经详细介绍了在Linux系统中设置时间的各项操作,包括设置时区、手动调整系统时间、同步硬件时钟以及使用NTP协议自动同步时间。时间设置不仅能确保系统运行稳定,还能避免由于时差或时间错误导致的各种问题。掌握这些技巧,将使得你在使用Linux系统时更加得心应手。希望本篇指南能帮助大家轻松应对Linux时间设置的挑战,更多Linux相关文档可在蓝队云官网免费查询。
在管理和维护Linux系统时,系统的关闭和重启是常见的操作。这些操作通常涉及到多种命令和工具,以确保在安全和高效的方式下执行任务。蓝队云为大家整理了几个linux常用关机和重启命令,包括shutdown、poweroff、halt、reboot以及init。1. Shutdown作用:用于安全地关闭或重启系统。格式:sudo shutdown [选项] [时间] [消息]常用选项: -h:halt(停止)系统,即关机。 -r:reboot(重启)系统。 -now:立即执行操作。示例:立即关机:sudo shutdown -h now在5分钟后关机,并广播一条消息给所有用户:sudo shutdown -h +5 "The system will shut down in 5 minutes."立即重启:sudo shutdown -r now 2. Poweroff作用:直接关闭系统电源。使用方法很简单,不需要参数:sudo poweroff3. Halt作用:停止所有进程并使系统停在无电状态,但不切断电源。使用方法:sudo halt 4. Reboot作用:直接重启系统。使用方法:sudo reboot 5. Init作用:通过改变系统的运行级别来控制关机或重启。运行级别: 0表示关机,6表示重启。使用方法: 关机:sudo init 0 重启:sudo init 6想了解更多linux操作命令欢迎来蓝队云官网,超多专业技术文档免费分享,还可在线咨询专业客服。现在年末活动进行中,官网注册支持免费试用云服务器,注册即可领SSL免费证书,多个福利期待大家前来解锁!
大纲云南云服务器的优势云南云服务器价格标准哪家云南云服务器便宜 云南云服务器的优势云南云服务器为用户提供灵活的计算、存储和网络资源支持,可用于托管网站、运行应用程序、进行数据处理和备份等各种业务。尤其在互联网时代,云南云服务器成为了很多企业数字化转型的必备。云南云服务器将服务器的节点设置在了云南省内,对于众多云南本地企业来说,如果在地理位置上有靠近的数据中心,数据传输的物理距离也将缩短,能够极大地降低数据的延迟,确保更稳定的服务体验。 云南云服务器价格标准不同的云南云服务器厂商在云服务器的价格上也各有不同,但总的来说,哪家云南云服务器便宜是由云服务器的配置决定的。CPU、带宽、硬盘、存储等配置不同,价格自然就有差距。配置越高,价格越贵,配置相对更低,价格就越便宜,哪家云南云服务器便宜主要下述配置的选择。CPU:云南云服务器的计算能力收到CPU配置的直接影响,一般来说,CPU核心数和处理器的主频越高,云服务器的计算性能就越强,价格就会更高。如果是业务需求高或计算量大,就要选择高配置的CPU,如果是日常的小型网站或轻量级APP,基础配置就够用了。带宽:带宽直接影响云南云服务器的整体稳定性和访问的速度,高带宽的云南云服务器可以提供更快的数据传输速度,尤其是在流量需求大的情况下,因此带宽的大小也是影响哪家云南云服务器便宜的关键因素。存储类型及容量:云南云服务器有不同的存储类型,不同的容量直接营销性能和价格。SSD相对HDD来说读写速度更高,价格也更高,适合对存储性能要求较高的网站或应用。数据节点:云南云服务器一般会提供多个节点,供不同地区的用户选择,但不同的地区节点位置会收到当地网络资源的影响,所以,大部分企业在选择云南云服务器时都会优先考虑离自己最近的节点。 哪家云南云服务器便宜上述为大家分析了影响哪家云南云服务器便宜的多个因素,下面为大家分享蓝队云的性价比超高的云南云服务器,不仅价格相对其他厂商来说更低,而且服务还非常到位。提供有7*24小时的专业运维,在线帮助用户解决问题,还有客服多对1在线解答问题,专业备案员高效备案,平均4.2天拿到备案号。完备的服务帮助大家高效处理云南云服务器使用过程中遇到的问题,除此之外,蓝队云官网还为大家详细配备了详细的操作教程,手把手帮助用户快速部署网站。现在蓝队云推出了新年特惠活动,云南云服务器价格只要99元1年,算下来一个月只要8块多,还免费赠送一个域名备案。 蓝队云是一家在云南本土发展成长起来的专业云计算与网络安全服务商,迄今为止已经有15年的服务经验,能够帮助不同的业务场景提供相应需求的云南云服务器,合作超过10W+用户,是云南省互联网十强企业,除了在价格上十分优惠,服务和性能上也非常有优势。现在买云南云服务器享受买1年送1年,买3年送2年,买5年送5年的优惠,注册还可领免费SSL证书,免费试用云南云服务器,名额有限,先到先得!
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。前言当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。 针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些Linux服务器入侵排查的思路。 入侵排查思路一、账号安全基本使用:1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bashaccount:password:UID:GID:GECOS:directory:shell用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell注意:无密码只允许本机登陆,远程不允许登陆2、影子文件/etc/shadowroot:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留who 查看当前登录用户(tty本地登陆 pts远程登录)w 查看系统信息,想知道某一时刻用户的行为uptime 查看登陆多久、多少用户,负载入侵排查:1、查询特权用户特权用户(uid 为0)[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd2、查询可以远程登录的帐号信息[root@localhost ~]# awk '/\\\\\\\\$1|\\\\\\\\$6/{print $1}' /etc/shadow3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限[root@localhost ~]# more /etc/sudoers | grep -v "^#\\\\\\\\|^$" | grep "ALL=(ALL)"4、禁用或删除多余及可疑的帐号 usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头 userdel user 删除user用户 userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除二、历史命令基本使用:通过.bash_history查看帐号执行过的系统命令1、root的历史命令histroy2、打开/home各帐号目录下的.bash_history,查看普通帐号的历史命令为历史的命令增加登录的IP地址、执行命令时间等信息:1)保存1万条命令sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile2)在/etc/profile的文件尾部添加如下行数配置信息:######jiagu history xianshi#########USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiexport HISTTIMEFORMAT="%F %T $USER_IP `whoami` "shopt -s histappendexport PROMPT_COMMAND="history -a"######### jiagu history xianshi ##########3)source /etc/profile让配置生效生成效果: 1 2018-07-10 19:45:39 192.168.204.1 root source /etc/profile3、历史操作命令的清除:history -c但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。入侵排查:进入用户目录下cat .bash_history >> history.txt三、端口使用netstat 网络连接命令,分析可疑端口、IP、PIDnetstat -antlp|more查看下pid所对应的进程文件路径,运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)四、进程使用ps命令,分析进程ps aux | grep pid 五、开机启动项基本使用:系统运行级别示意图:运行级别含义0关机1单用户模式,可以想象为windows的安全模式,主要用于系统修复2不完全的命令行模式,不含NFS服务3完全的命令行模式,就是标准字符界面4系统保留5图形模式6重启动查看运行级别命令 runlevel 系统默认允许级别vi /etc/inittabid=3:initdefault 系统开机后直接进入哪个运行级别开机启动配置文件/etc/rc.local/etc/rc.d/rc[0~6].d例子:当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的。入侵排查:启动项文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/六、定时任务基本使用1、利用crontab创建计划任务基本命令crontab -l 列出某个用户cron服务的详细内容Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/rootcrontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)crontab -e 使用编辑器编辑当前的crontab文件 如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件2、利用anacron实现异步定时任务调度使用案例每天运行 /home/backup.sh脚本: vi /etc/anacrontab @daily 10 example.daily /bin/bash /home/backup.sh当机器在 backup.sh 期望被运行时是关机的,anacron会在机器开机十分钟之后运行它,而不用再等待 7天。入侵排查重点关注以下目录中是否存在恶意脚本/var/spool/cron/* /etc/crontab/etc/cron.d/*/etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/*/etc/cron.weekly//etc/anacrontab/var/spool/anacron/*复制小技巧: more /etc/cron.daily/* 查看目录下所有文件复制七、服务服务自启动第一种修改方法:chkconfig [--level 运行级别] [独立服务名] [on|off]chkconfig –level 2345 httpd on 开启自启动chkconfig httpd on (默认level是2345)第二种修改方法:修改/etc/re.d/rc.local 文件 加入 /etc/init.d/httpd start第三种修改方法:使用ntsysv命令管理自启动,可以管理独立服务和xinetd服务。入侵排查1、查询已安装的服务:RPM包安装的服务chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务ps aux | grep crond 查看当前服务系统在3与5级别下的启动项 中文环境chkconfig --list | grep "3:启用\\\\\\\\|5:启用"英文环境chkconfig --list | grep "3:on\\\\\\\\|5:on"源码包安装的服务查看服务安装位置 ,一般是在/user/local/service httpd start搜索/etc/rc.d/init.d/ 查看是否存在八、系统日志日志默认存放位置:/var/log/查看日志配置情况:more /etc/rsyslog.conf日志文件说明/var/log/cron记录了系统定时任务相关的日志/var/log/cups记录打印信息的日志/var/log/dmesg记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息/var/log/mailog记录邮件信息/var/log/message记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件/var/log/btmp记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看/var/log/lastlog记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看/var/log/utmp记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中日志分析技巧:1、定位有多少IP在爆破主机的root帐号: grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more定位有哪些IP在爆破:grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c爆破用户名字典是什么? grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\\\\\\\\n";}'|uniq -c|sort -nr 2、登录成功的IP有哪些: grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more登录成功的日期、用户名、IP:grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 3、增加一个用户kali日志:Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali, shell=/bin/bashJul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali#grep "useradd" /var/log/secure 4、删除用户kali日志:Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'# grep "userdel" /var/log/secure5、su切换用户:Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)sudo授权执行:sudo -lJul 10 00:43:09 localhost sudo: good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now工具篇一、Rootkit查杀chkrootkit 网址:http://www.chkrootkit.org 使用方法: wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz tar zxvf chkrootkit.tar.gz cd chkrootkit-0.52 make sense #编译完成没有报错的话执行检查 ./chkrootkitrkhunter 网址:http://rkhunter.sourceforge.net 使用方法: Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz tar -zxvf rkhunter-1.4.4.tar.gz cd rkhunter-1.4.4 ./installer.sh --install rkhunter -c二、病毒查杀Clamav ClamAV的官方下载地址为:http://www.clamav.net/download.html 安装方式一: 1、安装zlib: wget http://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.7/zlib-1.2.7.tar.gz tar -zxvf zlib-1.2.7.tar.gz cd zlib-1.2.7 #安装一下gcc编译环境: yum install gcc CFLAGS="-O3 -fPIC" ./configure --prefix= /usr/local/zlib/ make && make install 2、添加用户组clamav和组成员clamav: groupadd clamav useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav 3、安装Clamav tar –zxvf clamav-0.97.6.tar.gz cd clamav-0.97.6 ./configure --prefix=/opt/clamav --disable-clamav -with-zlib=/usr/local/zlib make make install 4、配置Clamav mkdir /opt/clamav/logs mkdir /opt/clamav/updata touch /opt/clamav/logs/freshclam.log touch /opt/clamav/logs/clamd.log cd /opt/clamav/logs chown clamav:clamav clamd.log chown clamav:clamav freshclam.log 5、ClamAV 使用: /opt/clamav/bin/freshclam 升级病毒库 ./clamscan –h 查看相应的帮助信息 ./clamscan -r /home 扫描所有用户的主目录就使用 ./clamscan -r --bell -i /bin 扫描bin目录并且显示有问题的文件的扫描结果 安装方式二: #安装 yum install -y clamav #更新病毒库 freshclam #扫描方法 clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log #扫描并杀毒 clamscan -r --remove /usr/bin/bsd-port clamscan -r --remove /usr/bin/ clamscan -r --remove /usr/local/zabbix/sbin #查看日志发现 cat /root/usrclamav.log |grep FOUND三、webshell查杀linux版:河马webshell查杀:http://www.shellpub.com深信服Webshell网站后门检测工具:http://edr.sangfor.com.cn/backdoor_detection.html蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。什么是 TXT 记录?TXT 记录(Text Record)是 DNS(域名系统)中的一种记录类型,它可以用于存储任意的文本信息。这些文本信息通常用来标识域名、提供说明或者用于安全验证。TXT 记录常见的使用场景包括:设置 SPF 记录(防止垃圾邮件)、验证域名所有权、以及邮件身份验证(如 DKIM 和 DMARC)。 为什么要使用 TXT 记录?TXT 记录的常见用途包括:域名标识和说明:可以为域名添加简单的描述信息,比如联系方式、管理者等。 SPF 记录(反垃圾邮件):SPF 记录常常通过 TXT 记录设置,帮助验证哪些服务器有权限代表某个域名发送邮件,防止垃圾邮件伪造发件人地址。 DKIM 和 DMARC 记录:这两种邮件验证机制使用 TXT 记录来防止邮件伪造,保护邮件的完整性。 如何检测 TXT 记录?如果你已经设置了 TXT 记录,可以通过以下步骤来验证它们是否正确配置:1. 打开命令行(CMD)在 Windows 中,按下 Win + R 打开“运行”窗口,输入 cmd,按回车进入命令行界面。 2. 使用 nslookup 查询 TXT 记录在命令行中输入以下命令(将 example.com 替换为你实际的域名):nslookup -q=txt example.com这将返回你域名的 TXT 记录。如果设置成功,你会看到类似的输出:example.com text = "v=spf1 a mx ~all"你可以通过返回的记录与设置的记录值对比,来验证是否一致。 如何设置 TXT 记录?设置 TXT 记录的具体步骤通常如下:1.登录 DNS 管理面板:首先,登录到你域名注册商或 DNS 提供商的管理控制面板(例如 GoDaddy、阿里云、腾讯云等)。 2.选择域名并进入 DNS 设置:找到并选择需要添加 TXT 记录的域名,进入 DNS 管理页面。 3.添加 TXT 记录:记录类型:选择 TXT。主机记录:通常是子域名的前缀部分。比如:@ 或空:表示根域名(如 example.com)。www:表示 www.example.com。记录值:你需要设置的 TXT 记录内容。例如:对于 SPF 记录,通常是:v=spf1 a mx ~all。TTL(生存时间):TTL 表示该记录的缓存时间。TTL 较小意味着修改后更快生效,通常设置为 3600 秒(1 小时)。 常见 TXT 记录的使用示例1.SPF 记录:防止垃圾邮件伪造邮件发送源。一个常见的 SPF 记录示例如下:v=spf1 a mx ~all这个记录的意思是:只有与该域名关联的 A 记录和 MX 记录中的 IP 地址,才有权限发送该域的邮件。 2.DKIM 记录:域名密钥识别邮件(DKIM)用于防止邮件篡改。一个 DKIM 的 TXT 记录通常会包括公钥内容,格式如下:v=DKIM1; k=rsa; p=MIGfMA0GCSq... (公钥) 3.DMARC 记录:基于域的消息认证、报告和一致性(DMARC)帮助处理邮件验证失败的情况。一个 DMARC 记录的示例为:v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com 蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与您一起探索。
awk读取文件的基本逻辑欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。# 用法awk 'awk_program' a.txt语法解析:a.txt 是awk要读取的文件,可以是0个文件、一个文件或者多个文件;如果给定0个文件,则标识从标准输入中读取单引号包围的是awk代码,也称为awk程序;尽量使用单引号,因为在awk程序中经常使用$符号,而$符号在shell中是变量符号,如果使用双引号,则$符号会被shell解析为shell变量,然后进行变量替换;使用单引号,会让$符号留给awk去解析awk程序中,大量使用大括号,大括号表示代码块,代码块中间可以直接连用,代码块内部的多个语句使用分号";"隔开# 范例# 输出a.txt中的每一行awk '{print $0}' a.txt# 多个代码块,代码块中多个语句# 输出每行之后还输出两行:hello行和world行awk '{print $0}{print "hello";print "world"}' a.txt对于awk '{print $0}' a.txt,它类似于shell的while循环while read line;do echo "$line";done <a.txt。awk隐藏了读取每一行的while循环,它会自动读取每一行,其中的{print $0}对应于Shell的while循环体echo "$line"部分。下面再分析该awk命令的执行过程:读取文件第一行(awk默认按行读取文件)将所读取的行赋值给awk的变量$0,于是$0中保存的就是本次所读取的行数据进入代码块{print $0}并执行其中代码print $0,即输出$0,也即输出当前所读取的行执行完本次代码之后,进入下一轮awk循环:继续读取下一行(第二行)将第二行赋值给变量$0进入代码块执行print $0执行完代码块后再次进入下一轮awk循环,即读取第三行,然后赋值给$0,再执行代码块…不断循环,直到读完文件所有数据…退出awk蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。亲爱的 Linux 爱好者们,是否在 Ubuntu 系统更新时体验过龟速下载?这通常是因为默认的源在国外,网络延迟和带宽限制让我们苦不堪言。别担心,今天我就带你手把手教你如何将 Ubuntu 系统源更换为国内镜像,系统更新速度飞起来! 步骤一:备份原始源更换源前,备份原始的源列表文件非常重要。这样万一有问题,可以随时恢复。打开终端,输入以下命令,进入 apt 配置目录:cd /etc/apt/sudo cp sources.list sources.list_bak这一步确保你的源文件安全,随时可以恢复。 步骤二:编辑源列表文件接下来,我们要编辑 /etc/apt/sources.list 文件,将默认的源替换为国内的镜像源。可以使用 gedit(也可以用你喜欢的编辑器,如 nano)打开源文件:sudo gedit /etc/apt/sources.list然后,把文件内容替换为以下清华大学镜像源的配置(确保版本与你的 Ubuntu 版本一致,例如 focal 是 Ubuntu 20.04 的代号):# 默认注释了源码镜像,提升 apt update 速度,如需启用可以取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse# 不推荐启用预发布软件源# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse保存并退出编辑器。 步骤三:更新系统源更换源后,我们的下载速度将大大提高!现在,输入以下命令来更新软件包索引:sudo apt-get update接着,输入以下命令来升级所有可以升级的软件包:sudo apt-get upgrade此时,系统将开始使用新的国内源进行更新,下载速度飞起来! 国内其他优质源推荐除了清华大学镜像源,国内还有多个优秀的 Ubuntu 镜像源可供选择。你可以根据自己的需求选择其他镜像源,下面是一些常用的源配置示例:阿里云源:deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse中科大源:deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse# deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse 网易163源:deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
Linux操作系统的开放性和灵活性使其在全球范围内得到了广泛应用。而Linux发行版本(Distro)作为Linux操作系统的具体实现,提供了多种多样的选项来满足不同用户的需求。每一个发行版都包含了Linux内核、应用软件、工具和包管理系统,具有独特的特性和适用场景。无论是企业级用户,还是普通桌面用户,都可以根据自己的需求选择最适合的Linux发行版。Linux发行版本(Distro)是Linux操作系统的一种具体实现,包含了Linux内核以及各种外围应用软件和工具。这些发行版由个人、组织或企业基于GNU/Linux系统开发,为用户提供了一个易于安装和使用的操作系统环境。Linux发行版本种类繁多,每个版本都有其独特的特点和适用场景。以下是一些流行的Linux发行版本及其特点:Red Hat Enterprise Linux (RHEL):特点: 稳定性和可靠性高,适合企业级应用,提供商业支持和更新。适用场景: 广泛用于数据库、Web服务器等企业级应用。CentOS:特点: 基于RHEL的社区版,稳定性高,社区支持广泛。适用场景: 服务器环境,提供长期支持版本。Fedora:特点: 提供最新和先进的软件包,使用GNOME桌面环境,社区驱动,使用RPM软件包管理。适用场景: 桌面、开发者工作站和服务器,适合希望体验最新技术的用户。Debian:特点: 高度遵循GNU规范,稳定性强,分为stable、testing、unstable三个版本分支。适用场景: 广泛用于服务器和桌面环境,适合需要高度稳定性的用户。Ubuntu:特点: 基于Debian的开源操作系统,提供最新的软件包和特性,使用GNOME或KDE桌面环境。适用场景: 广泛用于桌面和服务器环境,适合需要最新特性的用户。Arch Linux:特点: 滚动发布系统,提供最新的软件包,灵活性高,适合高级用户。适用场景: 适合需要最新软件和高度定制的用户。Linux Mint:特点: 用户友好的桌面环境,提供多种桌面环境选择,易于安装和使用。适用场景: 适合希望有一个友好用户界面的普通用户。每个Linux发行版都有其独特的优势和适用场景,用户可以根据自己的需求选择最适合的版本。例如,对于需要高度稳定性和商业支持的场合,Red Hat Enterprise Linux是一个不错的选择;而对于希望体验最新技术和高度定制的用户,Arch Linux或Fedora可能更合适。总的来说,Linux发行版本各具特色,满足了不同用户和应用场景的需求。从企业级的稳定性和支持,到个人用户的灵活性和最新特性,每个发行版都有其独到之处。选择最适合自己的Linux发行版,不仅能够提升工作效率,还能带来更优的使用体验。无论你是开发者、系统管理员还是普通用户,Linux的多样性都能为你提供理想的操作系统环境。想了解更多相关内容,欢迎到蓝队官网,超多详细资料免费分享。
在当今的软件开发和运维领域,容器化技术逐渐成为主流,Docker作为最受欢迎的容器化平台之一,已经深刻改变了我们构建、部署和运行应用程序的方式。今天蓝队云就深入和大家探讨一下Docker的基本概念、主要组成部分,以及其在嵌入式Linux开发中的重要应用,帮助大家更好地理解Docker如何优化开发流程、提升资源管理和部署灵活性。一、什么是docker?Docker是一个开源的容器化平台,它允许开发者将应用程序及其所有的依赖(包括库、运行时环境、系统工具等)打包成一个标准化的单元,这个单元被称为容器。容器是一种轻量级的、独立运行的软件包,它在任何安装了Docker引擎的操作系统上都可以运行,并且能够保证运行环境的一致性。与传统虚拟机(VM)相比,Docker容器更加轻量。虚拟机是通过模拟硬件来运行一个完整的操作系统,而容器是直接运行在宿主机的操作系统内核之上,共享宿主机的内核只是在用户空间进行隔离。例如,一个虚拟机可能需要占用数GB的磁盘空间和大量的内存来运行一个完整的操作系统,而一个Docker容器可能只需要几十MB的空间,因为它不需要包含完整的操作系统内核。二、docker主要组成1、镜像是Docker容器的基础,它是一个只读的模板,包含了运行一个容器所需的所有文件系统层。可以把镜像想象成一个容器的蓝图。2、 容器是镜像的一个运行实例。当通过Docker运行一个镜像时,就会创建一个容器。容器在运行时是相互隔离的,每个容器都有自己独立的文件系统、进程空间、网络等。例如,在一个服务器上可以同时运行多个容器,一个容器运行一个Web应用,另一个容器运行一个数据库应用,它们之间不会相互干扰。3、 仓库是用于存储和分发Docker镜像的地方。Docker Hub是最常见的公共仓库,它包含了大量由开发者和组织共享的镜像。例如,官方的MySQL镜像、Python镜像等都可以在Docker Hub上找到。通俗的理解:镜像就像是一份蓝图或者菜谱,它详细地说明了容器应该长什么样,里面该有什么东西。例如,如果你想做一个蛋糕,镜像就是那个写着蛋糕原料配方和制作步骤的卡片。容器是通过镜像来创建的,而镜像是从仓库获取的。所以仓库就像是容器的 “源头的源头”。三、在嵌入式linux开发1)docker一个重要的作用就是实现资源隔离与限制,在一个物理主机上,可能运行着多个应用程序。如果没有隔离机制,这些应用程序可能会相互干扰。Docker提供了一种轻量级的虚拟化技术,它可以将应用程序及其依赖环境打包成一个容器,每个容器就像是一个独立的小系统。 Docker可以知道如何在一个资源受限的环境(如嵌入式设备)中,通过容器技术更好地隔离自己的程序与其他可能同时运行的程序。例如,一个嵌入式Linux设备可能同时运行着一个网络服务程序和一个数据采集程序。使用Docker,这两个程序可以分别运行在不同的容器中,避免因为其中一个程序占用过多资源(如内存、CPU)而影响另一个程序的运行。每个容器可以有自己独立的资源限制配置,比如可以限制某个容器最多只能使用100MB内存,这样就能保证其他容器和主机系统的正常运行。2)第二点就是开发环境一致性,开发环境和部署环境的差异常常会导致程序出现问题。开发人员在自己的机器上开发程序时,可能会安装很多特定版本的库和工具,但是当程序部署到其他设备上时,这些依赖可能会缺失或者版本不一致。 Docker允许将应用程序及其所有依赖(包括操作系统库、运行时环境等)打包成一个镜像。这个镜像可以在任何支持Docker的环境中运行,并且运行环境是完全一致的。这意味着可以在开发过程中构建一个包含所有必要依赖的Docker镜像,然后将这个镜像部署到嵌入式设备上,保证程序在不同的嵌入式设备上都能以相同的环境运行。例如,一个嵌入式Linux程序依赖于特定版本的Python库和一些自定义的配置文件。通过Docker,可以将Python解释器、特定版本的库以及配置文件都打包到一个镜像中,这样无论将这个镜像部署到哪种嵌入式Linux设备上,程序都能正确运行。3)部署灵活性的提升,平时我们进行嵌入式Linux程序部署可能需要手动配置各种依赖环境,而且在更新程序时,需要小心地更新每个设备上的程序和依赖,过程比较繁琐。Docker容器可以很方便地在不同的Linux环境中进行部署和迁移。在嵌入式系统中,如果需要更新程序,只需要将新的Docker容器镜像拉取到设备上并启动即可。例如,一个物联网应用中的嵌入式Linux设备分布在不同的地理位置,通过网络,运维人员可以将更新后的程序容器镜像推送到各个设备上,设备只需简单地更新容器,就可以运行新的程序版本,而不需要复杂的现场安装和配置过程。而且,如果需要将程序从一个嵌入式设备转移到另一个设备,只要目标设备支持Docker,就可以轻松地将容器迁移过去,大大提高了部署的灵活性。总的来说,Docker作为一种强大的容器化技术,不仅简化了软件开发和部署的复杂性,还为嵌入式Linux开发带来了极大的便利。通过Docker的资源隔离、环境一致性和部署灵活性,开发者可以更加高效地进行应用开发、测试和发布,特别是在资源受限的嵌入式环境中,Docker展现出了巨大的潜力。蓝队云官网还有更多技术分享等待大家的讨论,有需要的朋友也可以随时到官网和我们互动,现在注册蓝队云官网会员,享受专属年末福利哦!蓝队云官网更多内容免费分享
云主机作为云计算技术的核心构成要素,已然成为了推动企业数字化转型的关键动力。选择一家既有技术实力同时也具备性价比云南云主机租用平台也就成为了许多企业和个人开发者关注的重点。云南云主机租用选哪家?今天就由蓝队云来替大家仔细分析一波。云南云主机租用平台选哪家?技术实力是重中之重。云南云主机租用核心是稳定性和性能,而这两点都直接和平台的技术能力挂钩。一家具备实力的云南云主机租用平台,应该配备专业的技术团队和先进的硬件设备及虚拟化技术,保障用户能够享受到高效的服务。蓝队云作为一家扎根云南本土的云计算专业平台,在全国多地都设有机房,并且在昆明也有机房,适合云南企业和全国各地的企业。蓝队云的技术团队由经验丰富的专业运维人员组成,能够为用户提供7*24小时的技术支持,快速解决云主机使用过程中可能遇到的问题,降低企业的运维成本,提升业务的运营效率。服务靠不靠谱是云南云主机租用一定要考虑的因素。除了技术实力,服务质量也是选择云南云主机租用平台时必须重点考虑的因素。稳定可靠的客户服务,不仅能帮企业快速解决服务中遇到的问题,及时恢复业务,还能够保障用户的整体使用体验,拉近用户和企业之间的距离,助力企业的数字化转型之路。蓝队云提供专业的多对一客服服务,能够帮助用户快速提交备案材料,支持工单、QQ、企微等多种方式联系。真正做到在售前、售中、售后都提供全面专业的服务。经验和口碑绝对是云南云主机租用哪家好的直接证据。云南云主机租用哪家好,绝不是靠自己说出来的,客户的真实评价和实际案例,才能够帮助大家,更清楚地了解平台的实际表现。蓝队云是云南本地的专业云计算与网络安全服务商,服务过多家云南本地的知名政企,服务质量和口碑都是有目共睹的,在多个服务案例中通过提供高效、稳定的云主机解决方案,帮助客户成功应对了各种技术挑战,提升了信息化建设水平。蓝队云长期服务的云南政企有云南省通信管理局、云南白药、九机网等,在服务站积累了丰富的经验,不知道云南云主机租用哪家好的朋友,完全可以信任我们蓝队云。无论是从技术实力、服务质量、还是客户口碑上看,蓝队云都能为用户提供高效、稳定的云南云主机租用服务。我们官网提供了多种实例的云南云主机供大家选择,既支持小型网站的开发,也能满足高并发、大流量业务场景的需求。现在蓝队云云南云主机租用只要99元1年,还免费赠送5G DDoS防御、免费备案服务和定期的数据备份,点击下方链接就能直接参与活动,注册会员更享多重好礼。云南云主机买1年送1年,买3年送2年,买5年送5年
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。在 CentOS 7 中,yum 默认会安装软件的最新版本,这对于大多数情况是有益的,但有时我们可能需要安装指定版本的旧版软件,或者出于兼容性等需求,希望避免升级到最新版。幸运的是,yum 提供了几种方法,帮助我们安装特定版本的软件包。下面就详细介绍几种常见的方法,帮助你在 CentOS 7 中灵活安装指定版本的软件。 1. 查看可用版本首先,你需要查看某个软件包的所有可用版本。通过以下命令,你可以列出仓库中该软件包的所有版本信息:yum list <软件包名> --showduplicates例如,如果你想查看 nginx 的所有可用版本:yum list nginx --showduplicates该命令会列出所有可用的版本信息,包括版本号和架构类型。通过这种方式,你可以选择合适的版本进行安装。 2. 安装指定版本的软件包一旦你找到了想要安装的版本,可以使用以下命令来安装指定版本的包:yum install <软件包名>-<版本号>例如,假设你想安装 nginx 版本 1.18.0:yum install nginx-1.18.0在运行该命令时,确保版本号与仓库中的版本完全匹配。如果没有指定正确的版本,yum 会默认安装最新的版本。 3. 使用 yum versionlock 锁定软件版本如果你想安装某个特定版本的软件,并确保在未来不会因为系统更新而意外升级,可以使用 yum-plugin-versionlock 插件来锁定软件包的版本。首先,你需要安装这个插件:yum install yum-plugin-versionlock安装完成后,你可以使用以下命令来锁定指定版本:yum versionlock <软件包名>-<版本号>例如,要锁定 nginx 的 1.18.0 版本:yum versionlock nginx-1.18.0这样,即使你运行 yum update,nginx 的版本也不会被自动更新。如果你想查看哪些软件包已被锁定,可以使用:yum versionlock list解除锁定某个软件包时,可以使用:yum versionlock delete <软件包名> 4. 安装特定版本的软件包并禁用更新如果你希望禁用更新,但仍然安装指定版本的软件,可以使用 --disableexcludes=all 选项。这将阻止 yum 自动从其他源拉取更新:yum install <软件包名>-<版本号> --disableexcludes=all这对于避免软件包版本在安装时被误升级很有帮助。 5. 通过 rpm 安装旧版本有时候,yum 仓库中并没有你需要的特定版本软件。在这种情况下,你可以通过手动下载 .rpm 包并使用 rpm 工具进行安装。首先,从 CentOS 官方镜像站或其他可靠的源下载所需版本的 .rpm 包,然后使用以下命令进行安装:rpm -ivh <rpm包路径>例如,假设你已经下载了 nginx-1.18.0-1.el7.x86_64.rpm 文件,可以通过:rpm -ivh nginx-1.18.0-1.el7.x86_64.rpm如果软件包已经安装且需要回退到旧版本,也可以使用 rpm -U 命令进行升级:rpm -Uvh nginx-1.18.0-1.el7.x86_64.rpm 6. 使用 yum downgrade 降级软件包如果你已经安装了某个新版本的软件,并希望将其降级到旧版本,可以使用 yum downgrade 命令:yum downgrade <软件包名>-<版本号>例如,假设你安装了 nginx 的一个较新版本,现在需要将其降级到 1.18.0 版本:yum downgrade nginx-1.18.0yum downgrade 会将软件包恢复到你指定的版本,同时处理相关依赖问题。 7. 手动指定特定软件源进行安装如果你需要从某个特定的软件源安装指定版本的软件,可以通过 --enablerepo 参数启用该软件源。例如:yum install <软件包名>-<版本号> --enablerepo=<repo-name>假设你希望从 nginx-stable 仓库安装 nginx 版本 1.18.0:yum install nginx-1.18.0 --enablerepo=nginx-stable通过这种方式,你可以确保安装来自特定仓库的软件包版本。 8. 安装软件时的其他注意事项确保版本匹配:在安装软件时,要确保你选择的版本与系统架构匹配(如 x86_64)。软件包仓库:如果你有多个软件源,确保你从正确的仓库安装软件,以免出现版本不一致的问题。软件锁定:在使用 yum versionlock 时要小心,以免不小心锁定了不需要的软件包版本,造成后续依赖问题。蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。1 迁移原理与注意事项Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS8.x兼容,所以CentOS8.x迁移Anolis OS 8实现上,工具充分利用了兼容的特性,提供了一键式迁移脚本。centos2anolis.py。CentOS 8.x迁移使用Anolis OS release相关的包替代CentOS release,通过yum distro-sync重装当前系统中所有的系统软件包。软件重装的过程并不会修改当前系统基础配置,所以系统配置,业务配置,业务数据都不会被清除,迁移完成后这些数据无需重新设置。使用迁移脚本前需要注意如下事项:迁移过程涉及软件包重装,是不可逆过程,迁移前务必做好备份。迁移过程涉及到访问Anolis OS 的官方repo,需要确保待迁移环境网络能够正常访问Anolis OS repo。需要使用root用户执行,当前只支持CentOS8.x系统的迁移,不支持CentOS stream系统迁移。迁移过程依赖于yum/dnf,确保这两个组件能够正常运行。迁移脚本提供了Anolis OS repo访问加速的功能,如果访问Anolis OS官方repo速度较慢,可以通过-s选项进行加速访问。Anolis OS 不提供i686架构的软件包,如您系统上安装了CentOS的i686架构的软件包,则无法正常迁移。2 部署迁移工具选项一 从本地 yum 源安装迁移工具如果待迁移系统无法访问龙蜥 mirror,首先建议在内网搭建一套本地yum源。(如何做本地yum源 用户名: rsync_user , 密码: Rsync@2020) ,然后通过本地源安装迁移工具。假设本地源地址为 http:///local.repo.com/anolis , 则下载迁移工具软件源:wget http:///local.repo.com/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo然后执行下述命令将 /etc/yum.repos.d/anolis-migration.repo 里面的baseurl地址替换为本地源地址。sed -i "s#baseurl=https:///mirrors.openanolis.cn/#baseurl=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.reposed -i "s#gpgkey=https:///mirrors.openanolis.cn/#gpgkey=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.repo安装迁移工具centos2anolis:yum -y install centos2anolis选项二 从社区 yum 源(mirrors.openanolis.cn) 安装迁移工具如果待迁移系统可以联网,则下载迁移工具软件源:wget https:///mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo安装迁移工具centos2anolis:yum -y install centos2anolis3 迁移执行选项一 使用本地 yum 源执行迁移针对本地配置的龙蜥 yum 源, 该如何使用迁移工具进行迁移操作?在无法接入到mirrors.openanolis.cn 或 mirrors.aliyun.com 时,可以使用本地源迁移系统。(如何做本地yum源 用户名: rsync_user , 密码: Rsync@2020)1.在运行工具之前,新建或者编辑Anolis仓库的repo文件:/etc/yum.repos.d/switch-to-anolis.repo (注意,请确保文件名为 switch-to-anolis.repo), 将对应的 repo baseurl 地址改成本地源 repo 地址, 譬如,假设本地源地址为 http:///local.repo.com/anolis , 则配置文件如下[an8_baseos]name=AnolisOS-8 - BaseOSbaseurl=http:///local.repo.com/anolis/8/BaseOS/$basearch/osgpgcheck=0enabled=1[an8_appstream]name=AnolisOS-8 - AppStreambaseurl=http:///local.repo.com/anolis/8/AppStream/$basearch/osgpgcheck=0enabled=11.执行下面命令进行迁移centos2anolis.py -l上述命令是默认迁移到带 ANCK 内核的龙蜥OS,如果你想迁移到带 RHCK 内核的龙蜥OS请执行下面的命令进行迁移centos2anolis.py -l --rhck选项二 使用社区 yum 源(mirrors.openanolis.cn) 执行迁移直接执行下述命令即可centos2anolis.py上述命令是默认迁移到带 ANCK 内核的龙蜥OS,如果你想迁移到带 RHCK 内核的龙蜥OS请执行下面的命令进行迁移centos2anolis.py --rhck 迁移完成后,系统会提示如下信息,表示迁移成功,重启即可进入Anolis OS系统。centos2anolis.py提供了-V选项,用于记录迁移前后的软件包信息,您可以根据需要判断是否添加选项。添加-V选项,迁移完成后会在/var/tmp目录下生成迁移前后的rpm信息,命名格式为:# 迁移前 $(hostname)-rpms-list-before.log $(hostname)-rpms-verified-before.log # 迁移后 $(hostname)-rpms-list-after.log $(hostname)-rpms-verified-after.log4 迁移后配置检查CentOS在2021年12月31号停止维护,相应的CentOS源在2022年1月31号从官网删除,导致CentOS实例无法正常使用repo,阿里云官方给出了切换使用CentOS Vault源的指导:https:///help.aliyun.com/document_detail/405635.html如果您按照该指导切换使用CentOS Vault源或者自行配置使用Vault源,然后实施迁移Anolis OS,迁移完成后,需要检查当前系统中是否残留CentOS Vault源。通过命令yum repolist检查:# yum repolistInvalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Linux-epel.repo; 配置:ID 为 "failovermethod" 的 OptionBinding 不存在Repository PowerTools is listed more than once in the configurationRepository AppStream is listed more than once in the configuration仓库 id 仓库名称AppStream AnolisOS-8 - AppStreamBaseOS AnolisOS-8 - BaseOSExtras AnolisOS-8 - ExtrasPowerTools AnolisOS-8 - PowerToolsbase CentOS-8.5.2111 - Base - mirrors.aliyun.comepel Extra Packages for Enterprise Linux 8 - x86_64extras CentOS-8.5.2111 - Extras - mirrors.aliyun.com如上述结果所示,“CentOS-8.5.2111 - Base - mirrors.aliyun.com”就是残留的CentOS repo,需要删除,否则会出现Anolis OS和CentOS源共存的问题,一旦执行yum update可能会错误地安装CentOS的包。删除CentOS源的方法和步骤如下:1.查找提供CentOS repo的配置文件# grep -rn "CentOS-8.5.2111" /etc/yum.repos.d/*.repo/etc/yum.repos.d/Centos-vault-8.5.2111.repo:14:name=CentOS-8.5.2111 - Base - mirrors.aliyun.com/etc/yum.repos.d/Centos-vault-8.5.2111.repo:24:name=CentOS-8.5.2111 - Extras - mirrors.aliyun.com/etc/yum.repos.d/Centos-vault-8.5.2111.repo:34:name=CentOS-8.5.2111 - Plus - mirrors.aliyun.com/etc/yum.repos.d/Centos-vault-8.5.2111.repo:43:name=CentOS-8.5.2111 - PowerTools - mirrors.aliyun.com/etc/yum.repos.d/Centos-vault-8.5.2111.repo:53:name=CentOS-8.5.2111 - AppStream - mirrors.aliyun.com1.重命名步骤1找到的配置文件mv /etc/yum.repos.d/Centos-vault-8.5.2111.repo /etc/yum.repos.d/Centos-vault-8.5.2111.repo.bak5 迁移后验证查看os版本:# cat /etc/os-releaseNAME="Anolis OS"VERSION="8.5"ID="anolis"ID_LIKE="rhel fedora centos"VERSION_ID="8.5"PLATFORM_ID="platform:an8"PRETTY_NAME="Anolis OS 8.5"ANSI_COLOR="0;31"HOME_URL="https:///openanolis.cn/"通过命令查看当前系统中是否有残留CentOS软件包,如果残留kernel包,为正常现象,kernel包支持多版本共存。rpm -qa --qf "%{NAME} %{VENDOR}\\\\n" | grep CentOS6 注意1)就地迁移失败是否可回滚?迁移工具不支持回滚,迁移失败无法恢复到迁移初始状态,迁移前务必做好系统备份。蓝队云官网拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。更多技术知识,蓝队云期待与你一起探索。
欢迎来到蓝队云小课堂,今天给大家介绍Linux服务器中的查找命令 1. grepgrep命令是一种强大的文本搜索工具使用实例:ps -ef | grep sshd 查找指定ssh服务进程 ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 ps -ef | grep sshd -c 查找指定进程个数 2. findfind命令在目录结构中搜索文件,并对搜索结果执行指定的操作。 find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。使用实例:find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。 find /root/ -perm 600 查找/root/目录下权限为600的文件 find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件 find . -type d | sort 查找当前所有目录并排序 find . -size +100M 查找当前目录大于100M的文件 3. locatelocate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory该错误!updatedb即可! yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令使用实例:updatedblocate /etc/sh 搜索etc目录下所有以sh开头的文件 locate pwd 查找和pwd相关的所有文件 4. whereiswhereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。使用实例:whereis ls 将和ls文件相关的文件都查找出来 5. whichwhich命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。使用实例: which pwd 查找pwd命令所在路径 which java 查找path中java的路径 蓝队云官网上拥有完善的技术支持库,你可以在这里找到更多的帮助和资源。如果你有任何技术问题,也欢迎直接咨询我们。同时,蓝队云还整理了运维必备的工具包,免费分享给大家使用,需要的朋友可以直接咨询。 更多技术知识,蓝队云期待与你一起探索。让我们一起在技术的海洋中航行,发现更多的秘密和宝藏。
服务热线:
4006-75-4006(7*24小时在线)
总机直拨:
0871-63886388(工作日9:00-18:00)
售前咨询
售后咨询
备案咨询
电话
二维码
TOP