centos小结与安装docker

centos无法启动之fstab
你可能由于对磁盘管理,修改了/etc/fstab文件,进行自动挂载,但是卸载磁盘后,忘记修改/etc/fstab文件,导致了如下启动linux错误,开启进入紧急模式
error getting authority error initializing authority could not connect no such file or directory

如何解决?

注释或删除/etc/fstab中定义的自动挂载配置,以及无用的挂载配置,然后重启系统
systemctl reboot
即可正常重启linux



centos7如何添加开机启动项?>/div?

centos7提供开启服务启动的方式:


1.系统服务管理命令,如果是通过yum安装的软件,开机启动脚本,已经自动创建好了,直接执行如下命令


nginx.service后缀可以省略


systemctl enable nginx.service #这里nginx指的是提前配置好的开机脚本文件


systemctl start nginx.service #启动nginx服务,也是执行一个nginx脚本文件



2.因为/usr/lib/systemd/system/这个目录是存放启动文件,里面一般都是 xx.service 格式


我们使用systemctl enable nginx.service 其实就是在调用/usr/lib/systemd/system/nginx.service



3.默认nginx.service脚本文件内容如下


[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target


[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running nginx -t from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true


[Install]
WantedBy=multi-user.target



 


具体systemctl命令用法,请看
http://man.linuxde.net/systemctl



4.总结


复制代码

1.如果你是编译安装的软件,例如是redis,默认没有redis.service
2.就进入/usr/lib/systemd/system/目录,然后创建redis.service 普通文件,touch redis.service
3.然后写入如下内容,路径可能需要修改,根据自己安装路径修改
[Unit]
Description
=Redis persistent key-value database
After
=network.target
After
=network-online.target
Wants
=network-online.target

[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
ExecStop
=/usr/libexec/redis-shutdown
Type
=notify
User
=redis
Group
=redis
RuntimeDirectory
=redis
RuntimeDirectoryMode
=0755

[Install]
WantedBy=multi-user.target


复制代码


 


4.然后通过命令,添加开机启动项
systemctl enable redis.service
systemctl start redis.service








centos7安装docker


1、查看linux发行版,内核


复制代码

[root@docker~]# cat /etc/redhat-release #查看版本号

CentOS Linux release
7.1.1503 (Core)

[root@docker ~]# uname -r #查看Linux内核

c3.
10.0-229.el7.x86_64


复制代码

2、替换阿里云yum源



1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里yum源2

2 yum makecache #生成仓库缓存



3、安装docker



yum install docker -y


4、启动docker



systemctl start docker #启动docker
systemctl enable docker #开机启动docker
systemctl status docker #查看docker状态


5、查看docker 版本



docker version

#yum装的是1.12.6


6、DaoCloud 加速器 是广受欢迎的 Docker 工具,解决了国内用户访问 Docker Hub 缓慢的问题。DaoCloud 加速器结合国内的 CDN 服务与协议层优化,成倍的提升了下载速度。


使用前请先确保您的 Docker 版本在 1.8 或更高版本,否则无法使用加速。


http://guide.daocloud.io/dcs/daocloud-9153151.html 教程官网


复制代码

 cat /etc/docker/daemon.json #修改这个文件为如下内容

{
"registry-mirrors": [
"http://95822026.m.daocloud.io"
],
"insecure-registries": []
}
---------------------------------------------------------
或者用这条命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://95822026.m.daocloud.io
#事后重启docker
systemctl restart docker

复制代码

7、比如我们要装一个nginx,先搜寻一下有哪些公有镜像,然后开始安装 启动..



docker search nginx #就找第一个,下载最多的,官方镜像
docker pull nginx #下载nginx镜像
docker images #查看有哪些镜像


8、启动nginx镜像



docker run -p 8000:80 --name mynginx -d nginx 
#-p指定服务器8000端口,映射容器80 web端口,容器名为mynginx -d 守护进程模式启动(因为容器必须有进程在运行,否则结束就挂)
docker ps #查看目前工作的容器
docker ps -a #查看所有运行过的容器


9、此时可以用服务器ip地址,在浏览器访问,默认80端口不用写,即可访问到 welcome nginx


10、可用exec命令进入容器系统



docker exec -it 容器ID /bin/bash



Linux之RPM GPG签名

原文地址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml

GPG在Linux上的应用主要是实现官方发布的包的签名机制。
GPG分为公钥及私钥。
公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据。
               
实现原理(以Red Hat签名为例):
1>RH在发布其官方的RPM包时(如本地RHEL光盘及FTP空间包),会提供一个GPG密钥文件,即所谓的公钥。
2>用户下载安装这个RPM包时,引入RH官方的这个RPM GPG公钥,用来验证RPM包是不是RH官方签名的。
导入GPG-KEY:
可以去https://www.redhat.com/security/team/key/或/etc/pki/rpm-gpg查找相应的GPG密钥,并导入到RPM:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY
签名及加密概念:
签名与加密不是一个概念。
签名类似于校验码,用于识别软件包是不是被修改过,最常用的的就是我们的GPG及MD5签名,原方使用一定的字符(MD5)或密码(GPG私钥)与软件进行相应的运算并得到一个定长的密钥,。
加密是用一定的密钥对原数据进行修改,即使程序在传输中被截获,只要它不能解开密码,就不能对程序进行修改,除非破坏掉文件,那样我们就知道软件被修改过了。
RPM验证方法:
1>验证安装的整个软件包的文件
rpm -V crontabs-1.10-8
2>验证软件包中的单个文件
rpm -Vf /etc/crontab
如果文件没有被修改过,则不输出任何信息。
3>验证整个软件包是否被修改过
rpm -Vp AdobeReader_chs-7.0.9-1.i386.rpm
.......T   /usr/local/Adobe/Acrobat7.0/Reader/GlobalPrefs/reader_prefs
S.5....T   /usr/local/Adobe/Acrobat7.0/bin/acroread
4>验证签名
rpm -K AdobeReader_chs-7.0.9-1.i386.rpm
AdobeReader_chs-7.0.9-1.i386.rpm: sha1 md5 OK
验证结果含意:
S :file Size differs
M :Mode differs (includes permissions and file type)
5 :MD5 sum differs
D :Device major/minor number mis-match
L :readLink(2) path mis-match
U :User ownership differs
G :Group ownership differs
T :mTime differs

Linux查看服务器公网ip的方法

在解决网络问题时,需要查看本机的出口公网IP信息,有如下两个方法:

curl ifconfig.me

在linux系统中输入上述的命令,可以查看到本机连接的公网信息;

如果该命令无效,可以使用下面一个命令,也同样可以获得对应的信息

curl cip.cc

你可能由于对磁盘管理,修改了/etc/fstab文件,进行自动挂载,但是卸载磁盘后,忘记修改/etc/fstab文件,导致了如下启动linux错误,开启进入紧急模式
error getting authority error initializing authority could not connect no such file or directory

如何解决?

注释或删除/etc/fstab中定义的自动挂载配置,以及无用的挂载配置,然后重启系统
systemctl reboot
即可正常重启linux

centos7提供开启服务启动的方式:


1.系统服务管理命令,如果是通过yum安装的软件,开机启动脚本,已经自动创建好了,直接执行如下命令


nginx.service后缀可以省略


systemctl enable nginx.service #这里nginx指的是提前配置好的开机脚本文件


systemctl start nginx.service #启动nginx服务,也是执行一个nginx脚本文件



2.因为/usr/lib/systemd/system/这个目录是存放启动文件,里面一般都是 xx.service 格式


我们使用systemctl enable nginx.service 其实就是在调用/usr/lib/systemd/system/nginx.service



3.默认nginx.service脚本文件内容如下


[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target


[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running nginx -t from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true


[Install]
WantedBy=multi-user.target



 


具体systemctl命令用法,请看
http://man.linuxde.net/systemctl



4.总结


复制代码

1.如果你是编译安装的软件,例如是redis,默认没有redis.service
2.就进入/usr/lib/systemd/system/目录,然后创建redis.service 普通文件,touch redis.service
3.然后写入如下内容,路径可能需要修改,根据自己安装路径修改
[Unit]
Description
=Redis persistent key-value database
After
=network.target
After
=network-online.target
Wants
=network-online.target

[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
ExecStop
=/usr/libexec/redis-shutdown
Type
=notify
User
=redis
Group
=redis
RuntimeDirectory
=redis
RuntimeDirectoryMode
=0755

[Install]
WantedBy=multi-user.target


复制代码


 


4.然后通过命令,添加开机启动项
systemctl enable redis.service
systemctl start redis.service




1、查看linux发行版,内核


复制代码

[root@docker~]# cat /etc/redhat-release #查看版本号

CentOS Linux release
7.1.1503 (Core)

[root@docker ~]# uname -r #查看Linux内核

c3.
10.0-229.el7.x86_64


复制代码

2、替换阿里云yum源



1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里yum源2

2 yum makecache #生成仓库缓存



3、安装docker



yum install docker -y


4、启动docker



systemctl start docker #启动docker
systemctl enable docker #开机启动docker
systemctl status docker #查看docker状态


5、查看docker 版本



docker version

#yum装的是1.12.6


6、DaoCloud 加速器 是广受欢迎的 Docker 工具,解决了国内用户访问 Docker Hub 缓慢的问题。DaoCloud 加速器结合国内的 CDN 服务与协议层优化,成倍的提升了下载速度。


使用前请先确保您的 Docker 版本在 1.8 或更高版本,否则无法使用加速。


http://guide.daocloud.io/dcs/daocloud-9153151.html 教程官网


复制代码

 cat /etc/docker/daemon.json #修改这个文件为如下内容

{
"registry-mirrors": [
"http://95822026.m.daocloud.io"
],
"insecure-registries": []
}
---------------------------------------------------------
或者用这条命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://95822026.m.daocloud.io
#事后重启docker
systemctl restart docker

复制代码

7、比如我们要装一个nginx,先搜寻一下有哪些公有镜像,然后开始安装 启动..



docker search nginx #就找第一个,下载最多的,官方镜像
docker pull nginx #下载nginx镜像
docker images #查看有哪些镜像


8、启动nginx镜像



docker run -p 8000:80 --name mynginx -d nginx 
#-p指定服务器8000端口,映射容器80 web端口,容器名为mynginx -d 守护进程模式启动(因为容器必须有进程在运行,否则结束就挂)
docker ps #查看目前工作的容器
docker ps -a #查看所有运行过的容器


9、此时可以用服务器ip地址,在浏览器访问,默认80端口不用写,即可访问到 welcome nginx


10、可用exec命令进入容器系统



docker exec -it 容器ID /bin/bash



原文地址:http://linux.chinaunix.net/techdoc/system/2007/09/26/968723.shtml

GPG在Linux上的应用主要是实现官方发布的包的签名机制。
GPG分为公钥及私钥。
公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据。
               
实现原理(以Red Hat签名为例):
1>RH在发布其官方的RPM包时(如本地RHEL光盘及FTP空间包),会提供一个GPG密钥文件,即所谓的公钥。
2>用户下载安装这个RPM包时,引入RH官方的这个RPM GPG公钥,用来验证RPM包是不是RH官方签名的。
导入GPG-KEY:
可以去https://www.redhat.com/security/team/key/或/etc/pki/rpm-gpg查找相应的GPG密钥,并导入到RPM:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY
签名及加密概念:
签名与加密不是一个概念。
签名类似于校验码,用于识别软件包是不是被修改过,最常用的的就是我们的GPG及MD5签名,原方使用一定的字符(MD5)或密码(GPG私钥)与软件进行相应的运算并得到一个定长的密钥,。
加密是用一定的密钥对原数据进行修改,即使程序在传输中被截获,只要它不能解开密码,就不能对程序进行修改,除非破坏掉文件,那样我们就知道软件被修改过了。
RPM验证方法:
1>验证安装的整个软件包的文件
rpm -V crontabs-1.10-8
2>验证软件包中的单个文件
rpm -Vf /etc/crontab
如果文件没有被修改过,则不输出任何信息。
3>验证整个软件包是否被修改过
rpm -Vp AdobeReader_chs-7.0.9-1.i386.rpm
.......T   /usr/local/Adobe/Acrobat7.0/Reader/GlobalPrefs/reader_prefs
S.5....T   /usr/local/Adobe/Acrobat7.0/bin/acroread
4>验证签名
rpm -K AdobeReader_chs-7.0.9-1.i386.rpm
AdobeReader_chs-7.0.9-1.i386.rpm: sha1 md5 OK
验证结果含意:
S :file Size differs
M :Mode differs (includes permissions and file type)
5 :MD5 sum differs
D :Device major/minor number mis-match
L :readLink(2) path mis-match
U :User ownership differs
G :Group ownership differs
T :mTime differs

在解决网络问题时,需要查看本机的出口公网IP信息,有如下两个方法:

curl ifconfig.me

在linux系统中输入上述的命令,可以查看到本机连接的公网信息;

如果该命令无效,可以使用下面一个命令,也同样可以获得对应的信息

curl cip.cc

猜你喜欢

转载自www.cnblogs.com/abdm-989/p/12166964.html