├── .gitignore ├── .idea ├── .gitignore ├── Tool.iml ├── misc.xml ├── modules.xml └── vcs.xml ├── Docker ├── README.md ├── docker.md └── 慕课网Docker课程笔记.md ├── Document ├── Rclone.md ├── linux常用命令汇总.md └── window+linux-install.md ├── Google ├── Ghelper2.2.1.zip ├── README.md ├── SwitchySharp.zip └── google.tar.bz2 ├── JetBrains ├── PHPstorm-settings.jar ├── PhpStorm-settings-linux.zip ├── README.md ├── jetbrains-crack20210331.zip ├── phpstorm-window-6-10.zip ├── webstorm-window.zip ├── webstorm(2020.3)激活码-chinaNB.zip └── 永久破解(亲测2020 3.3以下版本通用).zip ├── Linux ├── Vim从入门到放弃.md └── koolshare │ ├── README.md │ ├── ssrserver.tar.gz │ └── v2ray.tar.gz ├── README.md ├── Shell ├── README.md ├── Scripts │ ├── Color.sh │ ├── alias.txt │ ├── app.sh │ ├── system.sh │ ├── systemOs.sh │ ├── webApp.sh │ ├── zsh_install.sh │ └── zshrc.txt ├── Utils │ └── zsh.sh ├── config │ └── zshrc-alias.txt ├── demo.txt ├── go.sh ├── source │ └── ubuntu │ │ ├── ubuntu-1404.txt │ │ ├── ubuntu-1604.txt │ │ ├── ubuntu-1804.txt │ │ └── ubuntu-2004.txt └── ubuntu.sh ├── Tool └── PotPlayer.tar.bz2 ├── images ├── 1.png ├── 1080.png ├── Proxy SwitchySharp.png ├── TeamViewer.png ├── atom.jpeg ├── chrome.jpeg ├── desk.png ├── doker-timeout.png ├── flameshot.png ├── gome.png ├── ipport.png ├── manjaroDesk.png ├── mindmaster.png ├── music.png ├── obs.png ├── orangbus.png ├── port.png ├── shadowsock.png ├── step1.png ├── step2.png ├── step3.png ├── step4.png ├── step5.png ├── step6.png ├── step7.png ├── step8.png ├── step9.png ├── system.png ├── tea.jpeg ├── tldr.png ├── toolbox.png ├── typora.png ├── uget.png ├── v2rayport.png ├── virtualbox.png ├── vm.png ├── vscode.png └── wps.png └── update.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .history -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml 3 | -------------------------------------------------------------------------------- /.idea/Tool.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Docker/README.md: -------------------------------------------------------------------------------- 1 | # Laradock从入门到爱不释手 2 | 3 | ## 一键脚本安装 4 | 5 | ```bash 6 | curl -fsSL get.docker.com -o get-docker.sh && sudo sh get-docker.sh --mirror Aliyun 7 | ``` 8 | 9 | 参考教程: 10 | 11 | https://docs.docker.com/install/linux/docker-ce/debian/ 12 | 13 | https://yeasy.gitbooks.io/docker_practice/install/centos.html 14 | 15 | ## 手动安装Docker安装Docker 16 | 17 | - ```bash 18 | sudo pacman -S docker 19 | ``` 20 | 21 | - 安装Dockercompose 22 | 23 | ```bash 24 | curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 25 | 26 | chmod +x /usr/local/bin/docker-compose 27 | ``` 28 | 29 | Debian-Alpine源:https://mirrors.ustc.edu.cn/help/debian.html(如果如法下载,请更换Alpine源) 30 | 31 | ```bash 32 | sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && sudo apt-get update 33 | ``` 34 | 35 | 测试安装是否成功: 36 | 37 | ```bash 38 | docker -v 39 | docker-compose -version 40 | ``` 41 | 42 | - 建立 Docker 组加入当前用户: 43 | 44 | ```bash 45 | sudo groupadd docker 46 | sudo usermod -aG docker $USER 47 | ``` 48 | 49 | 开机启动docker: 50 | 51 | ```bash 52 | sudo systemctl enable docker 53 | sudo systemctl start docker 54 | ``` 55 | 56 | - 有时候pull image 的时候很慢可以添加国内源 57 | 58 | ```json 59 | # sudo vim /etc/docker/daemon.json 60 | { 61 | "registry-mirrors": [ 62 | "https://kfwkfulq.mirror.aliyuncs.com", 63 | "https://2lqq34jg.mirror.aliyuncs.com", 64 | "https://pee6w651.mirror.aliyuncs.com", 65 | "https://registry.docker-cn.com", 66 | "http://hub-mirror.c.163.com" 67 | ] 68 | } 69 | ``` 70 | 71 | 没有生效就重启一下: 72 | 73 | ```bash 74 | sudo systemctl daemon-reload 75 | sudo systemctl restart docker 76 | ``` 77 | 78 | ## Laradock 79 | 80 | Wike: http://laradock.io/ 81 | 82 | 快速开始: 83 | 84 | - 克隆Laradock 85 | 86 | ```bash 87 | git clone https://github.com/Laradock/laradock.git --depth 1 88 | # --depth 1 意思是clone最后一次提交,这样clone会快一点 89 | ``` 90 | 91 | - 自定义配置 92 | 93 | ```bash 94 | cd laradock 95 | cp env-example .env 96 | ``` 97 | 98 | - 运行容器 99 | 100 | ```bash 101 | docker-compose up -d nginx mysql phpmyadmin redis 102 | # 【本地开发】建议以下操作,一个一个的慢慢启动 103 | docker-compose up -d php-ftp 104 | docker-compose up -d nginx 105 | docker-compose up -d mysql 106 | docker-compose up -d phpmyadmin 107 | ``` 108 | 109 | - 连接数据库 110 | 111 | ```bash 112 | DB_HOST=mysql //记得是:mysql, 不是127.0.0.1 113 | REDIS_HOST=redis 114 | ``` 115 | 116 | Ps: `.env` 文件是基本的配置文件,大家可以根据自己的需求更改配置,需要注意的是,如果默认安装了mysql:8.0,但是我想安装mysql:5.6怎么办? 117 | 118 | ```bash 119 | vim .env 120 | # 找到mysql,然后【MYSQL_VERSION=5.6】直接写版本就可以 121 | # 保存退出 122 | ESC 123 | :/mysql 124 | ``` 125 | 126 | 最后需要build一下,并且删除之前的mysql缓存数据 127 | 128 | ```bash 129 | # cd laradock 130 | rm -rf ~/.laradock #很重要 131 | docker-compose build mysql 132 | docker-compose up -d nginx mysql phpmyadmin 133 | ``` 134 | 135 | ``` 136 | docker-compose build mysql 137 | rm -rf ~/.laradock //很重要,很重要,很重要,不然mysql无法启动,我也是折腾了一周才知道的,可能学艺不精。 138 | ``` 139 | 140 | 如果在我天朝使用Laradock,在启动容器之前修改以下配置修改为`true` 141 | 142 | ```bash 143 | CHANGE_SOURCE=true 144 | ``` 145 | 146 | 如果你部署于你的生产环境服务器中,请参照官方文档修改相关配置,保证服务器安全. 147 | 148 | > ## 如何进入单个服务 149 | 150 | ```bash 151 | docker-compose exec nginx bash 152 | ``` 153 | 154 | > ## 如何配置SSL 155 | 156 | ``` 157 | listen 443 ssl; 158 | ssl_certificate /usr/local/nginx/ssl/app.crt; # 改为自己申请得到的 crt 文件的名称 159 | ssl_certificate_key /usr/local/nginx/ssl/app.key; # 改为自己申请得到的 key 文件的名称 160 | ssl_session_timeout 5m; 161 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 162 | ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 163 | ssl_prefer_server_ciphers on; 164 | ``` 165 | 166 | > ## 个人别名 167 | 168 | ```bash 169 | # vim ~/.bashrc 170 | alias cls="clear && ls" 171 | alias RM='rm -rf' 172 | alias dc='docker-compose' 173 | alias dca='dc up -d nginx phpmyadmin' 174 | alias dcps='docker-compose ps' 175 | alias dcres='docker-compose restart && dcps' 176 | alias dcn='docker-compose restart nginx && scps' 177 | alias dcd='dc down' 178 | ``` 179 | 180 | 立刻生效执行:`source ~/.zshrc` 181 | 182 | ## 扩展应用 183 | 184 | > 这里的扩展应用是基于Laradock添加的,其实也很简单,如果你想单独放在自己的项目文件中,按需复制就可以。 185 | 186 | 请自行在laradock目录下创建一下空文件夹 187 | 188 | ```bash 189 | mkdir -p wordpress 190 | ``` 191 | 192 | 按需复制一下文件到Laradock下面的`.env` 末尾 193 | 194 | ```.env 195 | # httpbin 196 | HTTPBIN_PORT=8085 197 | 198 | # wordPress 199 | WORDPRESS_PORT=8086 200 | WORDPRESS_HTML=./wordpress 201 | 202 | # nextCloud 203 | NEXTCLOUD_PORT=8087 204 | ``` 205 | 206 | 按需复制一下文件到Laradock下面的`.docker-compose.yaml` 末尾 207 | 208 | ```yaml 209 | ### httpin ########################################################## 210 | httpbin: 211 | container_name: httpbin 212 | image: kennethreitz/httpbin 213 | ports: 214 | - "${HTTPBIN_PORT}:80" 215 | ### rancher ################################################# 216 | rancher: 217 | container_name: laradock_rancher 218 | image: rancher/rancher:stable 219 | ports: 220 | - 8085:80 221 | - 8086:443 222 | volumes: 223 | - /home/orangbus/Code/laradock/rancher:/var/lib/rancher/ 224 | 225 | ## wordPress 生产环境请自行修改数据库账号密码 226 | wordpress: 227 | container_name: wordpress 228 | image: wordpress 229 | environment: 230 | WORDPRESS_DB_HOST: mysql 231 | WORDPRESS_DB_USER: root 232 | WORDPRESS_DB_PASSWORD: root 233 | WORDPRESS_DB_NAME: wordpress 234 | volumes: 235 | - ${WORDPRESS_HTML}:/var/www/html 236 | ports: 237 | - "${WORDPRESS_PORT}:80" 238 | depends_on: 239 | - mysql 240 | - nginx 241 | - php-fpm 242 | networks: 243 | - frontend 244 | - backend 245 | ``` 246 | 247 | Tip:如果报错或者无法启动,请自行检查端口是否冲突了,或者你在复制上面的配置文件时,文件格式缩进问题,以后我可能会拉取一个官网的分支将上面的应用加入进去。 248 | 249 | ## 写在最后 250 | 251 | > 特喜欢 Laradock 官方仓库上的一句话 `Use Docker First And Learn About It Later`,可能你并不清楚 Docker 是什么,更不知道 Laradock 是什么,当然我也一样并不是很了解 Docker,但是就像 Laradock 作者写的这句话先用它,然后再去学习它。 252 | 253 | ## Laradock折腾心得 254 | 255 | 不知道大家在安装laradock的时候是否和我一样的心累呢,下载总结下自己在安装laradock的时候遇到的坑吧。 256 | 257 | 1、下载源代码。 258 | 259 | 如果下载源代码比较慢的话建议克隆最后一次提交的代码 260 | 261 | ``` 262 | git clone https://github.com/Laradock/laradock.git --depth 1 263 | ``` 264 | 265 | 2、下载镜像。 266 | 267 | - 最好把下载源替换为中国的,比如阿里云 268 | - 将`.env` 里面有一项配置【CHANGE_SOURCE=true】设置为 `true` 269 | 270 | 3、第一次启动容器的顺序。 271 | 272 | 这个只是个人建议,应为我们启动一个基本的LNMP项目的时候,laradock的启动顺序是 273 | 274 | ```bash 275 | docker-compose up -d nginx php mysql phpmyadmin 276 | # php-fpm -> nginx -> mysql -> phpmyadmin 277 | ``` 278 | 279 | 所以有时候这样启动的时候会卡死或者下载失败,我们可以单个慢慢的启动,比如这样 280 | 281 | ```bash 282 | # alias dc = "docker-compose" 283 | dc up -d php-fpm 284 | dc up -d nginx 285 | dc up -d mysql 286 | dc up -d phpmyadmin 287 | ``` 288 | 289 | 这样可以避免下载到一般由于网络原因卡死了,后期即使启动了,但是存在各种问题,数据库打不来,连不上等问题。 290 | 291 | 292 | 293 | 294 | 295 | -------------------------------------------------------------------------------- /Docker/docker.md: -------------------------------------------------------------------------------- 1 | # Docker入门与实践 2 | 3 | 安装docker 4 | 5 | ``` 6 | # manjaro 7 | sudo pacman -S docker 8 | # centos 9 | sudo yum install docker 10 | ``` 11 | 12 | ## 容器的基本操作 13 | 14 | - 启动docker 15 | 16 | ``` 17 | systemctl start/stop/restart docker 18 | ``` 19 | 20 | - 启动容器 21 | 22 | ``` 23 | docker run IMAGE [command] //在新容器中执行命令 24 | docker start -it IMAGE 25 | docker stop/kill IMAGE 26 | docker rm IMAGEID #sudo docker rmi 27 | ``` 28 | 29 | - 交互式容器 30 | 31 | ``` 32 | docker run -it IMAGE /bin/bash 33 | docker run --name=orangbus -i -t IMAGE /bin/bash 34 | ``` 35 | 36 | - 查看容器 37 | 38 | ``` 39 | docker ps [-A][-l] 40 | docker inspect IMAGE //查看容器配置信息 41 | ``` 42 | 43 | ## 守护容器 -后台一直运行 44 | 45 | ``` 46 | docker run --name=lnmp -p 80:80 -it IMAGE /bin/bash 47 | 48 | //退出容器,容器依然在后台运行 49 | ctrl+p ctrl+q 50 | 51 | //进入一个已经在运行的后台容器 52 | docker attach IMAGEID 53 | ``` 54 | 55 | - 进入一个已经创建过的容器 56 | 57 | ``` 58 | sudo docker container start id/aliasName 59 | ``` 60 | 61 | - 启用守护式容器 62 | 63 | ``` 64 | docker run -d IMAGE [command] 65 | ``` 66 | 67 | - 查看容器运行状况 68 | 69 | ``` 70 | docker logs 71 | docker top 72 | ``` 73 | 74 | - 在运行中的容器中启动新进程 75 | 76 | ``` 77 | docker exec [-d -i -t] IMAGE 78 | ``` 79 | 80 | ## 部署静态网站 81 | 82 | ``` 83 | sudo docker port imagename #查看端口映射 84 | sudo docker inspect imagename #查看容器ip 85 | 86 | sudo docker start -i imagename #进入一个曾经创建的容器 87 | sudo docker exec imagename nginx/lnmp 88 | ``` 89 | 90 | ## 镜像获取与推送 91 | 92 | - 查找镜像 93 | 94 | ``` 95 | sudo docker search imageName 96 | ``` 97 | 98 | ## 构建镜像 99 | 100 | ``` 101 | sudo docker commit #通过容器 102 | sudo docker build #通过Dockerfile文件构建 103 | ``` 104 | 105 | ## Dockerfile使用 106 | 107 | -------------------------------------------------------------------------------- /Docker/慕课网Docker课程笔记.md: -------------------------------------------------------------------------------- 1 | # 《Docker环境下的前后端分离部署与运维》课程脚本 2 | 3 | ## Docker虚拟机常用命令 4 | 5 | 1. 先更新软件包 6 | 7 | ```shell 8 | yum -y update 9 | ``` 10 | 11 | 2. 安装Docker虚拟机 12 | 13 | ```shell 14 | yum install -y docker 15 | ``` 16 | 17 | 3. 运行、重启、关闭Docker虚拟机 18 | 19 | ```shell 20 | service docker start 21 | service docker start 22 | service docker stop 23 | ``` 24 | 25 | 4. 搜索镜像 26 | 27 | ```shell 28 | docker search 镜像名称 29 | ``` 30 | 31 | 5. 下载镜像 32 | 33 | ```shell 34 | docker pull 镜像名称 35 | ``` 36 | 37 | 6. 查看镜像 38 | 39 | ```shell 40 | docker images 41 | ``` 42 | 43 | 7. 删除镜像 44 | 45 | ```shell 46 | docker rmi 镜像名称 47 | ``` 48 | 49 | 8. 运行容器 50 | 51 | ```shell 52 | docker run 启动参数 镜像名称 53 | ``` 54 | 55 | 9. 查看容器列表 56 | 57 | ```shell 58 | docker ps -a 59 | ``` 60 | 61 | 10. 停止、挂起、恢复容器 62 | 63 | ```shell 64 | docker stop 容器ID 65 | docker pause 容器ID 66 | docker unpase 容器ID 67 | ``` 68 | 69 | 11. 查看容器信息 70 | 71 | ```shell 72 | docker inspect 容器ID 73 | ``` 74 | 75 | 12. 删除容器 76 | 77 | ```shell 78 | docker rm 容器ID 79 | ``` 80 | 81 | 13. 数据卷管理 82 | 83 | ```shell 84 | docker volume create 数据卷名称 #创建数据卷 85 | docker volume rm 数据卷名称 #删除数据卷 86 | docker volume inspect 数据卷名称 #查看数据卷 87 | ``` 88 | 89 | 14. 网络管理 90 | 91 | ```shell 92 | docker network ls 查看网络信息 93 | docker network create --subnet=网段 网络名称 94 | docker network rm 网络名称 95 | ``` 96 | 97 | 15. 避免VM虚拟机挂起恢复之后,Docker虚拟机断网 98 | 99 | ```shell 100 | vi /etc/sysctl.conf 101 | ``` 102 | 103 | 104 | 文件中添加`net.ipv4.ip_forward=1`这个配置 105 | 106 | ​```shell 107 | #重启网络服务 108 | systemctl restart network 109 | ​``` 110 | 111 | ## 安装PXC集群,负载均衡,双机热备 112 | 113 | 1. 安装PXC镜像 114 | 115 | ```shell 116 | docker pull percona/percona-xtradb-cluster 117 | ``` 118 | 119 | 2. 为PXC镜像改名 120 | 121 | ```shell 122 | docker tag percona/percona-xtradb-cluster pxc 123 | ``` 124 | 125 | 3. 创建net1网段 126 | 127 | ```shell 128 | docker network create --subnet=172.18.0.0/16 net1 129 | ``` 130 | 131 | 4. 创建5个数据卷 132 | 133 | ```shell 134 | docker volume create --name v1 135 | docker volume create --name v2 136 | docker volume create --name v3 137 | docker volume create --name v4 138 | docker volume create --name v5 139 | ``` 140 | 141 | 5. 创建备份数据卷(用于热备份数据) 142 | 143 | ```shell 144 | docker volume create --name backup 145 | ``` 146 | 147 | 6. 创建5节点的PXC集群 148 | 149 | 注意,每个MySQL容器创建之后,因为要执行PXC的初始化和加入集群等工作,耐心等待1分钟左右再用客户端连接MySQL。另外,必须第1个MySQL节点启动成功,用MySQL客户端能连接上之后,再去创建其他MySQL节点。 150 | 151 | ```shell 152 | #创建第1个MySQL节点 153 | docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc 154 | #创建第2个MySQL节点 155 | docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc 156 | #创建第3个MySQL节点 157 | docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc 158 | #创建第4个MySQL节点 159 | docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc 160 | #创建第5个MySQL节点 161 | docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc 162 | ``` 163 | 164 | 7. 安装Haproxy镜像 165 | 166 | ```shell 167 | docker pull haproxy 168 | ``` 169 | 170 | 8. 宿主机上编写Haproxy配置文件 171 | 172 | ```shell 173 | vi /home/soft/haproxy.cfg 174 | ``` 175 | 176 | 配置文件如下: 177 | 178 | ```properties 179 | global 180 | #工作目录 181 | chroot /usr/local/etc/haproxy 182 | #日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级info 183 | log 127.0.0.1 local5 info 184 | #守护进程运行 185 | daemon 186 | 187 | defaults 188 | log global 189 | mode http 190 | #日志格式 191 | option httplog 192 | #日志中不记录负载均衡的心跳检测记录 193 | option dontlognull 194 | #连接超时(毫秒) 195 | timeout connect 5000 196 | #客户端超时(毫秒) 197 | timeout client 50000 198 | #服务器超时(毫秒) 199 | timeout server 50000 200 | 201 | #监控界面 202 | listen admin_stats 203 | #监控界面的访问的IP和端口 204 | bind 0.0.0.0:8888 205 | #访问协议 206 | mode http 207 | #URI相对地址 208 | stats uri /dbs 209 | #统计报告格式 210 | stats realm Global\ statistics 211 | #登陆帐户信息 212 | stats auth admin:abc123456 213 | #数据库负载均衡 214 | listen proxy-mysql 215 | #访问的IP和端口 216 | bind 0.0.0.0:3306 217 | #网络协议 218 | mode tcp 219 | #负载均衡算法(轮询算法) 220 | #轮询算法:roundrobin 221 | #权重算法:static-rr 222 | #最少连接算法:leastconn 223 | #请求源IP算法:source 224 | balance roundrobin 225 | #日志格式 226 | option tcplog 227 | #在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测 228 | option mysql-check user haproxy 229 | server MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000 230 | server MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000 231 | server MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000 232 | server MySQL_4 172.18.0.5:3306 check weight 1 maxconn 2000 233 | server MySQL_5 172.18.0.6:3306 check weight 1 maxconn 2000 234 | #使用keepalive检测死链 235 | option tcpka 236 | ``` 237 | 238 | 9. 创建两个Haproxy容器 239 | 240 | ```shell 241 | #创建第1个Haproxy负载均衡服务器 242 | docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy 243 | #进入h1容器,启动Haproxy 244 | docker exec -it h1 bash 245 | haproxy -f /usr/local/etc/haproxy/haproxy.cfg 246 | #创建第2个Haproxy负载均衡服务器 247 | docker run -it -d -p 4003:8888 -p 4004:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h2 --privileged --net=net1 --ip 172.18.0.8 haproxy 248 | #进入h2容器,启动Haproxy 249 | docker exec -it h2 bash 250 | haproxy -f /usr/local/etc/haproxy/haproxy.cfg 251 | ``` 252 | 253 | 10. Haproxy容器内安装Keepalived,设置虚拟IP 254 | 255 | ```shell 256 | #进入h1容器 257 | docker exec -it h1 bash 258 | #更新软件包 259 | apt-get update 260 | #安装VIM 261 | apt-get install vim 262 | #安装Keepalived 263 | apt-get install keepalived 264 | #编辑Keepalived配置文件(参考下方配置文件) 265 | vim /etc/keepalived/keepalived.conf 266 | #启动Keepalived 267 | service keepalived start 268 | #宿主机执行ping命令 269 | ping 172.18.0.201 270 | ``` 271 | 272 | 配置文件内容如下: 273 | 274 | ``` 275 | vrrp_instance VI_1 { 276 | state MASTER 277 | interface eth0 278 | virtual_router_id 51 279 | priority 100 280 | advert_int 1 281 | authentication { 282 | auth_type PASS 283 | auth_pass 123456 284 | } 285 | virtual_ipaddress { 286 | 172.18.0.201 287 | } 288 | } 289 | ``` 290 | 291 | ```shell 292 | #进入h2容器 293 | docker exec -it h2 bash 294 | #更新软件包 295 | apt-get update 296 | #安装VIM 297 | apt-get install vim 298 | #安装Keepalived 299 | apt-get install keepalived 300 | #编辑Keepalived配置文件 301 | vim /etc/keepalived/keepalived.conf 302 | #启动Keepalived 303 | service keepalived start 304 | #宿主机执行ping命令 305 | ping 172.18.0.201 306 | ``` 307 | 308 | 配置文件内容如下: 309 | 310 | ```shell 311 | vrrp_instance VI_1 { 312 | state MASTER 313 | interface eth0 314 | virtual_router_id 51 315 | priority 100 316 | advert_int 1 317 | authentication { 318 | auth_type PASS 319 | auth_pass 123456 320 | } 321 | virtual_ipaddress { 322 | 172.18.0.201 323 | } 324 | } 325 | ``` 326 | 327 | 11. 宿主机安装Keepalived,实现双击热备 328 | 329 | ```shell 330 | #宿主机执行安装Keepalived 331 | yum -y install keepalived 332 | #修改Keepalived配置文件 333 | vi /etc/keepalived/keepalived.conf 334 | #启动Keepalived 335 | service keepalived start 336 | ``` 337 | 338 | Keepalived配置文件如下: 339 | 340 | ```shell 341 | vrrp_instance VI_1 { 342 | state MASTER 343 | interface ens33 344 | virtual_router_id 51 345 | priority 100 346 | advert_int 1 347 | authentication { 348 | auth_type PASS 349 | auth_pass 1111 350 | } 351 | virtual_ipaddress { 352 | 192.168.99.150 353 | } 354 | } 355 | 356 | virtual_server 192.168.99.150 8888 { 357 | delay_loop 3 358 | lb_algo rr 359 | lb_kind NAT 360 | persistence_timeout 50 361 | protocol TCP 362 | 363 | real_server 172.18.0.201 8888 { 364 | weight 1 365 | } 366 | } 367 | 368 | virtual_server 192.168.99.150 3306 { 369 | delay_loop 3 370 | lb_algo rr 371 | lb_kind NAT 372 | persistence_timeout 50 373 | protocol TCP 374 | 375 | real_server 172.18.0.201 3306 { 376 | weight 1 377 | } 378 | } 379 | ``` 380 | 381 | 12. 热备份数据 382 | 383 | ```shell 384 | #进入node1容器 385 | docker exec -it node1 bash 386 | #更新软件包 387 | apt-get update 388 | #安装热备工具 389 | apt-get install percona-xtrabackup-24 390 | #全量热备 391 | innobackupex --user=root --password=abc123456 /data/backup/full 392 | ``` 393 | 394 | 13. 冷还原数据 395 | 停止其余4个节点,并删除节点 396 | 397 | ```shell 398 | docker stop node2 399 | docker stop node3 400 | docker stop node4 401 | docker stop node5 402 | docker rm node2 403 | docker rm node3 404 | docker rm node4 405 | docker rm node5 406 | ``` 407 | 408 | node1容器中删除MySQL的数据 409 | 410 | ```shell 411 | #删除数据 412 | rm -rf /var/lib/mysql/* 413 | #清空事务 414 | innobackupex --user=root --password=abc123456 --apply-back /data/backup/full/2018-04-15_05-09-07/ 415 | #还原数据 416 | innobackupex --user=root --password=abc123456 --copy-back /data/backup/full/2018-04-15_05-09-07/ 417 | ``` 418 | 419 | 重新创建其余4个节点,组件PXC集群 420 | 421 | ## 安装Redis,配置RedisCluster集群 422 | 423 | 1. 安装Redis镜像 424 | 425 | ```shell 426 | docker pull yyyyttttwwww/redis 427 | ``` 428 | 429 | 2. 创建net2网段 430 | 431 | ```shell 432 | docker network create --subnet=172.19.0.0/16 net2 433 | ``` 434 | 435 | 3. 创建6节点Redis容器 436 | 437 | ```shell 438 | docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash 439 | docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash 440 | docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash 441 | docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash 442 | docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash 443 | ``` 444 | 445 | 4. 启动6节点Redis服务器 446 | 447 | ```shell 448 | #进入r1节点 449 | docker exec -it r1 bash 450 | cp /home/redis/redis.conf /usr/redis/redis.conf 451 | cd /usr/redis/src 452 | ./redis-server ../redis.conf 453 | #进入r2节点 454 | docker exec -it r2 bash 455 | cp /home/redis/redis.conf /usr/redis/redis.conf 456 | cd /usr/redis/src 457 | ./redis-server ../redis.conf 458 | #进入r3节点 459 | docker exec -it r3 bash 460 | cp /home/redis/redis.conf /usr/redis/redis.conf 461 | cd /usr/redis/src 462 | ./redis-server ../redis.conf 463 | #进入r4节点 464 | docker exec -it r4 bash 465 | cp /home/redis/redis.conf /usr/redis/redis.conf 466 | cd /usr/redis/src 467 | ./redis-server ../redis.conf 468 | #进入r5节点 469 | docker exec -it r5 bash 470 | cp /home/redis/redis.conf /usr/redis/redis.conf 471 | cd /usr/redis/src 472 | ./redis-server ../redis.conf 473 | #进入r6节点 474 | docker exec -it r6 bash 475 | cp /home/redis/redis.conf /usr/redis/redis.conf 476 | cd /usr/redis/src 477 | ./redis-server ../redis.conf 478 | ``` 479 | 480 | 5. 创建Cluster集群 481 | 482 | ```shell 483 | #在r1节点上执行下面的指令 484 | cd /usr/redis/src 485 | mkdir -p ../cluster 486 | cp redis-trib.rb ../cluster/ 487 | cd ../cluster 488 | #创建Cluster集群 489 | ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379 490 | ``` 491 | 492 | ## 打包部署后端项目 493 | 494 | 1. 进入人人开源后端项目,执行打包(修改配置文件,更改端口,打包三次生成三个JAR文件) 495 | 496 | ```shell 497 | mvn clean install -Dmaven.test.skip=true 498 | ``` 499 | 500 | 2. 安装Java镜像 501 | 502 | ```shell 503 | docker pull java 504 | ``` 505 | 506 | 3. 创建3节点Java容器 507 | 508 | ```shell 509 | #创建数据卷,上传JAR文件 510 | docker volume create j1 511 | #启动容器 512 | docker run -it -d --name j1 -v j1:/home/soft --net=host java 513 | #进入j1容器 514 | docker exec -it j1 bash 515 | #启动Java项目 516 | nohup java -jar /home/soft/renren-fast.jar 517 | 518 | #创建数据卷,上传JAR文件 519 | docker volume create j2 520 | #启动容器 521 | docker run -it -d --name j2 -v j2:/home/soft --net=host java 522 | #进入j1容器 523 | docker exec -it j2 bash 524 | #启动Java项目 525 | nohup java -jar /home/soft/renren-fast.jar 526 | 527 | #创建数据卷,上传JAR文件 528 | docker volume create j3 529 | #启动容器 530 | docker run -it -d --name j3 -v j3:/home/soft --net=host java 531 | #进入j1容器 532 | docker exec -it j3 bash 533 | #启动Java项目 534 | nohup java -jar /home/soft/renren-fast.jar 535 | ``` 536 | 537 | 4. 安装Nginx镜像 538 | 539 | ```shell 540 | docker pull nginx 541 | ``` 542 | 543 | 5. 创建Nginx容器,配置负载均衡 544 | 545 | 宿主机上/home/n1/nginx.conf配置文件内容如下: 546 | 547 | ```properties 548 | user nginx; 549 | worker_processes 1; 550 | error_log /var/log/nginx/error.log warn; 551 | pid /var/run/nginx.pid; 552 | 553 | events { 554 | worker_connections 1024; 555 | } 556 | 557 | http { 558 | include /etc/nginx/mime.types; 559 | default_type application/octet-stream; 560 | 561 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 562 | '$status $body_bytes_sent "$http_referer" ' 563 | '"$http_user_agent" "$http_x_forwarded_for"'; 564 | 565 | access_log /var/log/nginx/access.log main; 566 | 567 | sendfile on; 568 | #tcp_nopush on; 569 | 570 | keepalive_timeout 65; 571 | 572 | #gzip on; 573 | 574 | proxy_redirect off; 575 | proxy_set_header Host $host; 576 | proxy_set_header X-Real-IP $remote_addr; 577 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 578 | client_max_body_size 10m; 579 | client_body_buffer_size 128k; 580 | proxy_connect_timeout 5s; 581 | proxy_send_timeout 5s; 582 | proxy_read_timeout 5s; 583 | proxy_buffer_size 4k; 584 | proxy_buffers 4 32k; 585 | proxy_busy_buffers_size 64k; 586 | proxy_temp_file_write_size 64k; 587 | 588 | upstream tomcat { 589 | server 192.168.99.104:6001; 590 | server 192.168.99.104:6002; 591 | server 192.168.99.104:6003; 592 | } 593 | server { 594 | listen 6101; 595 | server_name 192.168.99.104; 596 | location / { 597 | proxy_pass http://tomcat; 598 | index index.html index.htm; 599 | } 600 | } 601 | } 602 | ``` 603 | 604 | 创建第1个Nginx节点 605 | 606 | ```shell 607 | docker run -it -d --name n1 -v /home/n1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx 608 | 609 | ``` 610 | 611 | 宿主机上/home/n2/nginx.conf配置文件内容如下: 612 | 613 | ```properties 614 | user nginx; 615 | worker_processes 1; 616 | error_log /var/log/nginx/error.log warn; 617 | pid /var/run/nginx.pid; 618 | 619 | events { 620 | worker_connections 1024; 621 | } 622 | 623 | http { 624 | include /etc/nginx/mime.types; 625 | default_type application/octet-stream; 626 | 627 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 628 | '$status $body_bytes_sent "$http_referer" ' 629 | '"$http_user_agent" "$http_x_forwarded_for"'; 630 | 631 | access_log /var/log/nginx/access.log main; 632 | 633 | sendfile on; 634 | #tcp_nopush on; 635 | 636 | keepalive_timeout 65; 637 | 638 | #gzip on; 639 | 640 | proxy_redirect off; 641 | proxy_set_header Host $host; 642 | proxy_set_header X-Real-IP $remote_addr; 643 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 644 | client_max_body_size 10m; 645 | client_body_buffer_size 128k; 646 | proxy_connect_timeout 5s; 647 | proxy_send_timeout 5s; 648 | proxy_read_timeout 5s; 649 | proxy_buffer_size 4k; 650 | proxy_buffers 4 32k; 651 | proxy_busy_buffers_size 64k; 652 | proxy_temp_file_write_size 64k; 653 | 654 | upstream tomcat { 655 | server 192.168.99.104:6001; 656 | server 192.168.99.104:6002; 657 | server 192.168.99.104:6003; 658 | } 659 | server { 660 | listen 6102; 661 | server_name 192.168.99.104; 662 | location / { 663 | proxy_pass http://tomcat; 664 | index index.html index.htm; 665 | } 666 | } 667 | } 668 | ``` 669 | 670 | 创建第2个Nginx节点 671 | 672 | ```shell 673 | docker run -it -d --name n2 -v /home/n2/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx 674 | ``` 675 | 676 | 6. 在Nginx容器安装Keepalived 677 | 678 | ```shell 679 | #进入n1节点 680 | docker exec -it n1 bash 681 | #更新软件包 682 | apt-get update 683 | #安装VIM 684 | apt-get install vim 685 | #安装Keepalived 686 | apt-get install keepalived 687 | #编辑Keepalived配置文件(如下) 688 | vim /etc/keepalived/keepalived.conf 689 | #启动Keepalived 690 | service keepalived start 691 | ``` 692 | 693 | ``` 694 | vrrp_instance VI_1 { 695 | state MASTER 696 | interface ens33 697 | virtual_router_id 51 698 | priority 100 699 | advert_int 1 700 | authentication { 701 | auth_type PASS 702 | auth_pass 123456 703 | } 704 | virtual_ipaddress { 705 | 192.168.99.151 706 | } 707 | } 708 | virtual_server 192.168.99.151 6201 { 709 | delay_loop 3 710 | lb_algo rr 711 | lb_kind NAT 712 | persistence_timeout 50 713 | protocol TCP 714 | real_server 192.168.99.104 6101 { 715 | weight 1 716 | } 717 | } 718 | ``` 719 | 720 | ```shell 721 | #进入n1节点 722 | docker exec -it n2 bash 723 | #更新软件包 724 | apt-get update 725 | #安装VIM 726 | apt-get install vim 727 | #安装Keepalived 728 | apt-get install keepalived 729 | #编辑Keepalived配置文件(如下) 730 | vim /etc/keepalived/keepalived.conf 731 | #启动Keepalived 732 | service keepalived start 733 | ``` 734 | 735 | ```shell 736 | vrrp_instance VI_1 { 737 | state MASTER 738 | interface ens33 739 | virtual_router_id 51 740 | priority 100 741 | advert_int 1 742 | authentication { 743 | auth_type PASS 744 | auth_pass 123456 745 | } 746 | virtual_ipaddress { 747 | 192.168.99.151 748 | } 749 | } 750 | virtual_server 192.168.99.151 6201 { 751 | delay_loop 3 752 | lb_algo rr 753 | lb_kind NAT 754 | persistence_timeout 50 755 | protocol TCP 756 | real_server 192.168.99.104 6102 { 757 | weight 1 758 | } 759 | } 760 | ``` 761 | 762 | 763 | 764 | ## 打包部署后端项目 765 | 766 | 1. 在前端项目路径下执行打包指令 767 | 768 | ```shell 769 | npm run build 770 | ``` 771 | 772 | 2. build目录的文件拷贝到宿主机的/home/fn1/renren-vue、/home/fn2/renren-vue、/home/fn3/renren-vue的目录下面 773 | 774 | 3. 创建3节点的Nginx,部署前端项目 775 | 776 | 宿主机/home/fn1/nginx.conf的配置文件 777 | 778 | ``` 779 | user nginx; 780 | worker_processes 1; 781 | error_log /var/log/nginx/error.log warn; 782 | pid /var/run/nginx.pid; 783 | 784 | events { 785 | worker_connections 1024; 786 | } 787 | 788 | http { 789 | include /etc/nginx/mime.types; 790 | default_type application/octet-stream; 791 | 792 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 793 | '$status $body_bytes_sent "$http_referer" ' 794 | '"$http_user_agent" "$http_x_forwarded_for"'; 795 | 796 | access_log /var/log/nginx/access.log main; 797 | 798 | sendfile on; 799 | #tcp_nopush on; 800 | 801 | keepalive_timeout 65; 802 | 803 | #gzip on; 804 | 805 | proxy_redirect off; 806 | proxy_set_header Host $host; 807 | proxy_set_header X-Real-IP $remote_addr; 808 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 809 | client_max_body_size 10m; 810 | client_body_buffer_size 128k; 811 | proxy_connect_timeout 5s; 812 | proxy_send_timeout 5s; 813 | proxy_read_timeout 5s; 814 | proxy_buffer_size 4k; 815 | proxy_buffers 4 32k; 816 | proxy_busy_buffers_size 64k; 817 | proxy_temp_file_write_size 64k; 818 | 819 | server { 820 | listen 6501; 821 | server_name 192.168.99.104; 822 | location / { 823 | root /home/fn1/renren-vue; 824 | index index.html; 825 | } 826 | } 827 | } 828 | ``` 829 | 830 | ```shell 831 | #启动第fn1节点 832 | docker run -it -d --name fn1 -v /home/fn1/nginx.conf:/etc/nginx/nginx.conf -v /home/fn1/renren-vue:/home/fn1/renren-vue --privileged --net=host nginx 833 | ``` 834 | 835 | 宿主机/home/fn2/nginx.conf的配置文件 836 | 837 | ```shell 838 | user nginx; 839 | worker_processes 1; 840 | error_log /var/log/nginx/error.log warn; 841 | pid /var/run/nginx.pid; 842 | 843 | events { 844 | worker_connections 1024; 845 | } 846 | 847 | http { 848 | include /etc/nginx/mime.types; 849 | default_type application/octet-stream; 850 | 851 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 852 | '$status $body_bytes_sent "$http_referer" ' 853 | '"$http_user_agent" "$http_x_forwarded_for"'; 854 | 855 | access_log /var/log/nginx/access.log main; 856 | 857 | sendfile on; 858 | #tcp_nopush on; 859 | 860 | keepalive_timeout 65; 861 | 862 | #gzip on; 863 | 864 | proxy_redirect off; 865 | proxy_set_header Host $host; 866 | proxy_set_header X-Real-IP $remote_addr; 867 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 868 | client_max_body_size 10m; 869 | client_body_buffer_size 128k; 870 | proxy_connect_timeout 5s; 871 | proxy_send_timeout 5s; 872 | proxy_read_timeout 5s; 873 | proxy_buffer_size 4k; 874 | proxy_buffers 4 32k; 875 | proxy_busy_buffers_size 64k; 876 | proxy_temp_file_write_size 64k; 877 | 878 | server { 879 | listen 6502; 880 | server_name 192.168.99.104; 881 | location / { 882 | root /home/fn2/renren-vue; 883 | index index.html; 884 | } 885 | } 886 | } 887 | ``` 888 | 889 | ```shell 890 | #启动第fn2节点 891 | docker run -it -d --name fn2 -v /home/fn2/nginx.conf:/etc/nginx/nginx.conf -v /home/fn2/renren-vue:/home/fn2/renren-vue --privileged --net=host nginx 892 | ``` 893 | 894 | 宿主机/home/fn3/nginx.conf的配置文件 895 | 896 | ```shell 897 | user nginx; 898 | worker_processes 1; 899 | error_log /var/log/nginx/error.log warn; 900 | pid /var/run/nginx.pid; 901 | 902 | events { 903 | worker_connections 1024; 904 | } 905 | 906 | http { 907 | include /etc/nginx/mime.types; 908 | default_type application/octet-stream; 909 | 910 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 911 | '$status $body_bytes_sent "$http_referer" ' 912 | '"$http_user_agent" "$http_x_forwarded_for"'; 913 | 914 | access_log /var/log/nginx/access.log main; 915 | 916 | sendfile on; 917 | #tcp_nopush on; 918 | 919 | keepalive_timeout 65; 920 | 921 | #gzip on; 922 | 923 | proxy_redirect off; 924 | proxy_set_header Host $host; 925 | proxy_set_header X-Real-IP $remote_addr; 926 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 927 | client_max_body_size 10m; 928 | client_body_buffer_size 128k; 929 | proxy_connect_timeout 5s; 930 | proxy_send_timeout 5s; 931 | proxy_read_timeout 5s; 932 | proxy_buffer_size 4k; 933 | proxy_buffers 4 32k; 934 | proxy_busy_buffers_size 64k; 935 | proxy_temp_file_write_size 64k; 936 | 937 | server { 938 | listen 6503; 939 | server_name 192.168.99.104; 940 | location / { 941 | root /home/fn3/renren-vue; 942 | index index.html; 943 | } 944 | } 945 | } 946 | ``` 947 | 948 | 启动fn3节点 949 | 950 | ```shell 951 | #启动第fn3节点 952 | docker run -it -d --name fn3 -v /home/fn3/nginx.conf:/etc/nginx/nginx.conf -v /home/fn3/renren-vue:/home/fn3/renren-vue --privileged --net=host nginx 953 | ``` 954 | 955 | 4. 配置负载均衡 956 | 957 | 宿主机/home/ff1/nginx.conf配置文件 958 | 959 | ```shell 960 | user nginx; 961 | worker_processes 1; 962 | error_log /var/log/nginx/error.log warn; 963 | pid /var/run/nginx.pid; 964 | 965 | events { 966 | worker_connections 1024; 967 | } 968 | 969 | http { 970 | include /etc/nginx/mime.types; 971 | default_type application/octet-stream; 972 | 973 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 974 | '$status $body_bytes_sent "$http_referer" ' 975 | '"$http_user_agent" "$http_x_forwarded_for"'; 976 | 977 | access_log /var/log/nginx/access.log main; 978 | 979 | sendfile on; 980 | #tcp_nopush on; 981 | 982 | keepalive_timeout 65; 983 | 984 | #gzip on; 985 | 986 | proxy_redirect off; 987 | proxy_set_header Host $host; 988 | proxy_set_header X-Real-IP $remote_addr; 989 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 990 | client_max_body_size 10m; 991 | client_body_buffer_size 128k; 992 | proxy_connect_timeout 5s; 993 | proxy_send_timeout 5s; 994 | proxy_read_timeout 5s; 995 | proxy_buffer_size 4k; 996 | proxy_buffers 4 32k; 997 | proxy_busy_buffers_size 64k; 998 | proxy_temp_file_write_size 64k; 999 | 1000 | upstream fn { 1001 | server 192.168.99.104:6501; 1002 | server 192.168.99.104:6502; 1003 | server 192.168.99.104:6503; 1004 | } 1005 | server { 1006 | listen 6601; 1007 | server_name 192.168.99.104; 1008 | location / { 1009 | proxy_pass http://fn; 1010 | index index.html index.htm; 1011 | } 1012 | } 1013 | } 1014 | ``` 1015 | 1016 | ```shell 1017 | #启动ff1节点 1018 | docker run -it -d --name ff1 -v /home/ff1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx 1019 | ``` 1020 | 1021 | 宿主机/home/ff2/nginx.conf配置文件 1022 | 1023 | ```shell 1024 | user nginx; 1025 | worker_processes 1; 1026 | error_log /var/log/nginx/error.log warn; 1027 | pid /var/run/nginx.pid; 1028 | 1029 | events { 1030 | worker_connections 1024; 1031 | } 1032 | 1033 | http { 1034 | include /etc/nginx/mime.types; 1035 | default_type application/octet-stream; 1036 | 1037 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 1038 | '$status $body_bytes_sent "$http_referer" ' 1039 | '"$http_user_agent" "$http_x_forwarded_for"'; 1040 | 1041 | access_log /var/log/nginx/access.log main; 1042 | 1043 | sendfile on; 1044 | #tcp_nopush on; 1045 | 1046 | keepalive_timeout 65; 1047 | 1048 | #gzip on; 1049 | 1050 | proxy_redirect off; 1051 | proxy_set_header Host $host; 1052 | proxy_set_header X-Real-IP $remote_addr; 1053 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 1054 | client_max_body_size 10m; 1055 | client_body_buffer_size 128k; 1056 | proxy_connect_timeout 5s; 1057 | proxy_send_timeout 5s; 1058 | proxy_read_timeout 5s; 1059 | proxy_buffer_size 4k; 1060 | proxy_buffers 4 32k; 1061 | proxy_busy_buffers_size 64k; 1062 | proxy_temp_file_write_size 64k; 1063 | 1064 | upstream fn { 1065 | server 192.168.99.104:6501; 1066 | server 192.168.99.104:6502; 1067 | server 192.168.99.104:6503; 1068 | } 1069 | server { 1070 | listen 6602; 1071 | server_name 192.168.99.104; 1072 | location / { 1073 | proxy_pass http://fn; 1074 | index index.html index.htm; 1075 | } 1076 | } 1077 | } 1078 | ``` 1079 | 1080 | ```shell 1081 | #启动ff2节点 1082 | docker run -it -d --name ff2 -v /home/ff2/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx 1083 | ``` 1084 | 1085 | 5. 配置双机热备 1086 | 1087 | ```shell 1088 | #进入ff1节点 1089 | docker exec -it ff1 bash 1090 | #更新软件包 1091 | apt-get update 1092 | #安装VIM 1093 | apt-get install vim 1094 | #安装Keepalived 1095 | apt-get install keepalived 1096 | #编辑Keepalived配置文件(如下) 1097 | vim /etc/keepalived/keepalived.conf 1098 | #启动Keepalived 1099 | service keepalived start 1100 | ``` 1101 | 1102 | ```shell 1103 | vrrp_instance VI_1 { 1104 | state MASTER 1105 | interface ens33 1106 | virtual_router_id 52 1107 | priority 100 1108 | advert_int 1 1109 | authentication { 1110 | auth_type PASS 1111 | auth_pass 123456 1112 | } 1113 | virtual_ipaddress { 1114 | 192.168.99.152 1115 | } 1116 | } 1117 | virtual_server 192.168.99.151 6701 { 1118 | delay_loop 3 1119 | lb_algo rr 1120 | lb_kind NAT 1121 | persistence_timeout 50 1122 | protocol TCP 1123 | real_server 192.168.99.104 6601 { 1124 | weight 1 1125 | } 1126 | } 1127 | ``` 1128 | 1129 | ```shell 1130 | #进入ff1节点 1131 | docker exec -it ff2 bash 1132 | #更新软件包 1133 | apt-get update 1134 | #安装VIM 1135 | apt-get install vim 1136 | #安装Keepalived 1137 | apt-get install keepalived 1138 | #编辑Keepalived配置文件(如下) 1139 | vim /etc/keepalived/keepalived.conf 1140 | #启动Keepalived 1141 | service keepalived start 1142 | ``` 1143 | 1144 | ```shell 1145 | vrrp_instance VI_1 { 1146 | state MASTER 1147 | interface ens33 1148 | virtual_router_id 52 1149 | priority 100 1150 | advert_int 1 1151 | authentication { 1152 | auth_type PASS 1153 | auth_pass 123456 1154 | } 1155 | virtual_ipaddress { 1156 | 192.168.99.152 1157 | } 1158 | } 1159 | virtual_server 192.168.99.151 6701 { 1160 | delay_loop 3 1161 | lb_algo rr 1162 | lb_kind NAT 1163 | persistence_timeout 50 1164 | protocol TCP 1165 | real_server 192.168.99.104 6602 { 1166 | weight 1 1167 | } 1168 | } 1169 | ``` 1170 | 1171 | -------------------------------------------------------------------------------- /Document/Rclone.md: -------------------------------------------------------------------------------- 1 | ## rclone 2 | 3 | > 官网:https://rclone.org 4 | 5 | ### 安装 6 | 7 | ```bash 8 | sudo pacman -S rclone 9 | # 检查安装时候成功 10 | rclone -v 11 | ``` 12 | 13 | ### 新建一个 onedrive网盘 14 | 15 | ```bash 16 | rclone config 17 | ``` 18 | 19 | 看着提示来吧,实在看不懂就百度一下,反正不知道怎么输入的就直接回车。官方案例: 20 | 21 | ``` 22 | e) Edit existing remote 23 | n) New remote 24 | d) Delete remote 25 | r) Rename remote 26 | c) Copy remote 27 | s) Set configuration password 28 | q) Quit config 29 | e/n/d/r/c/s/q> n 30 | name> remote 31 | Type of storage to configure. 32 | Enter a string value. Press Enter for the default (""). 33 | Choose a number from below, or type in your own value 34 | [snip] 35 | XX / Microsoft OneDrive 36 | \ "onedrive" 37 | [snip] 38 | Storage> onedrive 39 | Microsoft App Client Id 40 | Leave blank normally. 41 | Enter a string value. Press Enter for the default (""). 42 | client_id> 43 | Microsoft App Client Secret 44 | Leave blank normally. 45 | Enter a string value. Press Enter for the default (""). 46 | client_secret> 47 | Edit advanced config? (y/n) 48 | y) Yes 49 | n) No 50 | y/n> n 51 | Remote config 52 | Use auto config? 53 | * Say Y if not sure 54 | * Say N if you are working on a remote or headless machine 55 | y) Yes 56 | n) No 57 | y/n> y 58 | If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth // 这个链接需要授权,复制到浏览器打开 59 | Log in and authorize rclone for access 60 | Waiting for code... 61 | Got code 62 | Choose a number from below, or type in an existing value 63 | 1 / OneDrive Personal or Business 64 | \ "onedrive" 65 | 2 / Sharepoint site 66 | \ "sharepoint" 67 | 3 / Type in driveID 68 | \ "driveid" 69 | 4 / Type in SiteID 70 | \ "siteid" 71 | 5 / Search a Sharepoint site 72 | \ "search" 73 | Your choice> 1 74 | Found 1 drives, please select the one you want to use: 75 | 0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk 76 | Chose drive to use:> 0 77 | Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents 78 | Is that okay? 79 | y) Yes 80 | n) No 81 | y/n> y 82 | -------------------- 83 | [remote] 84 | type = onedrive 85 | token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"} 86 | drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk 87 | drive_type = business 88 | -------------------- 89 | y) Yes this is OK 90 | e) Edit this remote 91 | d) Delete this remote 92 | y/e/d> y 93 | ``` 94 | 95 | ### 挂载 Ondrive 网盘到本地 96 | 97 | - 查看新建的网盘 98 | 99 | ```bash 100 | rclone config show 101 | ``` 102 | 103 | - 挂载网盘到本地 104 | 105 | ```bash 106 | # rclone mount 网盘名称:网盘里面的文件夹 本地绝对路径 107 | rclone mount onedrive:video /home/orangbus/Onedrive 108 | ``` 109 | 110 | 参数说明: 111 | 112 | **网盘名称**:新建网盘的时候你输入的网盘名称 113 | 114 | ``` 115 | e) Edit existing remote 116 | n) New remote 117 | d) Delete remote 118 | r) Rename remote 119 | c) Copy remote 120 | s) Set configuration password 121 | q) Quit config 122 | e/n/d/r/c/s/q> n 123 | name> onedrive //这里的名字 124 | ``` 125 | 126 | **网盘里面的文件夹:** 假如你的网盘目录下有一个`video` 的文件夹,你想把这个文件夹挂载到本地(其他文件夹挂载类似) 127 | 128 | ``` 129 | rclone mount onedrive:video 本地绝对路径 130 | ``` 131 | 132 | **本地绝对路径:** 在本地新建一个文件夹,用来挂载网盘,最好是绝对路径 133 | 134 | ``` 135 | /home/orangbus/Onedrive 136 | ``` 137 | 138 | - 复制本地文件到网盘中 139 | 140 | 如果想把某个文件或者文件夹备份到我的网盘中 141 | 142 | ```bash 143 | rclone copy /home/orangbus/localFile.zip onedrive:document 144 | ``` 145 | 146 | ## 快速启动 147 | 148 | 对于我来说,我不想要时时挂载,那么我们可以自己设置一个linux别名快速启动 149 | 150 | ```bash 151 | cd - 152 | vim .zshrc 153 | ### 末尾添加下面一行命令即可 154 | alias rclonerun="rclone mount onedrive:video /home/orangbus/Onedrive" 155 | ################# 156 | source ~/.zshrc 157 | ``` 158 | 159 | ## 开机自启 160 | 161 | 先新建`systemd`配置文件,适用`CentOS 7`、`Debian 8+`、`Ubuntu 16+`。 162 | 163 | 再使用命令: 164 | 165 | ``` 166 | #将后面修改成你上面手动运行命令中,除了rclone的全部参数 167 | command="mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000" 168 | #以下是一整条命令,一起复制到SSH客户端运行 169 | cat > /etc/systemd/system/rclone.service < <网盘名称:路径> [参数] [参数] ... 235 | # 网盘到本地 236 | rclone [功能选项] <网盘名称:路径> <本地路径> [参数] [参数] ... 237 | # 网盘到网盘 238 | rclone [功能选项] <网盘名称:路径> <网盘名称:路径> [参数] [参数] . 239 | ``` 240 | 241 | ## 常用功能选项 242 | 243 | ```bash 244 | rclone config // 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。 245 | rclone copy // 将文件从源复制到目的地址,跳过已复制完成的。 246 | rclone mount //载 247 | rclone sync // 将源数据同步到目的地址,只更新目的地址的数据。 248 | rclone move // 将源数据移动到目的地址。 249 | rclone delete // 删除指定路径下的文件内容。 250 | rclone purge // 清空指定路径下所有文件数据。 251 | rclone mkdir // 创建一个新目录。 252 | rclone rmdir // 删除空目录。 253 | rclone check // 检查源和目的地址数据是否匹配。 254 | rclone ls // 列出指定路径下所有的文件以及文件大小和路径。 255 | rclone lsd // 列出指定路径下所有的目录/容器/桶。 256 | rclone lsl // 列出指定路径下所有文件以及修改时间、文件大小和路径。 257 | rclone md5sum // 为指定路径下的所有文件产生一个md5sum文件。 258 | rclone sha1sum // 为指定路径下的所有文件产生一个sha1sum文件。 259 | rclone size // 获取指定路径下,文件内容的总大小。 260 | rclone version // 查看当前版本。 261 | rclone cleanup // 清空remote。 262 | rclone dedupe // 交互式查找重复文件,进行删除/重命名操作 263 | 264 | rclone copy - 复制 265 | rclone move - 移动,如果要在移动后删除空源目录,请加上 --delete-empty-src-dirs 参数 266 | rclone sync - 同步:将源目录同步到目标目录,只更改目标目录。 267 | rclone size - 查看网盘文件占用大小。 268 | rclone delete - 删除路径下的文件内容。 269 | rclone purge - 删除路径及其所有文件内容。 270 | rclone mkdir - 创建目录。 271 | rclone rmdir - 删除目录。 272 | rclone rmdirs - 删除指定灵境下的空目录。如果加上 --leave-root 参数,则不会删除根目录。 273 | rclone check - 检查源和目的地址数据是否匹配。 274 | rclone ls - 列出指定路径下的所有的文件以及文件大小和路径。 275 | rclone lsl - 比上面多一个显示上传时间。 276 | rclone lsd 列出指定路径下的目录 277 | rclone lsf - 列出指定路径下的目录和文件 278 | ``` 279 | 280 | ## 常用参数 281 | 282 | ```bash 283 | -n = --dry-run - 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。 284 | -P = --progress - 显示实时传输进度,500mS 刷新一次,否则默认 1 分钟刷新一次。 285 | --cache-chunk-size SizeSuffi - 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。 286 | --cache-chunk-total-size SizeSuffix - 块可以在本地磁盘上占用的总大小,默认10G。 287 | --transfers=N - 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如128M的小鸡上使用建议设置为1。 288 | --config string - 指定配置文件路径,string为配置文件路径。 289 | --ignore-errors - 跳过错误。比如 OneDrive 在传了某些特殊文件后会提示Failed to copy: failed to open source object: malwareDetected: Malware detected,这会导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0。 290 | ``` 291 | 292 | 293 | ## 文件过滤 294 | 295 | ```bash 296 | -exclude - 排除文件或目录。 297 | --include - 包含文件或目录。 298 | --filter - 文件过滤规则,相当于上面两个选项的其它使用方式。包含规则以 + 开头,排除规则以 - 开头。 299 | 300 | 文件类型过滤 301 | 比如 --exclude "*.bak"、--filter "- *.bak",排除所有 bak 文件。也可以写作。 302 | 比如 --include "*.{png,jpg}"、--filter "+ *.{png,jpg}",包含所有 png 和 jpg 文件,排除其他文件。 303 | --delete-excluded 删除排除的文件。需配合过滤参数使用,否则无效。 304 | 305 | 目录过滤 306 | 目录过滤需要在目录名称后面加上 /,否则会被当做文件进行匹配。以 / 开头只会匹配根目录(指定目录下),否则匹配所目录。这同样适用于文件。 307 | --exclude ".git/" 排除所有目录下的.git 目录。 308 | --exclude "/.git/" 只排除根目录下的.git 目录。 309 | --exclude "{Video,Software}/" 排除所有目录下的 Video 和 Software 目录。 310 | --exclude "/{Video,Software}/" 只排除根目录下的 Video 和 Software 目录。 311 | --include "/{Video,Software}/**" 仅包含根目录下的 Video 和 Software 目录的所有内容。 312 | 313 | 文件大小过滤 314 | 默认大小单位为 kBytes ,但可以使用 k ,M 或 G 后缀。 315 | --min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。 316 | --max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件。 317 | ``` 318 | -------------------------------------------------------------------------------- /Document/linux常用命令汇总.md: -------------------------------------------------------------------------------- 1 | # 素linux常用命令汇总 2 | 3 | ## Centos7-防火墙及端口操作 4 | 5 | - 查看本机端口打开情况 6 | 7 | ``` 8 | netstat -aptn 9 | netstat -nupl (UDP类型的端口) 10 | netstat -ntpl (TCP类型的端口) 11 | 12 | telnet ip 端口号 //方式测试远程主机端口是否打开 13 | telnet 127.0.0.1 80 14 | ``` 15 | 16 | 17 | - 开通某个端口:`/etc/sysconfig/iptables` 不是`/etc/sysconfig/iptables-config` , 其实把实例复制下来改一下端口就可以了 18 | ``` 19 | -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 20 | ``` 21 | 22 | - 重启防火墙iptables使配置生效 23 | 24 | ``` 25 | systemctl status/restart/stop firewalld //状态、重启、关闭 26 | ``` 27 | 28 | - Centos默认使用Firewall,如果想使用`iptables` 29 | 30 | ``` 31 | systemctil disable firewalld //关闭Firewall 32 | yum install -y iptables-services //安装iptables 33 | systemctl start/stop/restart iptables //开启Iptables 34 | 35 | systemctl enable iptables.service //开机启动 36 | ``` 37 | 38 | - 查看本机网络及ip信息 39 | 40 | ``` 41 | ip addr 42 | ``` 43 | 44 | 45 | ## 两种服务启动命令 46 | 47 | ``` 48 | service nginx start/restart/stop 49 | systemctl start/restart/stop nginx 50 | ``` 51 | 52 | ## 开机启动某个服务 53 | 54 | ``` 55 | chkconfig nginx on 56 | ``` 57 | 58 | ## 进程操作 59 | 60 | ``` 61 | ps aux | grep nginx 62 | ``` 63 | 64 | ## 环境变量 65 | 66 | ​ 环境变量配置文件:`/etc/profile` 全局有效 `~/home/.zhsrc` 针对当前用户有效 67 | 68 | ``` 69 | echo $PATH 70 | export PATH=$PATH:/usr/local/php/bin 71 | ``` 72 | 73 | ## 软件安装 74 | 75 | - RPM包安装: 76 | 77 | ``` 78 | rpm ivh package.rpm 79 | ``` 80 | 81 | - deb包:直接双击打开即可安装 82 | 83 | ``` 84 | 85 | ``` 86 | 87 | - 88 | 89 | # Centos7--lnmp 之Yum安装 90 | 91 | > 1. ** 配置防火墙 **,开启80端口、3306端口,添加到默认的22端口规则的下面。 92 | > 93 | > ``` 94 | > vi /etc/sysconfig/iptables 95 | > #允许80端口通过防火墙 96 | > -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 97 | > #允许3306端口通过防火墙 98 | > -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 99 | > #保存退出 100 | > :wq 101 | > #重启防火墙iptables使配置生效 102 | > /etc/init.d/iptables restart 103 | > ``` 104 | 105 | - nginx 106 | 107 | > nginx -t //检查nginx配置文件是否有错误 108 | 109 | ``` 110 | #安装nginx 111 | yum install nginx 112 | #启动 113 | service nginx start 114 | #设置开机启动 115 | chkconfig nginx on 116 | #重启设置 117 | /etc/init.d/nginx restart 118 | ``` 119 | 120 | - mysql 121 | 122 | - Download and add the repository, then update. 123 | 124 | ``` 125 | wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 126 | sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 127 | yum update 128 | ``` 129 | 130 | - install mysql 131 | 132 | ``` 133 | sudo yum install mysql-server 134 | sudo systemctl start mysqld 135 | ``` 136 | 137 | - set mysql passwd 138 | 139 | ``` 140 | #初始化命令,按步骤选择。 141 | mysql_secure_installation 142 | # 是否设定root密码,当然设置了,输入Y回车 143 | Set root password? [Y/n] Y 144 | # 输入root密码 145 | New password: 146 | # 再次输入root密码,MySQL5.6.6增加了密码强度验证插件validate_password,密码要求比较严格,需要特殊字符和大小字符,可以关闭这个插件 147 | Re-enter new password: 148 | # 是否删除匿名用户,删除,输入Y回车 149 | Remove anonymous users? [Y/n] Y 150 | # 是否删禁止root用户远程登录,当然禁止,输入Y回车 151 | Disallow root login remotely? [Y/n] Y 152 | # 是否删除测试数据库test,看个人喜好 153 | Remove test database and access to it? [Y/n] 154 | # 刷新权限,输入Y回车 155 | Reload privilege tables now? [Y/n] Y 156 | #初始化完毕 157 | 158 | #停止 159 | /etc/init.d/mysqld stop 160 | #启动 161 | /etc/init.d/mysqld start 162 | #重启 163 | service mysqld restart 164 | ``` 165 | 166 | 167 | 168 | - php 169 | 170 | ``` 171 | sudo yum install epel-release yum-utils 172 | sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 173 | 174 | sudo yum-config-manager --enable remi-php72 175 | 176 | sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd 177 | 178 | sudo yum install php-fpm 179 | 180 | php -v 181 | ``` 182 | 183 | - 配置nginx支持php 184 | 185 | - 用户设置 186 | - php支持 `/etc/nginx/` 187 | 188 | ``` 189 | server { 190 | 191 | # . . . other code 192 | 193 | location ~ \.php$ { 194 | try_files $uri =404; 195 | fastcgi_pass unix:/run/php-fpm/www.sock; 196 | fastcgi_index index.php; 197 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 198 | include fastcgi_params; 199 | } 200 | } 201 | ``` 202 | 203 | **重启所有服务** `sudo systemctl restart nginx mysqld php-fpm` 204 | 205 | #### 备注 206 | 207 | nginx日志:/var/log/nginx/error.log 208 | 209 | 权限设置:chown nginx.nginx/usr/share/nginx/html/ -R 210 | MySQL数据库目录是:/var/lib/mysql 211 | 权限设置:chown mysql.mysql -R /var/lib/mysql 212 | PHP主目录 /etc/php.d/ 213 | PHP配置文件 /etc/php.ini 214 | PHP模块位置 /usr/lib/php/ 或者 /usr/lib64/php/PHP模块位置 /usr/lib/php/ 或者 /usr/lib64/php/ 215 | 216 | Ps:参考blog:https://www.jianshu.com/p/69a289dc5441 217 | 218 | ​ https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7/ 219 | 220 | 221 | 222 | # Centos7--lnmp编译安装 223 | 224 | - nginx 225 | 226 | - mysql 227 | 228 | - php 229 | 230 | 懒得弄了。直接上laradock,请查看docker文件 231 | 232 | 233 | ## 推荐网站 234 | 235 | - https://linuxize.com/ 236 | 237 | 238 | -------------------------------------------------------------------------------- /Document/window+linux-install.md: -------------------------------------------------------------------------------- 1 | ## 安装双系统的建议,这样就不会遇到引导缺失问题了 2 | 3 | 以双系统为例,首先如果你打算以后要经常安装两个系统在你的电脑上,一开始就分好区: 4 | 5 | 我有一块240G的固态硬盘(全盘格式化)作为系统盘,那么分140G一块作为主系统,100G作为辅助的 6 | 7 | - window + linux 8 | 9 | 先安装window (140G),再安装linux (100G) 10 | 11 | - linux - linux (deepin+manjaro/ubuntu/OtherUinix) 12 | 13 | 先安装deepin,再安装其他的, 磁盘看你用哪个作为主系统 14 | 15 | - 如果你已经安装了其他 linux 系统,再想安装deepin系统 16 | 17 | ![](https://github.com/orangbus/Tool/blob/master/images/step6.png?raw=true) 18 | 19 | ![](https://github.com/orangbus/Tool/blob/master/images/step7.png?raw=true) 20 | 21 | ![](https://github.com/orangbus/Tool/blob/master/images/step8.png?raw=true) 22 | 23 | ![](https://github.com/orangbus/Tool/blob/master/images/step9.png?raw=true) 24 | 25 | 如果是安装方式跟这个也差不多。 26 | 27 | ## BIOS 28 | 29 | 有些bios是可以添加引导的,比如我的dell-3878,我曾经安装过3个系统(window+deepin+凤凰OS),我当时分了三个区,分别按顺序安装系统,一路上都没有什么问题,最后只是引导没有显示出来,当时上网查了很多教程,真的是五花八门,最后在仔细看BIOS里面的设置的时候发现是可以添加引导的, 30 | 31 | ![orangbus](https://github.com/orangbus/Tool/blob/master/images/step1.png?raw=true) 32 | 33 | ![orangbus](https://github.com/orangbus/Tool/blob/master/images/step2.png?raw=true) 34 | 35 | ![orangbus](https://github.com/orangbus/Tool/blob/master/images/step3.png?raw=true) 36 | 37 | ![orangbus](https://github.com/orangbus/Tool/blob/master/images/step4.png?raw=true) 38 | 39 | ![orangbus](https://github.com/orangbus/Tool/blob/master/images/step5.png?raw=true) 40 | 41 | 以上是个人安装系统的经验分享,大神勿喷哈。 -------------------------------------------------------------------------------- /Google/Ghelper2.2.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/Google/Ghelper2.2.1.zip -------------------------------------------------------------------------------- /Google/README.md: -------------------------------------------------------------------------------- 1 | # How to use ? 2 | 3 | 百度寻找千百遍,蓦然回首,那人就在 google。 4 | 5 | 推荐一个百度重定向去除脚本,个人使用感觉挺好的,有需要的小伙伴抓紧上车 6 | 7 | Github: 8 | 9 | ## Google.tar.bz2 10 | 11 | 解压缩 12 | 13 | ``` 14 | tar xjf google.tar.bz2 -C Path-to-you-dir(/home/app/google) 15 | ``` 16 | 17 | - 方法一: 18 | 19 | 1. 打开Google浏览器的扩展:chrome://extensions/ ,点击右上角 `开启开发者模式` 20 | 2. 点击左上角`加载已解压的扩展程序` ,选择刚刚解压的文件夹即可。 21 | 22 | - 方法二 23 | 24 | 直接解压文件里的 `谷歌访问助手.crx` 拖进 `chrome://extensions/` 进行安装。 25 | 26 | ## Ghelper.tar.bz2 27 | 28 | 解压缩 29 | 30 | ``` 31 | tar xjf Ghelper.tar.bz2 -C Path-to-you-dir //解压缩 32 | tar -tvjf Ghelper.tar.bz2 //查看压缩文件 33 | # 压缩xx.tar.bz2文件 34 | tar cjfv ZipName.tar.bz2 sourceFiles 35 | # 将当前目录下的 App 文件夹打包 36 | tar cjfv app.tar.bz2 App 37 | ``` 38 | 39 | 官网:http://googlehelper.net/ 40 | 41 | 使用方法同上 42 | 43 | Q: 为什么使用 `xxx.tar.bz2` 感觉没有见过的格式? 44 | 45 | W: 使用 `.bz2` 可以把文件大大的压缩,一方面下载的时候可以快一点,另一方面就是推荐大家使用吧(个人建议) 46 | 47 | ## SwitchySharp : 浏览器代理助手 48 | 49 | 详细请看: 如何上google教程。 50 | 51 | --- 52 | 53 | > 学习以下内容请牢记我天朝核心价值观 54 | > 55 | > 富强、民主、文明、和谐,自由、平等、公正、法治,爱国、敬业、诚信、友善 56 | 57 | 我的桌面系统是 `Manjaro-gome` ,其他linux发行版请参考使用。 58 | 59 | ## linux客户端使用shadowsock-qt5(SSR)科学上网 60 | 61 | - 安装shadowsock-Qt5 (先看看长啥样) 62 | 63 | ![](https://github.com/orangbus/Tool/blob/master/images/shadowsock.png?raw=true) 64 | 65 | ``` 66 | # Arch manjro 67 | sudo pacman -S shadowsock-qt5 //不一定有效 68 | ``` 69 | 70 | **【推荐】** 可以在软件管理中搜索 `shadowsock-qt5 ` 71 | 72 | - 确保你的SSR配置没问题 73 | - 填写本地代理地址的时候请记住你填写的**端口** ,系统代理和插件代理的时候会用到。 74 | 75 | 方法1、安装插件:([Proxy SwitchySharp](https://www.switchysharp.com/install.html) )本目录下也提供下载。--仅浏览器科学上网 76 | 77 | ![](https://github.com/orangbus/Tool/blob/master/images/1080.png?raw=true) 78 | 79 | ![](https://github.com/orangbus/Tool/blob/master/images/Proxy%20SwitchySharp.png?raw=true) 80 | 81 | 方法2、使用**Ghelper** 插件代理。--仅浏览器科学上网 82 | 83 | ![](https://github.com/orangbus/Tool/blob/master/images/ipport.png?raw=true) 84 | 85 | 方法3、系统代理 。--支持终端代理 86 | 87 | ​ 最近在折腾linux系统的时候发现,原来你只要安装了了`shadowsock-qt5` 并成功配置好 SSR 之后,打开【设置】【代理】找到【代理】,选择 shadowsock , 地址填`127.0.0.1` 端口:`1080` (上面你自己配置的本地代理端口),然后打开 Google.com 神奇的就打开了,虽然我以前也配置过,不知道什么原因上不了Google,但是最近折腾的时候又可以的,亲测【deepin】【Manjaro-gnome】系统方法可行。 88 | 89 | ![](https://github.com/orangbus/Tool/blob/master/images/system.png?raw=true) 90 | 91 | - 终端代理 92 | 93 | ``` 94 | export http_proxy=socks5://127.0.0.1:1080 95 | # 可以添加到 .bashrc 96 | alias ssron="export ALL_PROXY=socks5://127.0.0.1:1080" 97 | alias ssroff="unset ALL_PROXY" 98 | ``` 99 | 100 | - git clone 代理 101 | 102 | ``` 103 | // 1080 改为自己的 socks5 监听端口 104 | git config --global http.https://github.com.proxy socks5://127.0.0.1:1080 105 | git config --global https.https://github.com.proxy socks5://127.0.0.1:1080 106 | ``` 107 | 108 | 参考:https://struggleblog.com/2018/07/13/accelerate_github_clone/ 109 | 110 | https://blog.kelu.org/tech/2017/06/19/setting-socks5-proxy.html 111 | 112 | ## linux客户端使用V2ray科学上网 113 | 114 | 1、安装V2rayA:https://github.com/mzz2017/V2RayA 115 | 116 | ``` 117 | yay v2raya 118 | sudo systemctl start v2raya //启动v2raya 119 | ``` 120 | 121 | 更多安装方式请参考该项目作者的介绍 122 | 123 | 2、打开webGui配置v2ray信息:https://v2raya.mzz.pub/ 124 | 125 | 需要注意的是,webGUI里面的【设置】【地址与端口】配置的是**本地代理的端口** ,也就是说在使用**Ghelper** 插件进行代理科学上网的时候,代理地址是:127.0.0.1,端口:**本地代理的端口** 126 | 127 | ![](https://github.com/orangbus/Tool/blob/master/images/v2rayport.png?raw=true) 128 | 129 | 至此你就可以使用v2ray进行科学上网了。 130 | 131 | 如何你能找到任何 132 | 133 | # 我遇到的问题 134 | 135 | 1、我所有东西配置好了,但是我还是不能使用 v2ray 科学上网? 136 | 137 | - 检查端口是否冲突了 138 | - 可以安装 `shadowsocks-qt5` 调试一下可不可以科学上网,假如我只是配置了 `http` 端口转发,没有`socks` ,那么`socks5` 选项最好不要填,空摆着就可以。 139 | - 16字真言:不行就分,喜欢就买,多喝点水,重启试试。 140 | 141 | 142 | 143 | 如果你有更好的推荐,并且能找到任何联系我们的方式,请加入我们,当然不加入也无所谓。 -------------------------------------------------------------------------------- /Google/SwitchySharp.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/Google/SwitchySharp.zip -------------------------------------------------------------------------------- /Google/google.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/Google/google.tar.bz2 -------------------------------------------------------------------------------- /JetBrains/PHPstorm-settings.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/PHPstorm-settings.jar -------------------------------------------------------------------------------- /JetBrains/PhpStorm-settings-linux.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/PhpStorm-settings-linux.zip -------------------------------------------------------------------------------- /JetBrains/README.md: -------------------------------------------------------------------------------- 1 | # PhpStorm 配置文件 2 | 3 | ![](https://github.com/orangbus/Tool/blob/master/images/phpstorm2.png?raw=true) 4 | 5 | 其实这几个配置文件都是一样的,只不过是 PhpStorm-settings-linux.zip 是linux系统下导出的文件 6 | 7 | ## How to use 8 | 9 | 打开 phpstorm -> setting -> import settings 10 | 11 | restart phpstorm is ok ! -------------------------------------------------------------------------------- /JetBrains/jetbrains-crack20210331.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/jetbrains-crack20210331.zip -------------------------------------------------------------------------------- /JetBrains/phpstorm-window-6-10.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/phpstorm-window-6-10.zip -------------------------------------------------------------------------------- /JetBrains/webstorm-window.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/webstorm-window.zip -------------------------------------------------------------------------------- /JetBrains/webstorm(2020.3)激活码-chinaNB.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/webstorm(2020.3)激活码-chinaNB.zip -------------------------------------------------------------------------------- /JetBrains/永久破解(亲测2020 3.3以下版本通用).zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/JetBrains/永久破解(亲测2020 3.3以下版本通用).zip -------------------------------------------------------------------------------- /Linux/Vim从入门到放弃.md: -------------------------------------------------------------------------------- 1 | # Vim从入门到放弃系列 2 | 3 | > 配置一个属于你自己的vimIDE编辑器 4 | 5 | 假设你已经会简单的操作 Linux 系统了。默认当前目录是`~` 家目录,不懂执行 `cd ~`  从新配置请跳过 “个人再用插件推荐” 6 | 7 | ## 安装VIM 8 | 9 | Centos 10 | 11 | ``` 12 | sudo yum install vim 13 | ``` 14 | 15 | Manjaro / arch 16 | 17 | ``` 18 | sudo pacman -S vim 19 | ``` 20 | 21 | ## 插件管理(Vundle)安装 22 | 23 | > github:https://github.com/VundleVim/Vundle.vim 24 | > 25 | > 安装就跳过了,不会安装就别折腾了,不是歧视的意思,只是可能你接触 linux 时间不长,等你熟悉了再来玩这些扫操作的东西,这样可以节约你的时间,非得折腾官方有文档。 26 | 27 | --- 28 | 29 | 挑一点重点: 30 | 31 | vim的配置文件都是在自己家目录下的`.vimrc` 文件中(没有自行新建一个`touch .vimrc`),Vundle官方列出一份基本的配置信息,当你在复制的时候可能全部都注释了,所以需要你手动把 备注有rquired 的配置打开 32 | 33 | ## Vim 插件安装 34 | 35 | 插件搜索安装操作:首先打开 vim  36 | 37 | ``` 38 | :PluginInstall PluginName //安装 39 | :PluginSearch PluginName //搜索 40 | ``` 41 | 42 | ## 安装插件管理工具Vundle 43 | 44 | Vundel : https://github.com/VundleVim/Vundle.vim 45 | 46 | ``` 47 | git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 48 | ``` 49 | 50 | 编辑 `.vinrc` 文件,这是一个隐藏文件,可执行 `la -a` 查看,没有的话就新建一个:`touch .vimrc` , 然后添加一下内容: 51 | 52 | ``` 53 | set nocompatible " be iMproved, required 54 | filetype off " required 55 | 56 | " set the runtime path to include Vundle and initialize 57 | set rtp+=~/.vim/bundle/Vundle.vim 58 | call vundle#begin() 59 | " alternatively, pass a path where Vundle should install plugins 60 | "call vundle#begin('~/some/path/here') 61 | 62 | " let Vundle manage Vundle, required 63 | Plugin 'VundleVim/Vundle.vim' 64 | 65 | " The following are examples of different formats supported. 66 | " Keep Plugin commands between vundle#begin/end. 67 | " plugin on GitHub repo 68 | Plugin 'tpope/vim-fugitive' 69 | " plugin from http://vim-scripts.org/vim/scripts.html 70 | " Plugin 'L9' 71 | " Git plugin not hosted on GitHub 72 | Plugin 'git://git.wincent.com/command-t.git' 73 | " git repos on your local machine (i.e. when working on your own plugin) 74 | Plugin 'file:///home/gmarik/path/to/plugin' 75 | " The sparkup vim script is in a subdirectory of this repo called vim. 76 | " Pass the path to set the runtimepath properly. 77 | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} 78 | " Install L9 and avoid a Naming conflict if you've already installed a 79 | " different version somewhere else. 80 | " Plugin 'ascenator/L9', {'name': 'newL9'} 81 | 82 | " All of your Plugins must be added before the following line 83 | call vundle#end() " required 84 | filetype plugin indent on " required 85 | " To ignore plugin indent changes, instead use: 86 | "filetype plugin on 87 | " 88 | " Brief help //插件管理操作命令 89 | " :PluginList - lists configured plugins 90 | " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate 91 | " :PluginSearch foo - searches for foo; append `!` to refresh local cache 92 | " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal 93 | " 94 | " see :h vundle for more details or wiki for FAQ 95 | " Put your non-Plugin stuff after this line 96 | ``` 97 | 98 | ``` 99 | vim .vimrc //自己添加以上配置(官方给的) 100 | esc 101 | :eq 102 | vi test.py 103 | :PluginInstall 104 | ``` 105 | 106 | - 网上搬运了一份配置 107 | 108 | ``` 109 | syntax enable 110 | set background=dark 111 | colorscheme solarized 112 | 复制代码一些基本设置 113 | "========================================== 114 | "General 115 | "========================================== 116 | " history存储长度。 117 | set history=1000 118 | "检测文件类型 119 | filetype on 120 | " 针对不同的文件类型采用不同的缩进格式 121 | filetype indent on 122 | 允许插件 123 | filetype plugin on 124 | 启动自动补全 125 | filetype plugin indent on 126 | "兼容vi模式。去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 127 | set nocompatible 128 | set autoread " 文件修改之后自动载入。 129 | set shortmess=atI " 启动的时候不显示那个援助索马里儿童的提示 130 | 131 | " 取消备份。 132 | "urn backup off, since most stuff is in SVN, git et.c anyway... 133 | set nobackup 134 | set nowb 135 | set noswapfile 136 | 137 | "贴时保持格式 138 | set paste 139 | "- 则点击光标不会换,用于复制 140 | set mouse-=a " 在所有的模式下面打开鼠标。 141 | set selection=exclusive 142 | set selectmode=mouse,key 143 | 144 | " No annoying sound on errors 145 | " 去掉输入错误的提示声音 146 | set noerrorbells 147 | set novisualbell 148 | set t_vb= 149 | set tm=500 150 | 151 | "========================================== 152 | " show and format 153 | "========================================== 154 | "显示行号: 155 | set number 156 | set nowrap " 取消换行。 157 | "为方便复制,用开启/关闭行号显示: 158 | nnoremap :set nonumber!:set foldcolumn=0 159 | 160 | "括号配对情况 161 | set showmatch 162 | " How many tenths of a second to blink when matching brackets 163 | set mat=2 164 | 165 | "设置文内智能搜索提示 166 | " 高亮search命中的文本。 167 | set hlsearch 168 | " 搜索时忽略大小写 169 | set ignorecase 170 | " 随着键入即时搜索 171 | set incsearch 172 | " 有一个或以上大写字母时仍大小写敏感 173 | set smartcase 174 | 175 | " 代码折叠 176 | set foldenable 177 | " 折叠方法 178 | " manual 手工折叠 179 | " indent 使用缩进表示折叠 180 | " expr 使用表达式定义折叠 181 | " syntax 使用语法定义折叠 182 | " diff 对没有更改的文本进行折叠 183 | " marker 使用标记进行折叠, 默认标记是 {{{ 和 }}} 184 | set foldmethod=syntax 185 | " 在左侧显示折叠的层次 186 | "set foldcolumn=4 187 | 188 | set tabstop=4 " 设置Tab键的宽度 [等同的空格个数] 189 | set shiftwidth=4 190 | set expandtab " 将Tab自动转化成空格 [需要输入真正的Tab键时,使用 Ctrl+V + Tab] 191 | " 按退格键时可以一次删掉 4 个空格 192 | set softtabstop=4 193 | 194 | set ai "Auto indent 195 | set si "Smart indent 196 | 197 | "========================================== 198 | " status 199 | "========================================== 200 | "显示当前的行号列号: 201 | set ruler 202 | "在状态栏显示正在输入的命令 203 | set showcmd 204 | 205 | " Set 7 lines to the cursor - when moving vertically using j/k 上下滚动,始终在中间 206 | set so=7 207 | "set cursorline " 突出显示当前行 208 | " Improved C++ STL syntax highlighting 209 | Plugin 'STL-improved' 210 | 211 | " recommend fetch it from https://github.com/tczengming/autoload_cscope.vim.git which support c and cpp 212 | Plugin 'tczengming/autoload_cscope.vim' 213 | 214 | Plugin 'CmdlineComplete' 215 | Plugin 'xptemplate' 216 | 217 | " Ultimate auto completion system for Vim 218 | Plugin 'neocomplcache' 219 | 220 | Plugin 'genutils' 221 | Plugin 'lookupfile' 222 | 223 | " Fast file navigation 224 | Plugin 'wincent/Command-T' 225 | 226 | " Preview the definition of variables or functions in a preview window 227 | Plugin 'autopreview' 228 | 229 | " Echo the function declaration in the command line for C/C++ 230 | Plugin 'echofunc.vim' 231 | 232 | " Under linux need exec 'dos2unix ~/.vim/bundle/QFixToggle/plugin/qfixtoggle.vim' 233 | Plugin 'Toggle' 234 | 235 | Plugin 'Color-Sampler-Pack' 236 | Plugin 'txt.vim' 237 | Plugin 'mru.vim' 238 | Plugin 'YankRing.vim' 239 | Plugin 'tpope/vim-surround.git' 240 | Plugin 'DoxygenToolkit.vim' 241 | Plugin 'tczengming/headerGatesAdd.vim' 242 | Plugin 'ShowMarks' 243 | Plugin 'Lokaltog/vim-powerline' 244 | 245 | 作者:卡巴拉的树 246 | 链接:https://juejin.im/post/5a38c37f6fb9a0450909a151 247 | 来源:掘金 248 | 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 249 | ``` 250 | -------------------------------------------------------------------------------- /Linux/koolshare/README.md: -------------------------------------------------------------------------------- 1 | ## Koolshare 2 | 3 | 入门教程请移步: http://doc.orangbus.cn/Linux/Config.html#virtualbox-for-koolshare -------------------------------------------------------------------------------- /Linux/koolshare/ssrserver.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/Linux/koolshare/ssrserver.tar.gz -------------------------------------------------------------------------------- /Linux/koolshare/v2ray.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/Linux/koolshare/v2ray.tar.gz -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Manjaro安装后需要的那些骚操作 2 | 3 | ![](https://github.com/orangbus/Tool/blob/master/images/orangbus.png?raw=true) 4 | 5 | - 假设你已经安装了,如果没有的话就去 [Manjaro官网](https://manjaro.org/) 下载一个 `KDE Edition` 版本,找一个专门刻录linux系统的软件([Rufus](https://rufus.ie/zh ) | [etcher](https://www.balena.io/etcher/)) 刻录到U盘上(不要用常规刻录window的软件刻录,当然年轻爱折腾请随意),开机F12 or F2 ,选择U盘启动即可安装成功了。(最后发现还是manjaro-gnome好用,哈哈!!!) 6 | - 如何你觉得本教程还不错欢迎分享 Star. 7 | [TOC] 8 | 9 | ## 设置中国源 10 | 11 | > 肉体扶墙可跳过,在我天朝还是配置一下 12 | 13 | 选择一个响应快速的源 14 | 15 | ``` 16 | sudo pacman-mirrors -i -c China -m rank 17 | ``` 18 | 之后在添加一 个`archlinuxcn` 中国源 19 | 20 | ``` 21 | # sudo vim /etc/pacman.conf 22 | [archlinuxcn] 23 | Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch 24 | 25 | # Aliyun镜像源 26 | # sudo vim /etc/pacman.d/mirrorlist 27 | Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch 28 | ``` 29 | 30 | 以上基本OK了,如果你你喜欢其他的源也可以追加上去 31 | 32 | 更新下系统 33 | 34 | ``` 35 | sudo pacman -Syyu && sudo pacman -S archlinuxcn-keyring 36 | ``` 37 | 38 | 39 | - 如果你使用Laradock :[Alpine Linux 源使用文档](https://mirrors.ustc.edu.cn/help/alpine.html) 40 | 41 | - 更多的源访问:github: https://github.com/archlinuxcn/mirrorlist-repo 42 | 43 | - Aliyun镜像源: 44 | 45 | - 华为云: 46 | 47 | - Tencent镜像源: 48 | 49 | - 清华大学开源镜像站: 50 | 51 | - [composer中国源](https://pkg.phpcomposer.com/) 52 | 53 | ``` 54 | composer config -g repo.packagist composer https://packagist.phpcomposer.com 55 | ``` 56 | 57 | - nodejs 58 | 59 | ``` 60 | sudo pacman -S nodejs npm 61 | ``` 62 | 63 | - cnpm 64 | 65 | ``` 66 | npm install -g cnpm --registry=https://registry.npm.taobao.org && cnpm sync connect 67 | ``` 68 | 69 | - php 70 | 71 | ``` 72 | sudo pacman -S php mysql 73 | ``` 74 | 75 | 至于其他嘛,看自己的需求安装,一般情况下很多东西Manjaro都配置好了,而且是最新的。 76 | 77 | ## 终端美化 78 | 79 | 无特殊说明都在 ~ 目录操作 : `cd ~` 80 | 81 | ### [zsh](https://github.com/robbyrussell/oh-my-zsh) 82 | 83 | 有时候 一些linux发行版提示:zsh没有安装,那么: 84 | 85 | ``` bash 86 | sudo pacman -S zsh 87 | # Ubuntu debain 88 | sudo apt-get install zsh 89 | ``` 90 | 91 | 详细的教程直接看官网说明,大概步骤: 92 | 93 | 1、install zsh for select anyone : 94 | 95 | ```bash 96 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 97 | ``` 98 | 99 | 2、把zsh设置默认shell 100 | 101 | ```bash 102 | chsh -s /bin/zsh 103 | ``` 104 | 105 | 3、主题配置 `~ .zshrc` 没有新建一个 ( 默认我觉得挺好看的 ) 106 | 107 | ```bash 108 | vim .zshrc 109 | ZSH_THEME="robbyrussell" 110 | ``` 111 | 112 | ### 配置自动提示:[zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md) 113 | 114 | ```bash 115 | git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions --depth 1 116 | ``` 117 | 118 | 在`~/.zshrc` 中添加 119 | 120 | ```bash 121 | source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh 122 | ``` 123 | 124 | tip:你可以在 `.zshrc` 文件末尾添加一下别名,这样就可以不用每次桥很长的命令 125 | 126 | ```.zshrc 127 | # vim ~/.zshrc` 128 | # ============= Base ============================= 129 | alias cls="clear && ls" 130 | alias RM='rm -rf' 131 | alias ll='ls -alh' 132 | # ============== docker ========================== 133 | alias dc='docker-compose' 134 | alias dca='dc up -d nginx phpmyadmin' 135 | alias dcps='docker-compose ps' 136 | alias dcres='docker-compose restart && dcps' 137 | alias dcn='docker-compose restart nginx && dcps' 138 | alias dcd='dc down' 139 | # ============ Docker Code Dir ===================== 140 | alias ld="cd $HOME/Code/laradock" 141 | alias ldca="ld && dca" 142 | alias ldps="ld && dcps" 143 | alias ldn="ld && dcn" 144 | alias ldd="ld && dcd" 145 | alias ldres="ld && dcres" 146 | alias web="cd $HOME/Code/web" 147 | # ============= zsh-autosuggestions =============== 148 | source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh 149 | ``` 150 | 151 | Ps:没有效果的话重启一下终端就可以了。(**更多Docker技巧请查看Docker文件夹)** 152 | 153 | ## AUR 154 | 155 | 因为 pacman 包管理器本身并不直接支持 AUR,所以我们要装个 [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers),打开通往快乐的大门。 156 | 157 | Manjaro 自带的 pamac 图形化包管理器在设置中即可开启 AUR 支持。命令行下我选用了 [yay](https://github.com/Jguer/yay),可以直接从官方 community 仓库中安装: 158 | 159 | ``` 160 | # 后面那个是编译包时需要的一些工具,不然会报错缺少 fakeroot 之类的 161 | sudo pacman -S yay base-devel 162 | 163 | # 设置 AUR 清华镜像源 164 | yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save 165 | 166 | # 开启 pacman 和 yay 的彩色输出 167 | sudo sed -i "s/#Color/Color/g" /etc/pacman.conf 168 | ``` 169 | 170 | ## 如何安装软件? 171 | 172 | Arch终端推荐有三种方式:`pacman` 、`yay`、 `yaourt` 173 | 174 | ```bash 175 | sudo pacman -S yay yaourt //pacman默认就有 176 | ``` 177 | 178 | 图形化界面安装: `Octopi` 、`pamac` 179 | 180 | ```bash 181 | sudo pacman -S pamac 182 | ``` 183 | 184 | 安装工具 `pacman -S packageName` or `yaourt -S packageName` 185 | 186 | ```bash 187 | sudo pacman -S atom git vim typora wget yarn phpstorm webstorm 188 | ``` 189 | 190 | pacman 的[一些基本操作](https://www.cnblogs.com/kirito-c/p/11181978.html)供参考 191 | 192 | ``` 193 | pacman -S package_name # 安装软件 194 | pacman -S extra/package_name # 安装不同仓库中的版本 195 | pacman -Syu # 升级整个系统,y 是更新数据库,yy 是强制更新,u 是升级软件 196 | pacman -Ss string # 在包数据库中查询软件 197 | pacman -Si package_name # 显示软件的详细信息 198 | pacman -Sc # 清除软件缓存,即 /var/cache/pacman/pkg 目录下的文件 199 | pacman -R package_name # 删除单个软件 200 | pacman -Rs package_name # 删除指定软件及其没有被其他已安装软件使用的依赖关系 201 | pacman -Qs string # 查询已安装的软件包 202 | pacman -Qi package_name # 查询本地安装包的详细信息 203 | pacman -Ql package_name # 获取已安装软件所包含的文件的列表 204 | pacman -U package.tar.zx # 从本地文件安装 205 | pactree package_name # 显示软件的依赖树 206 | ``` 207 | 208 | 209 | 210 | # 软件推荐 211 | 212 | ## Chrome Or Google 213 | 214 | ![](https://github.com/orangbus/Tool/blob/master/images/chrome.jpeg?raw=true) 215 | 216 | ```bash 217 | sudo pacman -S chromium 218 | sudo pacman -S google-chrome 219 | ``` 220 | 221 | ## [WeChat](https://github.com/geeeeeeeeek/electronic-wechat) 222 | 223 | 官方版本:[wechat_uos](https://aur.archlinux.org/packages/wechat-uos) 224 | 225 | ```bash 226 | sudo pacman -S wechat-uos 227 | ``` 228 | 229 | ![](https://cloud.githubusercontent.com/assets/7262715/14876747/ff691ade-0d49-11e6-8435-cb1fac91b3c2.png) 230 | 231 | ## 开发工具-toolbox 232 | 233 | 安装toolbox: [https://www.jetbrains.com/zh-cn/toolbox-app/](https://www.jetbrains.com/zh-cn/toolbox-app/) 234 | 235 | 安装这一个即可管理其它软件,非常方便,推荐使用。 236 | 237 | ![phpstorm](https://github.com/orangbus/Tool/blob/master/images/toolbox.png?raw=true) 238 | 239 | 全套激活方法:[https://doc.orangbus.cn/MyNote/jetbrains%20.html](https://doc.orangbus.cn/MyNote/jetbrains%20.html) 240 | 241 | ## OBS 242 | 243 | ![](https://github.com/orangbus/Tool/blob/master/images/obs.png?raw=true) 244 | 245 | ```bash 246 | sudo pacman -S obs-studio 247 | ``` 248 | 249 | ## 网易云 250 | 251 | ![](https://github.com/orangbus/Tool/blob/master/images/music.png?raw=true) 252 | 253 | ```bash 254 | sudo pacman -S netease-cloud-music 255 | ``` 256 | 257 | ## 搜狗输入法 258 | 259 | ```bash 260 | # 安装一下 yay 261 | sudo pacman -S yay 262 | 263 | # 安装sougou输入法 264 | yay -S fcitx-im fcitx-configtool fcitx-sogoupinyin 265 | 266 | #修改配置文件 267 | sudo vim /etc/environment 268 | # 在末尾处追加 269 | 270 | export GTK_IM_MODULE=fcitx 271 | export QT_IM_MODULE=fcitx 272 | export XMODIFIERS="@im=fcitx" 273 | 274 | # 没有生效的话注销一下系统就OJBK了!!! 275 | reboot 276 | ``` 277 | 278 | 如何在 Jetbrain 软件中输入汉字 279 | 280 | 1、打开软件的安装目录,将下面的配置复制到对应的文件中粘贴即可。 281 | 282 | ```bash 283 | export XMODIFIERS="@im=fcitx" 284 | export GTK_IM_MODULE="fcitx" 285 | export QT_IM_MODULE="fcitx" 286 | ``` 287 | 288 | 举例 289 | 290 | - Goland: 291 | 292 | ```bash 293 | sudo vim /opt/goland/bin/goland.sh 294 | ``` 295 | 296 | - phpstorm 297 | 298 | ```bash 299 | sudo vim /opt/phpstorm/bin/phpstorm.sh 300 | ``` 301 | 302 | - webstorm 303 | 304 | ```bash 305 | sudo vim /opt/webstorm/bin/webstorm.sh 306 | ``` 307 | 308 | 推荐使用toolbox进行安装,软件破解教程可查看:[https://doc.orangbus.cn](https://doc.orangbus.cn) 309 | 310 | 311 | ## 坚果云(网盘) 312 | 313 | ```bash 314 | sudo pacman -S nutstore 315 | ``` 316 | 317 | 有时候我们安装好了却无法打开的情况, 打开终端,修改这个文件 318 | 319 | ``` 320 | vim ~/.nutstore/dist/conf/nutstore.properties 321 | #enable webUl when it is possible 322 | webui.enable=true 修改为 webui.enable=false 323 | ``` 324 | 325 | ## Typora 326 | 327 | 个人认为最好用的markdown编辑器之一 328 | 329 | ![](https://github.com/orangbus/Tool/blob/master/images/typora.png?raw=true) 330 | 331 | ```bash 332 | sudo pacman -S typora 333 | ``` 334 | 335 | 个人比较喜欢的vue主题:http://theme.typora.io/theme/Vue/ 336 | 337 | 安装主题:首先下载主题包并解压,解压后有一个【vue文件】和【vue.css】,然后打开typora>theme>open theme folder,把【vue文件夹】【vue.css】复制到【主题目录】的同级目录即可。 338 | 339 | ## [you-get](https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E) 视频下载神器 340 | 341 | 首先安装pip,更多安装方法参考[菜鸟](https://www.runoob.com/w3cnote/python-pip-install-usage.html) 342 | 343 | ```bash 344 | curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 345 | sudo python3 get-pip.py # 运行安装脚本。 346 | ``` 347 | 348 | 部分 Linux 发行版可直接用包管理器安装 pip,如 Debian 和 Ubuntu: 349 | 350 | ```bash 351 | sudo apt-get install python3-pip 352 | # 测试 353 | pip3 -v 354 | ``` 355 | 356 | 安装 You-get 357 | 358 | ```bash 359 | pip3 install you-get 360 | ``` 361 | 362 | ## todesk远程工具 363 | 364 | 链接地址:https://bbs.todesk.com/thread-500-1-1.html 365 | 366 | 软件包下载地址:https://dl.todesk.com/linux/todesk_1.2.5_x86_64.pkg.tar.zst 367 | 安装命令: 368 | 369 | ```bash 370 | sudo pacman -U todesk_1.2.5_x86_64.pkg.tar.zst 371 | ``` 372 | 373 | ## 命令助手:[Tldr](https://github.com/tldr-pages/tldr) 374 | 375 | ```bash 376 | npm install -g tldr 377 | ``` 378 | 379 | 使用方法:看这张图你因该就明白了 380 | 381 | ![](https://github.com/orangbus/Tool/blob/master/images/tldr.png?raw=true) 382 | 383 | ## 终端复用:Tmux 384 | 385 | ```bash 386 | sudo pacman -S tmux 387 | ``` 388 | 389 | 使用手册可以使用tldr查看 390 | 391 | ```bash 392 | tldr tmux 393 | ``` 394 | 395 | 参考手册:http://louiszhai.github.io/2017/09/30/tmux/ 396 | 397 | ## 雷神终端 - Guake 398 | 399 | 可以按`F12` 下拉一个终端,用起来会很方便 400 | 401 | ```bash 402 | sudo pacman -S guake 403 | ``` 404 | 405 | ## qrcp局域网文件传输工具 406 | 407 | Github地址: 408 | 409 | ```bash 410 | yay qrcp 411 | ``` 412 | 413 | ## Download Tool 414 | 415 | ![](https://github.com/orangbus/Tool/blob/master/images/uget.png?raw=true) 416 | 417 | ```bash 418 | sudo pacman -S uget 419 | ``` 420 | 421 | ## 网盘同步Rclone 422 | 423 | ```bash 424 | sudo pacman -S rclone 425 | ``` 426 | 427 | Tip: 具体使用方法参考【Document/Rclone.md】 428 | 429 | ## motrix 430 | 431 | 软件管理里面搜索:motrix 432 | 433 | ## gitkraken -Git管理工具 434 | 435 | ![](https://www.gitkraken.com/img/og/og-image.jpg) 436 | 437 | ```bash 438 | sudo pacman -S gitkraken 439 | ``` 440 | 441 | ## Vscode:visual-studio-code-bin 442 | 443 | ![](https://code.visualstudio.com/assets/home/home-screenshot-linux.png) 444 | 445 | ```bash 446 | yay -S visual-studio-code-bin 447 | ``` 448 | 449 | 这个给大家推荐一个vscode插件同步插件:[Settings Sync](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) 450 | 451 | 一图胜千言(图片来自官方说明) 452 | 453 | ![](https://tmr.js.org/p/fa3b8081/source.gif) 454 | 455 | ## Atom 456 | 457 | ![](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1572533179529&di=6f4b94f9693c57b9a2b115ebe09c8f9b&imgtype=jpg&src=http%3A%2F%2Fimg4.imgtn.bdimg.com%2Fit%2Fu%3D3770765544%2C794836474%26fm%3D214%26gp%3D0.jpg) 458 | 459 | ```bash 460 | sudo pacman -S atom 461 | ``` 462 | 463 | ## FinalShell 464 | 465 | ```bash 466 | rm -f finalshell_install_linux.sh ;wget www.hostbuf.com/downloads/finalshell_install_linux.sh;chmod +x finalshell_install_linux.sh;./finalshell_install_linux.sh; 467 | ``` 468 | 469 | 可能有点多余,但是有时候就是需要,哈哈 470 | 471 | ## FileZilla 472 | 473 | 可能有点多余,但是有时候就是需要,因为文件管理里面就可以连接下载,哈哈 474 | 475 | ## Virtualbox 476 | 477 | ![](https://www.virtualbox.org/graphics/vbox_logo2_gradient.png)  478 | 479 | ``` 480 | sudo pacman -S virtualbox 481 | //也可以在软件管理中搜索安装[推荐] 482 | ``` 483 | 484 | ps:安装需要对应自己的内核版本,比如: 485 | 486 | ​ bash: `username -a` 可以看到:Linux orangbus 4.19.8-2-MANJARO 487 | 488 | ​ 那么你在安装 virtualbox 的时候就需要选择:virtualbox-419-xxxxxxx的版本安装 489 | 490 | 推荐一篇参考教程:https://www.jianshu.com/p/ef1f58ff84d7 491 | 492 | 也可以看看**virtualbox与lnmp的那些事** 493 | 494 | ## Vagrant 495 | 496 | ```bash 497 | sudo pacman -S vagrant 498 | ``` 499 | 500 | vagrant 报unknown filesystem type 'vboxsf' 解决方案 501 | 502 | ```bash 503 | vagrant plugin install vagrant-vbguest 504 | vagrant destroy && vagrant up 505 | ``` 506 | 507 | ## Navicat 508 | 509 | 数据库链接工具 510 | 511 | 软件库中搜索:navicat (navicat121_premium) 512 | 513 | ## TeamViewer 514 | 515 | ![](https://github.com/orangbus/Tool/blob/master/images/TeamViewer.png?raw=true) 516 | 517 | ```bash 518 | sudo pacman -S teamviewer 519 | ``` 520 | 521 | ## WPS 522 | 523 | ![](data:image/png;base64,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) 524 | 525 | ```bash 526 | sudo pacman -S wps-office 527 | sudo pacman -S ttf-wps-fonts 528 | ``` 529 | 530 | ## 深度截图 531 | 532 | ![](data:image/jpeg;base64,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) 533 | 534 | ```bash 535 | sudo pacman -S deepin-screenshot 536 | ``` 537 | 538 | ## [Flameshot](https://flameshot.js.org) 截图神器 539 | 540 | ![](https://github.com/orangbus/Tool/blob/master/images/flameshot.png?raw=true) 541 | 542 | ```bash 543 | sudo pacmna -S flameshot 544 | ``` 545 | 546 | ## 思维导图 MindMaster 547 | 548 | ```bash 549 | yay mindmaster //也可以在软件管理里面直接搜索 550 | ``` 551 | 552 | ![](https://github.com/orangbus/Tool/blob/master/images/mindmaster.png?raw=true) 553 | 554 | 网页版地址:https://mm.edrawsoft.cn 555 | 556 | ## 邮箱 MailSpring 557 | 558 | 软件管理搜索安装: MailSpring 559 | 560 | ![](https://getmailspring.com/static/img/hero_graphic_linux@2x.png) 561 | 562 | MailSpring: https://getmailspring.com/ 563 | 564 | ## qq & tim 565 | 566 | 官方QQ:https://im.qq.com/linuxqq/index.html 567 | 568 | ```bash 569 | # Manjaro|Arch 570 | sudo pacman -S qq-linux 571 | ``` 572 | 573 | **Tim:** deepin.com.qq.im (软件管理搜索) 574 | 575 | **QQ :** deepin.com.qq.office (软件管理搜索) 576 | 577 | 推荐使用 **deepin终端** 和 **看图工具** ,直接在软件管理里面搜索: `deepin` 慢慢找 578 | 579 | 580 | 581 | 另外推荐大家一个大佬的东西 `App-image` :使用AppImage格式分发Linux桌面应用程序,让所有常见发行版的用户运行它。 一次打包,到处运行。 覆盖所有主流桌面系统。 582 | 583 | - 官网:https://appimage.org/ 584 | - WIke:https://github.com/AppImage/AppImageKit/wiki 585 | 586 | 看官网的介绍就已经被大佬折服了,哈哈,有兴趣的小伙伴可以去看看。 587 | 588 | 可以看看H-Player: https://github.com/ZyqGitHub1/h-player-v2 589 | 590 | ## autojump 591 | 592 | 可以对目录直接跳转,不用再 `cd /video/xxxx/canglaoshi` ,可以直接 `canglaoshi` 就直接跳转了。 593 | 594 | ## Eog 看图 595 | 596 | ``` 597 | sudo pacman -S eog 598 | ``` 599 | 600 | ## qv2ray 601 | 602 | 科学上网,SS 用户可以用 `shadowsocks-qt5` 或者 `electron-ssr` ,新手可以看 Google 文件夹。 603 | 604 | ## vim配置推荐 605 | 606 | 暂时没有推荐的,不知道有没有小伙伴推荐下。 607 | 608 | ## 科学上网参考Google文件夹 609 | 610 | 支持: chrome浏览器 | window | manjaro | Mac没用过 611 | 612 | ### git clone 代理 613 | 614 | ``` 615 | // 1080 改为自己的 socks5 监听端口 616 | git config --global http.https://github.com.proxy socks5://127.0.0.1:1080 617 | git config --global https.https://github.com.proxy socks5://127.0.0.1:1080 618 | 619 | // 1080 改为自己的 http 监听端口 620 | git config --global http.https://github.com.proxy http://127.0.0.1:1080 621 | git config --global https.https://github.com.proxy http://127.0.0.1:1080 622 | ``` 623 | 624 | [给 github clone 加速:](https://struggleblog.com/2018/07/13/accelerate_github_clone/)https://struggleblog.com/2018/07/13/accelerate_github_clone/ 625 | 626 | ## Manjaro theme for KDE 627 | 628 | 可直接在设置中搜索安装 629 | 630 | | 观感 | Arc Dack | 631 | | -------- | --------------- | 632 | | 桌面主题 | arc dack | 633 | | 图标 | papirus-dark | 634 | | 窗口装饰 | Breezemite dark | 635 | 636 | 需要Dock的可以在软件管理中搜索:`Plank` 主题安装,然后在开始菜单搜索dock即可 637 | 638 | ![](https://github.com/orangbus/Tool/blob/master/images/manjaroDesk.png?raw=true) 639 | 640 | --- 641 | 642 | 轮子地址: 643 | 644 | ## Manjaro theme for gnome 645 | 646 | > theme: https://www.gnome-look.org/ 647 | 648 | - install theme (安装主题) 649 | 650 | ```bash 651 | # path: /usr/share/themes 652 | cd /usr/share/themes 653 | ``` 654 | 655 | 主题推荐: 656 | 657 | **Mac:** https://www.gnome-look.org/p/1403328/ 658 | 659 | **Orchis**:https://www.gnome-look.org/p/1357889/ 660 | 661 | ![](https://cdn.pling.com/img/f/f/5/1/2aed73fa0629038e7807e7f3efd918cb87c4.jpg) 662 | 663 | - install icon and cursors (安装图标和鼠标图标) 664 | 665 | ```bash 666 | # path: /usr/share/icons or ~/.themes 667 | cd /usr/share/icons 668 | 669 | # userPath: $HOME/.local/share/icons or ~/.icons 670 | cd $HOME/.local/share/icons 671 | ``` 672 | 673 | 图标推荐 (MacOS MOD):https://www.gnome-look.org/p/1241071/ 674 | 675 | - Cursors: https://www.gnome-look.org/p/1241071/ 676 | 677 | **How to use (使用):** 678 | 679 | ​ 从上面的主题网站下载你的喜欢的主题或者图标文件解压,把解压后的文件复制到对应的目录就可以了,然后打开【优化(tweak-tool )】【外观】选择自己喜欢的样式即可。 680 | 681 | ![](https://github.com/orangbus/Tool/blob/master/images/desk.png?raw=true) 682 | 683 | - 如果不能复制,请用root身份打开在进行操作. 684 | - 复制后没有效果,重启 tweak-tool 这个东西,manjaro中文名叫:【优化】 685 | 686 | ## 辅助工具-Gnome-twea-tool 687 | 688 | - 安装 689 | 690 | ```bash 691 | sudo pacman -S gnome-tweak-tool 692 | sudo pacman -S chrome-gnome-shell 693 | ``` 694 | 695 | - 打开Chrome浏览器安装一个扩展:[GNOME Shell integration](https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep) 696 | 697 | - 打开这个网站搜索你想要的插件安装即可:https://extensions.gnome.org/ 698 | 699 | ![](https://github.com/orangbus/Tool/blob/master/images/gome.png?raw=true) 700 | 701 | | 名称 | 作用 | 702 | | -------------------------------------- | -------------------------------------- | 703 | | Caffeine | 防止自动挂起 | 704 | | Clipboard Indicator | 一个剪贴板 | 705 | | Coverflow Alt-Tab | 更好的窗口切换 | 706 | | Dash to Dock | 把dash栏变为一个dock | 707 | | Night Light Slider | 调节gnome夜间模式的亮度情况 | 708 | | Proxy Switcher | 代理插件 | 709 | | Simple net speed | 网速监测 | 710 | | Random Wallpaper | 自动切换壁纸 | 711 | | Status Area Horizontal Spacing | 让顶栏更紧凑 | 712 | | TopIcons Plus | 把托盘图标放到顶栏 | 713 | | Window Is Ready - Notification Remover | 去除烦人的window is ready提醒 | 714 | | system-monitor | 系统监视器 | 715 | | EasyScreenCast | 录屏插件(推荐使用):右键点击开始/结束 | 716 | 717 | 最后介绍几个无聊有趣的命令:http://www.aqee.net/post/10-funny-liunx-command.html 718 | 719 | ## 福利彩蛋 720 | 721 | 如果你已经按照上面的教程配置了差不多了,是不是感觉还差点什么呢? 722 | 723 | 【好看的二次元壁纸?】加群获取。 724 | 725 | 不知道有没有和我一样,想运行一点window软件呢?有的话那就操练起来 726 | 727 | ``` 728 | sudo pacman -S wine 729 | ``` 730 | 731 | wine: 允许linux运行window的程序,比如说Deepin封装的Deepin-qq就是这么干的,给大家举两个例子吧。 732 | 733 | - [PanDownload](https://pandownload.com/) 734 | 735 | 很多老司机都知道这是一款被网络传疯的百度网盘下载神器(曾今),当年刚认识他的时候一天就下载了60G网盘文件。当我们从官网下载了这块软件之后解压,找到启动文件选择【wine】打开就可以直接在linux下运行了。 736 | 737 | - [速盘](https://speedpan.com/) (付费) 738 | 739 | 当你只是偶尔想快速下载百度网盘的资料时,但是又不想就此乖乖的给老王充值一个超级VIP,那么这块软件就是你的不二之选,价格也比较亲民,有这方面需要的小伙伴可以去看看。 740 | 741 | - PotPlayer 742 | 743 | 为什么我会推荐这款软件呢? 744 | 745 | 1、除了可以播放主流的视频格式的视频外,他还可以倍速播放视频,我也是看了网上的推荐然后使用他的,用了之后发现顺手是顺手,但是感觉80%的功能都用不上,有没有小伙伴手把手教一下这80%的功能的额外使用。 746 | 747 | 2、可以导入视频源观看视频,比如你想看看CCTV的新闻呀什么的,只要导入`DPL` 源文件即可观看,如果想要该源文件可加群下载【使用方法:直接将下载好的源文件拖进播放器即可】。 748 | 749 | 3、一款值得推荐的软件如果不能解决一个大的或者两个小的需求问题,那我也懒得去折腾。 750 | 751 | # Docker-LNMP 752 | 753 | 教程篇幅太长,已归纳到【Docker】文件夹下。 754 | 755 | 主要内容有: 756 | 757 | - 安装Docker 758 | - 安装docker-compose 759 | - 使用Laradock部署一个lnmp环境 760 | - 基于Laradock部署一些其他应用,比如:httpbin、wordpress、emby、nextCloud等,未来可能更多。 761 | 762 | 763 | 764 | # Manjaro问题汇总 765 | 766 | - 系统无法开机或者进入不了图形界面 767 | 768 | 很多次系统安装配置好了,但是开机的时候蒙了,竟然黑屏了,啥也没有,我以为卡住了,等了30分钟也没有启动,后来得知,原来我手贱开启了 `移除不需要的依赖` , 769 | 770 | 若果你开启了:1、把移除的依赖全部装回来。2、重装系统。 771 | 772 | 【软件管理】【首选项】【高级】下面的 `移除不需要的依赖` 不能开启,不能开启,不能开启!!! 773 | 774 | - 软件管理有些你推荐的软件搜索不到。 775 | 776 | 打开【软件管理】【首选项】【AUR】`启用AUR支持` 即可,软件你用的不是我基本配置的源,请跟换源。 777 | 778 | - Manjaro更新后,中文显示为方框 779 | 780 | ```bash 781 | sudo pacman -S wqy-microhei 782 | ``` 783 | 784 | - 有时候我们更新系统的时候无法更新?(没有特殊需要,别XJB更新) 785 | 786 | 1. 软件冲突: 787 | 788 | 尝试卸载掉其中的一个然后在执行跟新操作,只要不是删除系统的核心文件就可以,加入是`/etc/` 下的某个文件引起的,做好是将冲突的文件重命名一下。 789 | 790 | ![](https://github.com/orangbus/Tool/blob/master/images/1.png?raw=true) 791 | 792 | 2. 缺少相关的依赖 793 | 794 | 根据提示安装相关的依赖即可, 795 | 796 | 问:我用`pacman -S xxx ` 安装相关的依赖提示没有找到相关的依赖? 797 | 798 | 答:`pacman` 不行可以尝试 `yay` `yaourt` 进行安装,一般都能解决 799 | 800 | 3. 如果没有大的需求,不要随便使用`sudo pacman -Syyu` 更新系统 801 | 802 | 之前把电脑所有需要的配置都配置好了,感觉还是缺点什么,于是就`pacman -Syyu` 结果之前很多配置就被默认配置覆盖了,而且由于很多软件都是最新的,有些需要相互依赖的软件还没有即使更新,最直接的就是virtualbox崩溃了. 803 | 804 | 4. 跳过检测更新 805 | 806 | ```bash 807 | sudo pacman -Syyu -dd 808 | ``` 809 | --- 810 | 811 | 淘宝券(欢迎大家支持): 812 | 813 | biliBiliUp: 814 | 815 | 个人笔记: 816 | 817 | 个人图库: 818 | 819 | 个人博客: 820 | 821 | Vip解析: 822 | 823 | 交流群:[511300462](https://jq.qq.com/?_wv=1027&k=5WA1dVy) 824 | 825 | 如需转载,注明作者和出处即可,整理不易,忘见谅 . 826 | 827 |

