在Linux虚拟机上安装其他操作系统

##镜像文件在OneDrive

wget -N –no-check-certificate https://raw.githubusercontent.com/veip007/dd/master/dd-od.sh && chmod +x dd-od.sh && ./dd-od.sh

##镜像文件在GoogleDrive

wget -N –no-check-certificate https://raw.githubusercontent.com/veip007/dd/master/dd-gd.sh && chmod +x dd-gd.sh && ./dd-gd.sh

K8S部署,运行第一个容器

1.环境准备

  • 准备三台主机 1台控制节点 2台计算节点 (环境必须是纯净的否则会有很多坑)

1.1:修改IP地址、主机和host解析

10.0.0.11 k8s-master
10.0.0.12 k8s-node-1
10.0.0.13 k8s-node-2
所有节点都需要做hosts解析

1.2:Master节点 安装etcd (数据存储,注意需要Base源)

yum install etcd -y
  • etcd 原生支持做集群
  • 修改etcd配置文件

[root@k8s-master ~]# vim /etc/etcd/etcd.conf

6行:ETCD_LISTEN_CLIENT_URLS="[http://0.0.0.0:2379](http://0.0.0.0:2379)"  
21行:ETCD_ADVERTISE_CLIENT_URLS="[http://10.0.0.11:2379](http://10.0.0.11:2379)"

## 启动并开机自启
[root@k8s-master ~]# systemctl start etcd.service 
[root@k8s-master ~]# systemctl enable etcd.service 

## 检查
[root@k8s-master ~]# netstat -lntup|grep 2379
tcp6       0      0 :::2379                 :::*                    LISTEN      17352/etcd  

### 测试(存数据是目录结构   和键值对相似)

[root@k8s-master ~]# etcdctl set /test/word 123456    ### 插入数据 键(目录)值(123456)
123456

[root@k8s-master ~]# etcdctl ls /
/test
[root@k8s-master ~]# etcdctl ls /test
/test/word
[root@k8s-master ~]# etcdctl get /test/word    ### 查看值
123456

### 检查集群健康状态
[root@k8s-master ~]# etcdctl -C http://10.0.0.11:2379 cluster-health
member 8e9e05c52164694d is healthy: got healthy result from http://10.0.0.11:2379
cluster is healthy   ## 因为现在只有一个节点所有只有一行

#[Member]  
ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ###数据存放目录  #
ETCD_LISTEN_PEER_URLS="[http://localhost:2380](http://localhost:2380)" ## 做集群的时候需要配置 
 ETCD_LISTEN_CLIENT_URLS="[http://localhost:2379](http://localhost:2379)" ### 监听客户端的地址 
 ETCD_NAME="default" ## 如果要配置集群的话不能是default,每个节点的名字都不一样  
#[Clustering] 
 ETCD_ADVERTISE_CLIENT_URLS="[http://localhost:2379](http://localhost:2379)" ### 再集群中显示的信息,客户端(etcdctl/curl等)跟etcd服务进行交互时请求的url

1.3 Master节点安装kubernetes

yum install kubernetes-master.x86_64 -y

  • 修改API配置文件

[root@k8s-master ~]# vim /etc/kubernetes/apiserver 

8行: KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"  ## 服务的监听地址
11行:KUBE_API_PORT="--port=8080"     ## 服务监听的端口
14行:KUBELET_PORT="--kubelet-port=10250"   ## 通过10250端口控制kubelet
17行:KUBE_ETCD_SERVERS="--etcd-servers=[http://10.0.0.11:2379]  ## APIserver是通过那个地址和端口连接etcd数据 
23行:KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"   ## 默认的管理控制插件ServiceAccount删掉

  • 修改其他两个服务通用的配置文件

vim /etc/kubernetes/config

22行:KUBE_MASTER="--master=[http://10.0.0.11:8080]
通过那个地址端口找到API服务

  • 启动master所有服务

systemctl enable kube-apiserver.service
systemctl start kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl start kube-controller-manager.service
systemctl enable kube-scheduler.service
systemctl start kube-scheduler.service
  • 测试集群是否正常

[root@k8s-master ~]# kubectl get componentstatus

image.png

1.4 Node节点安装kubernetes

yum install kubernetes-node.x86_64 -y   (自动会安装docker)
  • 修改kube-proxy服务配置文件

vim /etc/kubernetes/config
22行:KUBE_MASTER="--master=[http://10.0.0.11:8080]
  • 修改kubelet服务服务配置文件

vim /etc/kubernetes/kubelet

