systemd

Systemd string escaping

Deadly 提交于 2019-12-04 09:52:56
If I run this command /bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done' I get back from etcd what I expect {"host":"1", "port":49155} But if I put it in a systemd file ExecStart=/bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done' I get back {host:1, port:49155} Any idea of why the escaping is different inside of the file? How can I fix it? Thanks!!

Launching Linux from Busybox (pivot_root or switch_root, or ? )

耗尽温柔 提交于 2019-12-04 09:52:55
On a beaglebone hardware, I want to start on a partition with a minimalist busybox system (/dev/mmcblk0p2), run some checks on the 2 other partitions (/dev/mmcblk0p5 & /dev/mmcblk0p6) containing more complete Linux systems (Angström), then start on one or the other of the 2 Linux systems based on those tests. The problem is that I cannot find how to start another system correctly from busybox. What I did: From the (perfectly working) busybox system: export PATH=/bin:/sbin:/usr/bin:/usr/sbin mount -t sysfs sysfs /sys mkdir -p /dev/pts mount -t devpts devpts /dev/pts mount /dev/mmcblk0p5 /mnt

1.7 Systemd初始化进程

送分小仙女□ 提交于 2019-12-04 09:17:44
1.7 Systemd初始化进程 Linux操作系统的开机过程是这样的,即从BIOS开始,然后进入Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。红帽RHEL 7系统已经替换掉了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务。如果您之前学习的是RHEL 5或RHEL 6系统,可能会不习惯。systemd初始化进程服务采用了并发启动机制,开机速度得到了不小的提升。虽然systemd初始化进程服务具有很多新特性和优势,但目前还是下面4个槽点。 槽点1:systemd初始化进程服务的开发人员Lennart Poettering就职于红帽公司,这让其他系统的粉丝很不爽。 槽点2: systemd初始化进程服务仅仅可在Linux系统下运行,“抛弃”了UNIX系统用户。 槽点3:systemd接管了诸如syslogd、udev、cgroup等服务的工作,不再甘心只做初始化进程服务。 槽点4:使用systemd初始化进程服务后,RHEL 7系统变化太大,而相关的参考文档不多,令用户着实为难。 无论怎样,RHEL 7系统选择systemd初始化进程服务已经是一个既定事实,因此也没有了“运行级别”这个概念

1.4 重置root用户密码

感情迁移 提交于 2019-12-04 08:46:26
图1-45 系统的欢迎界面 1.4 重置root用户密码 平日里让运维人员头疼的事情已经很多了,因此偶尔把Linux系统的密码忘记了并不用慌,只需简单几步就可以完成密码的重置工作。 但是,如果您是第一次阅读本书,或者之前没有Linux系统的使用经验,请一定先跳过本节,等学习完Linux系统的命令后再来学习本节内容。 如果您刚刚接手了一台Linux系统,要先确定是否为RHEL 7系统。如果是,然后再进行下面的操作。 [root@linuxprobe ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) 第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面,如图1-46所示。 图1-46 Linux系统的引导界面 第2步:在linux16参数这行的最后面追加“rd.break”参数,然后按下Ctrl + X组合键来运行修改过的内核程序,如图1-47所示。 图1-47 内核信息的编辑界面 第3步:大约30秒过后,进入到系统的紧急求援模式,如图1-48所示。 图1-48 Linux系统的紧急救援模式 第4步:依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码linuxprobe来登录Linux系统了。命令行执行效果如图1-49所示。 mount

Ubuntu 16.04 装机后的配置要点

主宰稳场 提交于 2019-12-04 08:42:57
文章首发于我的技术博客:你可以在上面看到更多的 Python教程 和 python爬虫 Ubuntu 作为一个Linux的发行版,在桌面环境的易用性上做了很多改善,对推动Linux的推广做了很大的贡献。同时,它作为服务器的操作系统也越来越多的被使用。当然,服务器端可能更多的人在使用Redhat、CentOS等系统。Linux的发行版本很多,基本命令都差不多,但是一些系统配置上,也存在着各种各样的差异。笔者结合Ubuntu的多年使用经验,总结一下Ubuntu系统的一些配置要点。 1. 网络的配置 Ubuntu在安装过程中会自动寻找网络连接并配置网络IP等,但是好多情况下,安装系统时不需要或不方便配置网络。那么,等我们安装完系统,就要先配好网络才能继续安装、配置其它软件。Ubuntu的网卡名称在几年前(大约14.04之前的版本)都是这样命名的: 有线网卡为eth0(多个网卡序号增大:eth1, eth2…),无线网卡是wlan0。 但是到了16.04的版本,网卡的命名做了非常大的改动,名称从eth0变为en开头的,为什么改名呢? 可预测的网络接口命名 自从 v197 systemd/udev 开始,系统可以为本地的Ethernet、WLAN和WWAN接口自动地分配可预测的、稳定的网络接口名称。该规范脱离了传统的命名机制(eth0,eth1,wlan0等),但是修复了许多问题。 原因