人生的美妙之处在于未来的不知可!

828 | 829 | -------------------------------------------------------------------------------- /Shell/README.md: -------------------------------------------------------------------------------- 1 | # 个人常用Shell脚本 2 | 3 | ```bash 4 | #!/bin//bash env 5 | 6 | function install_php() { 7 | sduo pacman -S php; 8 | } 9 | 10 | function git_init() { 11 | ssh-keygen; 12 | } 13 | 14 | function install_laravel() { 15 | composer config -g repo.packagist composer https://packagist.phpcomposer.com 16 | composer global require laravel/installer 17 | echo "laravel installed ok!" 18 | echo "now you can run bash: laravel new App" 19 | } 20 | 21 | function install_guake() { 22 | sudo pacman -S guake; 23 | } 24 | 25 | function install_youGet() { 26 | curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py; 27 | sudo python3 get-pip.py 28 | } 29 | 30 | function install_finalShell() { 31 | rm -f finalshell_install_linux.sh; 32 | wget www.hostbuf.com/downloads/finalshell_install_linux.sh; 33 | chmod +x finalshell_install_linux.sh; 34 | ./finalshell_install_linux.sh; 35 | echo "安装路径:/usr/lib/FinalShell/"; 36 | echo "配置文件路径:/home/$USER/.finalshell/"; 37 | rm -f finalshell_install_linux.sh; 38 | echo "install ok!"; 39 | } 40 | 41 | function install_tweak() { 42 | sudo pacman -S gnome-tweak-tool; 43 | sudo pacman -S chrome-gnome-shell; 44 | echo "extensions_url: https://extensions.gnome.org" 45 | } 46 | 47 | ``` 48 | 49 | -------------------------------------------------------------------------------- /Shell/Scripts/Color.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Author:Orangbus 3 | # WebSite:https://doc.orangbus.cn 4 | # Github: https://github.com/orangbus 5 | 6 | # 设置字体颜色函数 7 | function blue(){ 8 | echo -e "\033[34m\033[01m $1 \033[0m" 9 | } 10 | function green(){ 11 | echo -e "\033[32m\033[01m $1 \033[0m" 12 | } 13 | function greenbg(){ 14 | echo -e "\033[43;42m\033[01m $1 \033[0m" 15 | } 16 | function red(){ 17 | echo -e "\033[31m\033[01m $1 \033[0m" 18 | } 19 | function redbg(){ 20 | echo -e "\033[37;41m\033[01m $1 \033[0m" 21 | } 22 | function yellow(){ 23 | echo -e "\033[33m\033[01m $1 \033[0m" 24 | } 25 | function white(){ 26 | echo -e "\033[37m\033[01m $1 \033[0m" 27 | } -------------------------------------------------------------------------------- /Shell/Scripts/alias.txt: -------------------------------------------------------------------------------- 1 | # author by orangbus 2 | # github:https://github.com/orangbus/tool 3 | # ============= Base ============================= 4 | alias cls="clear && ls" 5 | alias RM='rm -rf' 6 | alias ll='ls -alh' 7 | # ============== docker ========================== 8 | alias dc='docker-compose' 9 | alias dca='dc up -d nginx phpmyadmin' 10 | alias dcps='docker-compose ps' 11 | alias dcres='docker-compose restart && dcps' 12 | alias dcn='docker-compose restart nginx && dcps' 13 | alias dcd='dc down' 14 | # ============ Docker Code Dir ===================== 15 | alias ld="cd $HOME/Code/laradock" 16 | alias ldca="ld && dca" 17 | alias ldps="ld && dcps" 18 | alias ldn="ld && dcn" 19 | alias ldd="ld && dcd" 20 | alias ldres="ld && dcres" 21 | alias web="cd $Home/Code/web" 22 | # ============= zsh-autosuggestions =============== 23 | source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh 24 | 25 | -------------------------------------------------------------------------------- /Shell/Scripts/app.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # finalshell 4 | function finalshell() { 5 | rm -f finalshell_install_linux.sh 6 | wget www.hostbuf.com/downloads/finalshell_install_linux.sh 7 | chmod +x finalshell_install_linux.sh 8 | ./finalshell_install_linux.sh 9 | echo "安装路径: /usr/lib/FinalShell/"; 10 | echo "配置文件路径: /home/\$USER/.finalshell/"; 11 | } -------------------------------------------------------------------------------- /Shell/Scripts/system.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 设置字体颜色函数 3 | function blue(){ 4 | echo -e "\033[34m\033[01m $1 \033[0m" 5 | } 6 | function green(){ 7 | echo -e "\033[32m\033[01m $1 \033[0m" 8 | } 9 | function greenbg(){ 10 | echo -e "\033[43;42m\033[01m $1 \033[0m" 11 | } 12 | function red(){ 13 | echo -e "\033[31m\033[01m $1 \033[0m" 14 | } 15 | function redbg(){ 16 | echo -e "\033[37;41m\033[01m $1 \033[0m" 17 | } 18 | function yellow(){ 19 | echo -e "\033[33m\033[01m $1 \033[0m" 20 | } 21 | function white(){ 22 | echo -e "\033[37m\033[01m $1 \033[0m" 23 | } 24 | # 判断不同的操作系统 25 | SYSTEM_NAME=`uname -a` 26 | 27 | UBUNTU="ubuntu" 28 | CENTOS="centos" 29 | DEBIAN="debian" 30 | ARCH="arch" 31 | MANJARO="manjaro" 32 | 33 | # zsh 34 | installAzh(){ 35 | if [ -f $HOME/.zshrc ]; then 36 | red "你已安装zsh,如果需要重新安装请执行: rm \$HOME/.zshrc" 37 | exit 38 | fi 39 | red "安装zsh" 40 | sudo pacman -S zsh 41 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 42 | chsh -s /bin/zsh 43 | red "配置自动提示" 44 | git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions 45 | echo "source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" >> $HOME/.zshrc 46 | source $HOME/.zshrc 47 | red "安装成功!" 48 | } 49 | installAzh 50 | -------------------------------------------------------------------------------- /Shell/Scripts/systemOs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #os=`cat /etc/os-release` 3 | OS=$(lsb_release -si) 4 | 5 | # 检查系统发行版本 6 | checkOsType() { 7 | case $OS in 8 | "CentOS") 9 | echo "CentOS" 10 | ;; 11 | "ManjaroLinux") 12 | echo ${OS:0:7} 13 | ;; 14 | "Ubuntu|Debian") 15 | echo "Debian" 16 | ;; 17 | *) 18 | echo $OS 19 | ;; 20 | esac 21 | } 22 | checkOsType 23 | 24 | -------------------------------------------------------------------------------- /Shell/Scripts/webApp.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | thinkphp6(){ 4 | echo "# 安装composer" 5 | sudo apt-get install composer 6 | composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 7 | read -p "请输入应用名字:" APP 8 | composer create-project topthink/think APP 9 | echo "# 安装成功!!!!" 10 | } 11 | 12 | thinkphp6 -------------------------------------------------------------------------------- /Shell/Scripts/zsh_install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | function zsh_install() { 4 | echo -e "Tip:"; 5 | sudo pacman -S zsh 6 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 7 | chsh -s /bin/zsh 8 | git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions 9 | echo -e "\nsource ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc 10 | if [ $? == "0" ]; then 11 | echo "zsh install successfull !" 12 | fi 13 | read -p "Do you want to add some alias:[y/n]" VAL 14 | case VAL in 15 | y) 16 | cat ./alias.txt >> ~/.zshrc 17 | ;; 18 | *) 19 | exit 20 | ;; 21 | esac 22 | } -------------------------------------------------------------------------------- /Shell/Scripts/zshrc.txt: -------------------------------------------------------------------------------- 1 | alias cls="clear && ls" 2 | alias RM='rm -rf' 3 | alias ll='ls -alh' 4 | alias dc='docker-compose' 5 | alias dca='dc up -d nginx phpmyadmin' 6 | alias dcps='docker-compose ps' 7 | alias dcres='docker-compose restart && dcps' 8 | alias dcn='docker-compose restart nginx && dcps' 9 | alias dcd='dc down' 10 | # orangbus:https://github.com/orangbus 11 | 12 | alias cls="clear && ls" 13 | alias RM='rm -rf' 14 | alias ll='ls -alh' 15 | alias dc='docker-compose' 16 | alias dca='dc up -d nginx phpmyadmin' 17 | alias dcps='docker-compose ps' 18 | alias dcres='docker-compose restart && dcps' 19 | alias dcn='docker-compose restart nginx && dcps' 20 | alias dcd='dc down' 21 | # orangbus:https://github.com/orangbus 22 | 23 | alias cls="clear && ls" 24 | alias RM='rm -rf' 25 | alias ll='ls -alh' 26 | alias dc='docker-compose' 27 | alias dca='dc up -d nginx phpmyadmin' 28 | alias dcps='docker-compose ps' 29 | alias dcres='docker-compose restart && dcps' 30 | alias dcn='docker-compose restart nginx && dcps' 31 | alias dcd='dc down' 32 | # orangbus:https://github.com/orangbus 33 | 34 | alias cls="clear && ls" 35 | alias RM='rm -rf' 36 | alias ll='ls -alh' 37 | alias dc='docker-compose' 38 | alias dca='dc up -d nginx phpmyadmin' 39 | alias dcps='docker-compose ps' 40 | alias dcres='docker-compose restart && dcps' 41 | alias dcn='docker-compose restart nginx && dcps' 42 | alias dcd='dc down' 43 | # orangbus:https://github.com/orangbus 44 | 45 | alias cls="clear && ls" 46 | alias RM='rm -rf' 47 | alias ll='ls -alh' 48 | alias dc='docker-compose' 49 | alias dca='dc up -d nginx phpmyadmin' 50 | alias dcps='docker-compose ps' 51 | alias dcres='docker-compose restart && dcps' 52 | alias dcn='docker-compose restart nginx && dcps' 53 | alias dcd='dc down' 54 | # orangbus:https://github.com/orangbus 55 | 56 | alias cls="clear && ls" 57 | alias RM='rm -rf' 58 | alias ll='ls -alh' 59 | alias dc='docker-compose' 60 | alias dca='dc up -d nginx phpmyadmin' 61 | alias dcps='docker-compose ps' 62 | alias dcres='docker-compose restart && dcps' 63 | alias dcn='docker-compose restart nginx && dcps' 64 | alias dcd='dc down' 65 | # orangbus:https://github.com/orangbus 66 | 67 | # author by orangbus 68 | # github:https://github.com/orangbus/tool 69 | # ============= Base ============================= 70 | alias cls="clear && ls" 71 | alias RM='rm -rf' 72 | alias ll='ls -alh' 73 | # ============== docker ========================== 74 | alias dc='docker-compose' 75 | alias dca='dc up -d nginx phpmyadmin' 76 | alias dcps='docker-compose ps' 77 | alias dcres='docker-compose restart && dcps' 78 | alias dcn='docker-compose restart nginx && dcps' 79 | alias dcd='dc down' 80 | # ============ Docker Code Dir ===================== 81 | alias ld="cd $HOME/Code/laradock" 82 | alias ldca="ld && dca" 83 | alias ldps="ld && dcps" 84 | alias ldn="ld && dcn" 85 | alias ldd="ld && dcd" 86 | alias ldres="ld && dcres" 87 | alias web="cd $Home/Code/web" 88 | # ============= zsh-autosuggestions =============== 89 | source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh 90 | 91 | # author by orangbus 92 | # github:https://github.com/orangbus/tool 93 | # ============= Base ============================= 94 | alias cls="clear && ls" 95 | alias RM='rm -rf' 96 | alias ll='ls -alh' 97 | # ============== docker ========================== 98 | alias dc='docker-compose' 99 | alias dca='dc up -d nginx phpmyadmin' 100 | alias dcps='docker-compose ps' 101 | alias dcres='docker-compose restart && dcps' 102 | alias dcn='docker-compose restart nginx && dcps' 103 | alias dcd='dc down' 104 | # ============ Docker Code Dir ===================== 105 | alias ld="cd $HOME/Code/laradock" 106 | alias ldca="ld && dca" 107 | alias ldps="ld && dcps" 108 | alias ldn="ld && dcn" 109 | alias ldd="ld && dcd" 110 | alias ldres="ld && dcres" 111 | alias web="cd $Home/Code/web" 112 | # ============= zsh-autosuggestions =============== 113 | source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh 114 | 115 | -------------------------------------------------------------------------------- /Shell/Utils/zsh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # This script should be run via curl: 4 | # sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 5 | # or via wget: 6 | # sh -c "$(wget -qO- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 7 | # or via fetch: 8 | # sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 9 | # 10 | # As an alternative, you can first download the install script and run it afterwards: 11 | # wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh 12 | # sh install.sh 13 | # 14 | # You can tweak the install behavior by setting variables when running the script. For 15 | # example, to change the path to the Oh My Zsh repository: 16 | # ZSH=~/.zsh sh install.sh 17 | # 18 | # Respects the following environment variables: 19 | # ZSH - path to the Oh My Zsh repository folder (default: $HOME/.oh-my-zsh) 20 | # REPO - name of the GitHub repo to install from (default: ohmyzsh/ohmyzsh) 21 | # REMOTE - full remote URL of the git repo to install (default: GitHub via HTTPS) 22 | # BRANCH - branch to check out immediately after install (default: master) 23 | # 24 | # Other options: 25 | # CHSH - 'no' means the installer will not change the default shell (default: yes) 26 | # RUNZSH - 'no' means the installer will not run zsh after the install (default: yes) 27 | # KEEP_ZSHRC - 'yes' means the installer will not replace an existing .zshrc (default: no) 28 | # 29 | # You can also pass some arguments to the install script to set some these options: 30 | # --skip-chsh: has the same behavior as setting CHSH to 'no' 31 | # --unattended: sets both CHSH and RUNZSH to 'no' 32 | # --keep-zshrc: sets KEEP_ZSHRC to 'yes' 33 | # For example: 34 | # sh install.sh --unattended 35 | # or: 36 | # sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended 37 | # 38 | set -e 39 | 40 | # Track if $ZSH was provided 41 | custom_zsh=${ZSH:+yes} 42 | 43 | # Default settings 44 | ZSH=${ZSH:-~/.oh-my-zsh} 45 | REPO=${REPO:-ohmyzsh/ohmyzsh} 46 | REMOTE=${REMOTE:-https://github.com/${REPO}.git} 47 | BRANCH=${BRANCH:-master} 48 | 49 | # Other options 50 | CHSH=${CHSH:-yes} 51 | RUNZSH=${RUNZSH:-yes} 52 | KEEP_ZSHRC=${KEEP_ZSHRC:-no} 53 | 54 | 55 | command_exists() { 56 | command -v "$@" >/dev/null 2>&1 57 | } 58 | 59 | fmt_error() { 60 | echo ${RED}"Error: $@"${RESET} >&2 61 | } 62 | 63 | fmt_underline() { 64 | echo "$(printf '\033[4m')$@$(printf '\033[24m')" 65 | } 66 | 67 | fmt_code() { 68 | echo "\`$(printf '\033[38;5;247m')$@${RESET}\`" 69 | } 70 | 71 | setup_color() { 72 | # Only use colors if connected to a terminal 73 | if [ -t 1 ]; then 74 | RED=$(printf '\033[31m') 75 | GREEN=$(printf '\033[32m') 76 | YELLOW=$(printf '\033[33m') 77 | BLUE=$(printf '\033[34m') 78 | BOLD=$(printf '\033[1m') 79 | RESET=$(printf '\033[m') 80 | else 81 | RED="" 82 | GREEN="" 83 | YELLOW="" 84 | BLUE="" 85 | BOLD="" 86 | RESET="" 87 | fi 88 | } 89 | 90 | setup_ohmyzsh() { 91 | # Prevent the cloned repository from having insecure permissions. Failing to do 92 | # so causes compinit() calls to fail with "command not found: compdef" errors 93 | # for users with insecure umasks (e.g., "002", allowing group writability). Note 94 | # that this will be ignored under Cygwin by default, as Windows ACLs take 95 | # precedence over umasks except for filesystems mounted with option "noacl". 96 | umask g-w,o-w 97 | 98 | echo "${BLUE}Cloning Oh My Zsh...${RESET}" 99 | 100 | command_exists git || { 101 | fmt_error "git is not installed" 102 | exit 1 103 | } 104 | 105 | if [ "$OSTYPE" = cygwin ] && git --version | grep -q msysgit; then 106 | fmt_error "Windows/MSYS Git is not supported on Cygwin" 107 | fmt_error "Make sure the Cygwin git package is installed and is first on the \$PATH" 108 | exit 1 109 | fi 110 | 111 | git clone -c core.eol=lf -c core.autocrlf=false \ 112 | -c fsck.zeroPaddedFilemode=ignore \ 113 | -c fetch.fsck.zeroPaddedFilemode=ignore \ 114 | -c receive.fsck.zeroPaddedFilemode=ignore \ 115 | --depth=1 --branch "$BRANCH" "$REMOTE" "$ZSH" || { 116 | fmt_error "git clone of oh-my-zsh repo failed" 117 | exit 1 118 | } 119 | 120 | echo 121 | } 122 | 123 | setup_zshrc() { 124 | # Keep most recent old .zshrc at .zshrc.pre-oh-my-zsh, and older ones 125 | # with datestamp of installation that moved them aside, so we never actually 126 | # destroy a user's original zshrc 127 | echo "${BLUE}Looking for an existing zsh config...${RESET}" 128 | 129 | # Must use this exact name so uninstall.sh can find it 130 | OLD_ZSHRC=~/.zshrc.pre-oh-my-zsh 131 | if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then 132 | # Skip this if the user doesn't want to replace an existing .zshrc 133 | if [ $KEEP_ZSHRC = yes ]; then 134 | echo "${YELLOW}Found ~/.zshrc.${RESET} ${GREEN}Keeping...${RESET}" 135 | return 136 | fi 137 | if [ -e "$OLD_ZSHRC" ]; then 138 | OLD_OLD_ZSHRC="${OLD_ZSHRC}-$(date +%Y-%m-%d_%H-%M-%S)" 139 | if [ -e "$OLD_OLD_ZSHRC" ]; then 140 | fmt_error "$OLD_OLD_ZSHRC exists. Can't back up ${OLD_ZSHRC}" 141 | fmt_error "re-run the installer again in a couple of seconds" 142 | exit 1 143 | fi 144 | mv "$OLD_ZSHRC" "${OLD_OLD_ZSHRC}" 145 | 146 | echo "${YELLOW}Found old ~/.zshrc.pre-oh-my-zsh." \ 147 | "${GREEN}Backing up to ${OLD_OLD_ZSHRC}${RESET}" 148 | fi 149 | echo "${YELLOW}Found ~/.zshrc.${RESET} ${GREEN}Backing up to ${OLD_ZSHRC}${RESET}" 150 | mv ~/.zshrc "$OLD_ZSHRC" 151 | fi 152 | 153 | echo "${GREEN}Using the Oh My Zsh template file and adding it to ~/.zshrc.${RESET}" 154 | 155 | sed "/^export ZSH=/ c\\ 156 | export ZSH=\"$ZSH\" 157 | " "$ZSH/templates/zshrc.zsh-template" > ~/.zshrc-omztemp 158 | mv -f ~/.zshrc-omztemp ~/.zshrc 159 | 160 | echo 161 | } 162 | 163 | setup_shell() { 164 | # Skip setup if the user wants or stdin is closed (not running interactively). 165 | if [ $CHSH = no ]; then 166 | return 167 | fi 168 | 169 | # If this user's login shell is already "zsh", do not attempt to switch. 170 | if [ "$(basename -- "$SHELL")" = "zsh" ]; then 171 | return 172 | fi 173 | 174 | # If this platform doesn't provide a "chsh" command, bail out. 175 | if ! command_exists chsh; then 176 | cat < ~/.shell.pre-oh-my-zsh 226 | else 227 | grep "^$USER:" /etc/passwd | awk -F: '{print $7}' > ~/.shell.pre-oh-my-zsh 228 | fi 229 | 230 | # Actually change the default shell to zsh 231 | if ! chsh -s "$zsh"; then 232 | fmt_error "chsh command unsuccessful. Change your default shell manually." 233 | else 234 | export SHELL="$zsh" 235 | echo "${GREEN}Shell successfully changed to '$zsh'.${RESET}" 236 | fi 237 | 238 | echo 239 | } 240 | 241 | main() { 242 | # Run as unattended if stdin is not a tty 243 | if [ ! -t 0 ]; then 244 | RUNZSH=no 245 | CHSH=no 246 | fi 247 | 248 | # Parse arguments 249 | while [ $# -gt 0 ]; do 250 | case $1 in 251 | --unattended) RUNZSH=no; CHSH=no ;; 252 | --skip-chsh) CHSH=no ;; 253 | --keep-zshrc) KEEP_ZSHRC=yes ;; 254 | esac 255 | shift 256 | done 257 | 258 | setup_color 259 | 260 | if ! command_exists zsh; then 261 | echo "${YELLOW}Zsh is not installed.${RESET} Please install zsh first." 262 | exit 1 263 | fi 264 | 265 | if [ -d "$ZSH" ]; then 266 | echo "${YELLOW}The \$ZSH folder already exists ($ZSH).${RESET}" 267 | if [ "$custom_zsh" = yes ]; then 268 | cat <> ~/.zshrc 10 | source ~/.zshrc 11 | blue ">> zsh install successful for ubuntu" 12 | } -------------------------------------------------------------------------------- /Tool/PotPlayer.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/Tool/PotPlayer.tar.bz2 -------------------------------------------------------------------------------- /images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/1.png -------------------------------------------------------------------------------- /images/1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/1080.png -------------------------------------------------------------------------------- /images/Proxy SwitchySharp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/Proxy SwitchySharp.png -------------------------------------------------------------------------------- /images/TeamViewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/TeamViewer.png -------------------------------------------------------------------------------- /images/atom.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/atom.jpeg -------------------------------------------------------------------------------- /images/chrome.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/chrome.jpeg -------------------------------------------------------------------------------- /images/desk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/desk.png -------------------------------------------------------------------------------- /images/doker-timeout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/doker-timeout.png -------------------------------------------------------------------------------- /images/flameshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/flameshot.png -------------------------------------------------------------------------------- /images/gome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/gome.png -------------------------------------------------------------------------------- /images/ipport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/ipport.png -------------------------------------------------------------------------------- /images/manjaroDesk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/manjaroDesk.png -------------------------------------------------------------------------------- /images/mindmaster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/mindmaster.png -------------------------------------------------------------------------------- /images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/music.png -------------------------------------------------------------------------------- /images/obs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/obs.png -------------------------------------------------------------------------------- /images/orangbus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/orangbus.png -------------------------------------------------------------------------------- /images/port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/port.png -------------------------------------------------------------------------------- /images/shadowsock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/shadowsock.png -------------------------------------------------------------------------------- /images/step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step1.png -------------------------------------------------------------------------------- /images/step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step2.png -------------------------------------------------------------------------------- /images/step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step3.png -------------------------------------------------------------------------------- /images/step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step4.png -------------------------------------------------------------------------------- /images/step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step5.png -------------------------------------------------------------------------------- /images/step6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step6.png -------------------------------------------------------------------------------- /images/step7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step7.png -------------------------------------------------------------------------------- /images/step8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step8.png -------------------------------------------------------------------------------- /images/step9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/step9.png -------------------------------------------------------------------------------- /images/system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/system.png -------------------------------------------------------------------------------- /images/tea.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/tea.jpeg -------------------------------------------------------------------------------- /images/tldr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/tldr.png -------------------------------------------------------------------------------- /images/toolbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/toolbox.png -------------------------------------------------------------------------------- /images/typora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/typora.png -------------------------------------------------------------------------------- /images/uget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/uget.png -------------------------------------------------------------------------------- /images/v2rayport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/v2rayport.png -------------------------------------------------------------------------------- /images/virtualbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/virtualbox.png -------------------------------------------------------------------------------- /images/vm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/vm.png -------------------------------------------------------------------------------- /images/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/vscode.png -------------------------------------------------------------------------------- /images/wps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orangbus/Tool/95428d57be05d8bac5038d736cfd5b1edb494e20/images/wps.png -------------------------------------------------------------------------------- /update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "===== welcome use github sync ====" 3 | echo "Easy use :" 4 | echo "Just replace gitUrl and input commit describe,then" 5 | echo "bash ./update.sh" 6 | echo "==== https://github.com/orangbus/Tool ====" 7 | 8 | 9 | # Config 10 | github="https://github.com/orangbus/Tool.git" 11 | gitee="https://gitee.com/orangbus/Tool.git" 12 | 13 | echo -e; 14 | 15 | # laradock 16 | function laradock() 17 | { 18 | git clone https://github.com/Laradock/laradock.git 19 | } 20 | 21 | git add . 22 | read -p "Please input you commit info: " msg 23 | git commit -m $msg 24 | if [ "$?"="0" ] 25 | then 26 | # git push $gitee master 27 | git push $github master 28 | else 29 | echo "你输入的Commit信息有误,请重新输入" 30 | exit 31 | fi 32 | 33 | if [ "$?"="0" ] 34 | then 35 | echo "==== complate ok ! ====" 36 | else 37 | echo "同步出错,请查看错误信息!" 38 | fi 39 | 40 | --------------------------------------------------------------------------------