5行:KUBELET_ADDRESS="--address=0.0.0.0"  ### 监听的地址
8行:KUBELET_PORT="--port=10250"   ### kubelet端口 
11行:KUBELET_HOSTNAME="--hostname-override=10.0.0.12"   ### 给自己定义唯一的名字 不能冲突 IP地址或者主机名(各自节点改各自节点的)
14行:KUBELET_API_SERVER="--api-servers=[http://10.0.0.11:8080]  ### 连接api的地址
  • 启动node节点所有服务

 systemctl  start  kubelet.service 
 systemctl enable kubelet.service 

 systemctl start kube-proxy.service
 systemctl enable kube-proxy.service
  • 在master测试 是否有节点加入集群

[root@k8s-master ~]# kubectl get nodes
NAME        STATUS    AGE
10.0.0.12   Ready     1m
10.0.0.13   Ready     2m

1.5 所有节点安装flannel(网络通讯)插件需要etcd

(这里有个疑问,配置文件里启用了一个网段,这边又生成一个网段,会导致多个网卡问题。)

yum install flannel -y

### 修改flannel配置文件

sed -i 's#http://127.0.0.1:2379#http://10.0.0.11:2379#g' /etc/sysconfig/flanneld

Master节点:

## 创建etcd值

etcdctl mk /atomic.io/network/config  '{ "Network": "172.16.0.0/16" }'
etcdctl get /atomic.io/network/config

## 安装docker(主要是兼职私有仓库(可以单独起一台))
yum install docker -y
## 启动flannel网络并重启所有服务


Node节点

### 启动所有服务
systemctl enable flanneld.service 
systemctl restart flanneld.service 
service docker restart
systemctl restart kubelet.service
systemctl restart kube-proxy.service
  • 这时ifconfig会发现flannel出现172段网络

所有节点测试是否跨宿主机通信

### 这里再测试之前先修改 iptables 规则 1.13版docker和flannel之间有BUG,把默认的forward规则 ACCERT   改成了DROP导致无法上网

查看: 
iptables -L -n
iptables -P FORWARD ACCERT

### 由于busybox有ping 的功能占用空间小所以用box测试
docker load -i docker_busybox.tar.gz
docker run -it docker.io/busybox:latest 
## 进入容器之后查看一下IP地址(全局唯一)

image.png

由于修改iptables 规则是临时生效 所以要修改成永久生效

vim /usr/lib/systemd/system/docker.service 
18行:ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
### 让docker启动时先执行 以上命令
systemctl daemon-reload 
systemctl restart docker

1.6 为Master节点配置一个私有仓库

1.61 现为所有节点配置镜像加速,和私有仓库位置

vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://registry.docker-cn.com --insecure-registry=10.0.0.11:5000'

systemctl restart docker

1.62 Master启动私有仓库

### 导入registry镜像
docker load  -i registry.tar.gz 
### 后台启动容器并开机自启
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

docker ps -a ## 查看一下

### 再node测试仓库是否能上传
docker tag docker.io/busybox:latest 10.0.0.11:5000/busybox:latest
docker push 10.0.0.11:5000/busybox:latest 

作者:Aza_Lxxx
链接:https://www.jianshu.com/p/99d09406373e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

到这后发现,报错Back-off pulling image “registry.access.redhat.com/rhel7/pod-infrastructure:latest”

报错信息:

Jan 14 12:26:57 k8snode01 kubelet: E0114 12:26:57.295735    8604 docker_manager.go:2159] Failed to create pod infra container: ErrImagePull; Skipping pod “nginx-3449338310-nmvsz_default(f67e741e-36f2-11ea-98b8-000c299594c3)”: image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request.  details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)
Jan 14 12:26:57 k8snode01 kubelet: E0114 12:26:57.295770    8604 pod_workers.go:184] Error syncing pod f67e741e-36f2-11ea-98b8-000c299594c3, skipping: failed to “StartContainer” for “POD” with ErrImagePull: “image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request.  details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)”

Jan 14 12:41:16 k8snode01 dockerd-current: time=”2020-01-14T12:41:16.156396599-05:00″ level=error msg=”Handler for GET /v1.26/images/registry.access.redhat.com/rhel7/pod-infrastructure:latest/json returned error: No such image: registry.access.redhat.com/rhel7/pod-infrastructure:latest”
Jan 14 12:41:16 k8snode01 kubelet: E0114 12:41:16.157271   17563 docker_manager.go:2159] Failed to create pod infra container: ImagePullBackOff; Skipping pod “nginx-3449338310-nmvsz_default(f67e741e-36f2-11ea-98b8-000c299594c3)”: Back-off pulling image “registry.access.redhat.com/rhel7/pod-infrastructure:latest”
Jan 14 12:41:16 k8snode01 kubelet: E0114 12:41:16.157298   17563 pod_workers.go:184] Error syncing pod f67e741e-36f2-11ea-98b8-000c299594c3, skipping: failed to “StartContainer” for “POD” with ImagePullBackOff: “Back-off pulling image \”registry.access.redhat.com/rhel7/pod-infrastructure:latest\””