centos7编译安装php7

别说谁变了你拦得住时间么 提交于 2019-12-04 08:39:21
安装依赖 [root@localhost ~]# yum -y install gcc gcc++ gcc-c++ wget make libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bison autoconf libmcrypt libmcrypt-devel mhash mhash-devel mcrypt re2c 创建目录,现在php7.1.6 mkdir -p /usr/src/php7.1.6 cd /usr/src/php7.1.6 wget -c https://github.com/php/php-src/archive/php-7.1.6.tar.gz tar -xvf php-7.1.6.tar.gz 生成php源码目录下的配置文件 configure cd /usr/src/php7.1.6/php-src-php-7.1.6 ./buildconf --force 运行完以后文件结构如下: . ├── acinclude.m4 ├── aclocal.m4 ├── appveyor ├── autom4te.cache ├── build ├── buildconf ├── buildconf.bat ├──

Docker配置文件位置

可紊 提交于 2019-12-04 08:13:53
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 CentOS 7 是用 systemd来管理docker进程的。所以要想知道docker的文件位置,我们可以查看systemd的配置, 使用命令查看docker的systemd配置: cat /usr/lib/systemd/system/docker.service 如图: 可以看到systemd启动的配置文件是由环境变量获得的。而环境变量是在/etc/sysconfig/docker,/etc/sysconfig/docker-storage,/etc/sysconfig/docker-network内,可以依次查看。 参考资料: docker 1.9的配置文件在哪里 来源: CSDN 作者: 风暴幽居 链接: https://blog.csdn.net/shuiyuetianwy/article/details/86629299

cron-chkconfig-systemd-unit-target

时间秒杀一切 提交于 2019-12-04 07:37:56
任务计划cron : /etc/crontab #任务计划配置文件 格式: 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6or1-7) 用户 命令 /var/spool/cron/[username] #各个用户配置的任务历史 配置定时任务 : 使用crontab命令,常用参数:-u指定用户 -e编辑 -l查看 -r删除 例子: crontab -e 0 3 * * * /bin/bash /root/1.sh #每天凌晨3点整执行 /root/1.sh 。“*”表示所有 0 3 1-10 * * /bin/bash /root/1.sh #每月1至10号凌晨3点整执行 /root/1.sh。 0 3 1-10 */2 * /bin/bash /root/1.sh #每隔两个月的1至10号凌晨3点整执行 /root/1.sh 0 3 * * 3,5 /bin/bash /root/1.sh #每周三和周五的凌晨3点整执行 /root/1.sh 启动定时服务 : systemctl start crond 系统服务管理chkconfig : chkconfig --list #列出所有sysV的服务 chkconfig --level 3 network off #network服务在3启动项下不开机自启动 chkconfig --level 345

Linux 任务计划和服务管理

两盒软妹~` 提交于 2019-12-04 07:37:29
Linux任务计划cron crontab -u/-e/-l/-r 格式: 分 时 日 月 周 user command # 可以通过配置文件查看 cat /etc/crontab 文件 /var/spool/cron/username 分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-6 可用格式1-5表示一个范围1到5 可用格式1,2,3表示1或者2或者3 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时 要保证服务是启动状态 systemctl start crond.service [root@test-a ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .--

八周一次课(5月11日)linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、target介绍

混江龙づ霸主 提交于 2019-12-04 07:37:11
10.23 linux任务计划cron 配置文件, cat /etc/crontab 重点是上图第二个红色框框的内容,前面的五个“ ”,分别表示分钟、小时、日期、月份、星期。user-name 表示用户名,没有的话默认是 root ,command to be executed 表示要执行的命令。 输入命令 crontab -e,回车,就会进入到配置文件里 用法和 vim 是一样的,按字母“i”进入编辑模式,“Esc”退出编辑,“:wq”保存并退出, “:q”退出,“:q!”强制退出。 现在来讲解一下任务计划: “0 3 ”:表示每天的凌晨3点。表示所有的范围。分钟位就是0-59,小时位表示0-23,日期表示1-31,月份表示1-12,星期表示1-7。 “0 3 1-10 /2 2,5 ”:表示双月1-10号的周二和周五凌晨3点。其中,月份这边“/2”表示可以被2除,就是双月的意思,小时这边/2就表示每隔两小时。 这边没有年份,是因为星期可以确定唯一性,每一年的月份和星期都不一样。 0 3 1-10 /2 2,5 /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log 这个任务计划里,/bin/bash 表示用户,/usr/local/sbin/123.sh 表示文件里面有个shell脚本,执行里面的命令。>>