解决方法:
1.在node节点执行   yum install *rhsm* -y
2、直接获取 rpm文件 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
3、运行脚本 rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv –to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem 这两个命令会生成/etc/rhsm/ca/redhat-uep.pem文件.
4、重新下载文件 docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
————————————————
版权声明:本文为CSDN博主「zhaikaiyun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhaikaiyun/java/article/details/103983766

开始run第一个容器:

kubectl run my-nginx --image=nginx --replicas=2 --port=80

参考:


https://www.kubernetes.org.cn/doc-44

树莓派新装Centos后环境搭建

  1. 设置代理,参考 (记得重启)
    https://blog.mytlu.cn/?p=85
  2. 安装 yum-config-manager:
    yum -y install yum-utils 
  3. 设置静态IP
    https://blog.mytlu.cn/?p=89
  4. 配置SSH转发
    https://blog.mytlu.cn/?p=6
  5. 扩展硬盘空间,直接使用以下命令:rootfs-expand
  6. 安装以下组件
yum install -y wget lrzsz gcc openssl openssl-dev zlib* httpd \
php-pdo \
php-gd  \
php-bcmath  \
php-common  \
python2-cryptography  \
plymouth-graphics-libs  \
php \
php-ldap \
php-xml \
php-cli \
hyphen  \
libgphoto2  \
gvfs-gphoto2  \
php-mysqlnd  \
php-fpm  \
graphite2 \
php-mbstring  \
php-xmlrpc \
Mariadb Mariadb-server \
vim\
zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make \
libffi-devel

7. 安装Python3

wget https://mirror.fastspeedgo.xyz/python-383/Python-3.8.3.tgz

tar xzvf Python-3.8.3.tgz && cd Python-3.8.3

./configure –prefix=/usr/local/python

make && make install

ln -s /usr/local/python/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python/bin/pip3.8 /usr/bin/pip3

8. 设置时区:

timedatectl set-timezone Asia/Shanghai

9. 设置免密登录

生成密钥对:

ssh-keygen -t rsa -P “” -f “/root/.ssh/id_rsa”

拷贝 id_rsa.pub  到想要免密登录的服务器相应用户的~/.ssh/authorized_keys文件里,文件权限600.

10. SSH穿透 ,将SSH 22端口映射到公网 27280,另外,映射80端口到公网4340。

cd /tmp  && wget https://mirror.fastspeedgo.xyz/raspberryMirror/autossh-1.4g-1.el7.armv7hl.rpm && yum install -y autossh-1.4g-1.el7.armv7hl.rpm
vi /usr/lib/systemd/system/ssh-retransfer-80to4340.service
内容如下:
[Unit]
Description=Transfer local 80 port to remote 4340
After=network-online.target
[Service]
User=root
Type=simple
ExecStart=/usr/bin/autossh -M 5178 -NR 4340:localhost:80 -i /root/.ssh/id_rsa [email protected] -p 27278 >> /dev/null 2>&1
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
KillMode=process
Restart=no
[Install]
WantedBy=multi-user.target
WantedBy=graphical.target



vi /usr/lib/systemd/system/ssh-retransfer-to-mytlu.cn.service
内容如下:
[Unit]
Description=SSH transfer
After=network-online.target
[Service]
User=root
Type=simple
ExecStart=/usr/bin/autossh -M 5690 -NR 27280:localhost:22 -i /root/.ssh/id_rsa [email protected] -p 27278 >> /dev/null 2>&1
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
KillMode=process
Restart=no
[Install]
WantedBy=multi-user.target
WantedBy=graphical.target


systemctl enable ssh-retransfer-80to4340
systemctl enable ssh-retransfer-to-mytlu.cn
systemctl start ssh-retransfer-to-mytlu.cn
systemctl start ssh-retransfer-80to4340

11. 升级:

yum -y update

12. 安装zabbix客户端

cd /tmp && wget https://mirror.fastspeedgo.xyz/raspberryMirror/zabbix-4.0.20.tar.gz

tar xzvf zabbix-4.0.20.tar.gz && cd zabbix-4.0.20

groupadd zabbix
useradd -g zabbix zabbix
./configure --enable-agent
make install
vi /usr/local/etc/zabbix_agentd.conf
修改上述文件里的Server/ ServerActive/EnableRemoteCommands
zabbix_agentd

12. 内网,关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

13. 解决SSH一会断开问题:

修改/etc/ssh/sshd_config配置文件,设置ClientAliveCountMax值大一点,我改为30,单位是分钟。然后重启ssh服务使生效:service sshd reload 

至此,完毕。

随笔__新增树莓派4B

新上了一台树莓派4B,折腾了一番,把数据库、PHP、Python3、Zabbix agent等环境都装好了后,想折腾折腾,在nmtui 里想试试连接wifi,结果不小心把有线网连接给关闭了。现在抽风中。树莓派4B使用 Micro HDMI,淘宝买了转接线。等线回来连上去再启用网络吧。

更新:把内存卡拿下来,插入另外一个树莓派,挂在上去添加网卡配置文件,再插入树莓派,网络恢复正常。

步骤1:挂载

插入树莓派usb 口,fdisk -l 可以看到多了一个 /dev/sda,里面三个分区,最后一个/dev/sda3应该就是原服务器的/分区.因此,创建挂载点 mkdir /mnt/usb,然后挂载 mount /dev/sda3 /mnt/usb。这个时候应该就挂载好了。

步骤2:修改文件,重载到树莓派上。

cd /mnt/usb/etc/sysconfig/network-scripts,然后我看了下,根本没有什么ifcfg-enth0类似这样的文件,我只看到了ifcfg-lo文件,这是回环地址。我决定新建entho0网卡,但是不确定文件需要什么样的权限,因此直接拷贝ifcfg-lo文件,然后修改内容。

cp ifcfg-lo ifcfg-enth0 && echo ” >ifcfg-enth0

编辑并保存ifcfg-enth0文件,内容如下:

TYPE=Ethernet
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.66.115
GATEWAY=192.168.66.1
NETMASK=255.255.255.0
DNS1=192.168.66.1
ONBOOT=yes


umount  /mnt/usb

树莓派开机!成功连接IP。

有一说一,这代树莓派真不错,350入手。4核 1.5 GHz 主频加4G内存,开个机仅占用300M左右。然后买了三星120G内存卡,据说读写能均能达到近100M,没烤机测试。俩个Micro HDMI,支持4K输出。就是买的时候不带风扇,空跑温度都50°+了,我的树莓派3B因为加了风扇,满载才37°。

上图!

Linux/CentOS设置全局代理(http)

转载来源:
https://www.cnblogs.com/daijiabao/p/11358743.html

说明:为什么说是http代理,其实这个还不能说是全称走代理,最明显的区别就是ICMP协议这个设置就无效,只能说是90%的应用都可以使用这个设置来实现代理访问,只有个别不行,比如一些软件根本不走http协议的,那么此种方法绝对不行;下面是讲解http的代理配置,以后会讲解全局级别的代理实现,其实也就是网关,配置网关绝对能100%,这里不做讲解。全局代理配置主要在于环境变量的设置。

还有网上很多都说http配置代理不支持socks协议,其实是不对的。我测试的结果已经支持了。

个人理解:我谈一下这个http_proxy的设置,首先,设置了这个变量不是说只会走http协议,上面我说的应该是普通认为会这样说的说法,我后面觉得上面已经是错误了,比如curl,git这些软件默认使用http_proxy这个环境变量来设置代理服务器,所以在linux下只要设置了这个环境变量就能被这些软件识别,而对于代理服务器用什么协议都行,比如使用http协议或者socks协议等。

那么对于一些比如chrome和yum这些针对http_proxy可能不会生效,比如chrome用的是server_proxy这个变量,而且是在启动时设置才生效。

下面是代理变量的配置:

环境变量描述值示例
http_proxy为http变量设置代理;默认不填开头以http协议传输10.0.0.51:8080
user:[email protected]:8080
socks4://10.0.0.51:1080
socks5://192.168.1.1:1080
https_proxy为https变量设置代理;同上
ftp_proxy为ftp变量设置代理;同上
all_proxy全部变量设置代理,设置了这个时候上面的不用设置同上
no_proxy无需代理的主机或域名;
可以使用通配符;
多个时使用“,”号分隔;
*.aiezu.com,10.*.*.*,192.168.*.*,
*.local,localhost,127.0.0.1 

针对上面变量的设置方法:

1、在/etc/profile文件

2、在~/.bashrc

3、在~/.zshrc

4、在/etc/profile.d/文件夹下新建一个文件xxx.sh

写入如下配置:

 export proxy="http://192.168.66.242:10808"
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export no_proxy="localhost, 127.0.0.1, ::1"

而对于要取消设置可以使用如下命令,其实也就是取消环境变量的设置:

unset http_proxy
unset https_proxy
unset ftp_proxy
unset no_proxy

针对yum配置走代理:

经过测试其实只要设置上面的变量之后已经可以走代理了,但如果要单独设置,可以设置如下文件的变量:

echo "proxy=http://192.168.66.242:10808" >> /etc/yum.conf

《百年孤独》节选

我们与死亡之间,父母犹如一层纱窗一样隔着。事实上,父母在世的时候,我们对死亡的认识是很模糊的。生而为人,尽数的羁绊让我们留恋于人世。

如何自杀

抑郁症患者在自杀的前一秒,到底是想不开还是想开了。

李诞说人间不值得。

我说人间值得,人间太他妈值得了,是你觉得不值得,我们不值得。

我曾很天真的问自己:人为什么会抑郁,抑郁到底有多么可怕?

为什么自己也曾苦苦在生死的边缘挣扎都不曾接触过抑郁。

曾经的我想结束生命仅仅是因为不能动的身体,与精神层面没有丝毫关系。

后来自己就会不自觉的对比:我连呼吸都没有,除了头全身都不能动顶多是心情低落绝望但也没有抑郁,他们为什么会抑郁?觉得不可思议。

后来我把我的想法告诉了Ank,她说那你很幸运…我还有点不解。

直到后来直到更多的接触到一些抑郁患症患者我才知道自己真的很幸运:

精神障碍远要比身体残疾颜严重。那是一种非常无望的黑洞。

他们没有任何可以抓住的稻草,他们看不到希望,他们觉得死亡是最后的希望。

那些开朗的人们,指责抑郁症的病人只是自卑,懦弱,胆小无知而已。

他们认为抑郁症跟“情绪低落”是同一回事儿,

他们根本无法相信一种看不见摸不着的情绪疾病我剥夺了那么多人的生命。

全世界每年因抑郁症自杀的人高达100万。

南京大屠杀是30万。

如果可以好好的活着,谁愿意走向死亡。

承接开头那句话:最后他们到底是想不开还是想开了?


抑郁症准备离开的人,他们在最后说的话或者写的文字都会出奇地透露出一股扭曲的乐观和理性,甚至有些自娱自乐。每个人都有思想,他们也都不傻,他们也想好好的活着,关键是抑郁不让他们好好的活着。

而至今除了自救,通过心理干预或者药物并没有一种特别有效的疗愈方法。

我们能做的就是要给他们更多的爱。

最后想跟每一位抑郁症朋友说一句:人间值得。

————————————

这是之前写在朋友圈里的一篇短文,结合许多答主的回答。

是想告诉题主 人间值得。

我并不是想劝说提主生命仍有意义且值得你继续活下去。
也不会站在上帝的角度来尝试体会你的痛苦。因为我们正常人根本体会不到。
但如果真的想死,除了自然老死,也真的没有一种不痛苦的方法。

那就尝试一下这种方法:

1,洗一个热水澡。
2,喝一杯热的,温和的。比如热牛奶,最好加点蜂蜜。
3,以最舒服的姿势躺在床上,放松身体,闭上眼睛。
4,当第二天你睁开眼睛看见太阳升起的时候,昨天的你就已经死了。

并开始了新的轮回。用新的身份,新的心情去重新活吧。

祝好。 壹心理答疑馆互助社区,世界和我爱着你 >> https://m.xinli001.com/qa

转载来源 :
https://www.xinli001.com/qa/100404466

Centos下运行exe

转载来源:
https://blog.csdn.net/weixin_42877471/article/details/83782485

版权归原作者所有。

1、安装需要的软件包

# yum groupinstall ‘Development Tools‘
# yum install libX11-devel freetype-devel zlib-devel libxcb-devel

2、下载并解压Wine包

# cd /usr/src
# wget http://prdownloads.sourceforge.net/wine/wine-1.7.24.tar.bz2
# tar xjf wine-1.7.24.tar.bz2

备注:1.7.24是开发版,不是稳定版,如果你需要安装稳定版请点此链接下载,方法是一样的。

3、安装Wine

这里使用的是源码编译,执行以下命令开始编译,配置好的话30分钟左右可以完成,配置差点的话可能需要更久的时间,耐心等待。

32位系统

# cd wine-1.7.24/
# ./configure
# make
# make install

64位系统

# cd wine-1.7.24/
# ./configure –enable-win64
# make
# make install

4、检查版本

可以使用下面的命令检查你安装的Wine的版本

32位系统

# wine –version

wine-1.7.24

64位系统

# wine64 –version

wine-1.7.24

5、Wine怎么用

使用如下命令运行你的程序,有些程序可能需要root权限:

wine xxx.exe