diff --git a/CentOS-Other-Bash.md b/Bash-Other-Bash.md similarity index 85% rename from CentOS-Other-Bash.md rename to Bash-Other-Bash.md index 3c6345c1..944b81f1 100644 --- a/CentOS-Other-Bash.md +++ b/Bash-Other-Bash.md @@ -1,4 +1,4 @@ -CentOS 其他常用命令 +Bash 其他常用命令 ------ diff --git a/Bash.md b/Bash.md index 4d6f646a..ad8d0a10 100644 --- a/Bash.md +++ b/Bash.md @@ -105,10 +105,14 @@ - `rm -r -i 文件夹`,在删除文件夹里的文件会提示(要的话,在提示后面输入yes) - `rm -r -f 文件夹`,强制删除 - `rm -r -f 文件夹1/ 文件夹2/ 文件夹3/`删除多个 -- `find`高级查找 - - `find. -name *lin*`,其中.代表在当前目录找,-name表示匹配文件名/文件夹名,*lin*用通配符搜索含有lin的文件或是文件夹 - - `find/ -name *.conf`,其中/代表根目录查找,*.conf代表搜索后缀会.conf的文件 - - `find. -name "lin*" -execls -l{}\;`,当前目录搜索lin开头的文件,然后用其搜索后的结果集,再执行ls -l的命令(这个命令可变,其他命令也可以),其中-exec和{}\;都是固定格式 +- `find` 高级查找 + - `find . -name *lin*`,其中 . 代表在当前目录找,-name 表示匹配文件名 / 文件夹名,\*lin\* 用通配符搜索含有lin的文件或是文件夹 + - `find . -iname *lin*`,其中 . 代表在当前目录找,-iname 表示匹配文件名 / 文件夹名(忽略大小写差异),\*lin\* 用通配符搜索含有lin的文件或是文件夹 + - `find / -name *.conf`,其中 / 代表根目录查找,*.conf代表搜索后缀会.conf的文件 + - `find /opt -name .oh-my-zsh`,其中 /opt 代表目录名,.oh-my-zsh 代表搜索的是隐藏文件 / 文件夹名字为 oh-my-zsh 的 + - `find /opt -type f -iname .oh-my-zsh`,其中 /opt 代表目录名,-type f 代表只找文件,.oh-my-zsh 代表搜索的是隐藏文件名字为 oh-my-zsh 的 + - `find /opt -type d -iname .oh-my-zsh`,其中 /opt 代表目录名,-type d 代表只找目录,.oh-my-zsh 代表搜索的是隐藏文件夹名字为 oh-my-zsh 的 + - `find . -name "lin*" -execls -l{}\;`,当前目录搜索lin开头的文件,然后用其搜索后的结果集,再执行ls -l的命令(这个命令可变,其他命令也可以),其中 -exec 和 {}\; 都是固定格式

资料

diff --git a/CI-Settings.md b/CI-Settings.md index 15e25a35..38537146 100644 --- a/CI-Settings.md +++ b/CI-Settings.md @@ -9,84 +9,6 @@ ------ -

Nexus 安装

- -- maven 的 全局配置: -``` - - - - - - D:/maven/my_local_repository - - - - - - - - - - - - releases - admin - admin123 - - - - - snapshots - admin - admin123 - - - - - tomcatRole - admin - admin - - - - - - - privateNexusMirror - YouMeek Nexus - * - http://192.168.0.110:8081/nexus/content/groups/public/ - - - - - - - privateNexusProfile - - - privateRepo - http://192.168.0.110:8081/nexus/content/groups/public/ - - true - - - true - - - - - - - - - privateNexusProfile - - - -``` -

资料

diff --git a/Maven-Install-And-Settings.md b/Maven-Install-And-Settings.md index ead8d69d..1a8c8559 100644 --- a/Maven-Install-And-Settings.md +++ b/Maven-Install-And-Settings.md @@ -1,15 +1,8 @@ -

Maven 安装和配置

+# Maven 安装和配置 ------- -* [Maven 安装和配置](#maven0) - * [Maven 安装](#maven1) - * [Maven 配置](#maven2) - * [资料](#maven3) - ------- -

Maven 安装

+## Maven 安装 - Maven 安装 - 官网: @@ -25,6 +18,7 @@ - 移到我个人习惯的安装目录下:`mv maven3.3.9/ /usr/program` - 环境变量设置:`vim /etc/profile` - 在文件最尾巴添加下面内容: + ``` # Maven MAVEN_HOME=/usr/program/maven3.3.9 @@ -34,17 +28,128 @@ export PATH export MAVEN_OPTS ``` + - 刷新配置文件:`source /etc/profile` - 测试是否安装成功:`mvn -version` -

Maven 配置

+## Maven 配置 + +- 配置项目连接上私服 +- 全局方式配置: + +``` bash + + + + + + D:/maven/my_local_repository + + + + + + + + + + + nexus-releases + admin + admin123 + + + nexus-snapshots + admin + admin123 + + + + + + + nexus-releases + * + http://localhost:8081/nexus/content/groups/public + + + nexus-snapshots + * + http://localhost:8081/nexus/content/groups/public-snapshots + + + + + + + nexus + + + nexus-releases + http://nexus-releases + + true + + + true + + + + nexus-snapshots + http://nexus-snapshots + + true + + + true + + + + + + nexus-releases + http://nexus-releases + + true + + + true + + + + nexus-snapshots + http://nexus-snapshots + + true + + + true + + + + + + + + nexus + + + +``` + +- 项目级别: + + -

资料

+## 资料 - - - - - +- +- +- \ No newline at end of file diff --git a/Nexus-Install-And-Settings.md b/Nexus-Install-And-Settings.md index 28fc6b05..e05bd9d3 100644 --- a/Nexus-Install-And-Settings.md +++ b/Nexus-Install-And-Settings.md @@ -1,16 +1,8 @@ -

Nexus 安装和配置

+# Nexus 安装和配置 ------- -* [Nexus 安装和配置](#nexus) - * [Nexus 安装](#install) - * [Nexus 配置](#settings) - * [Nexus 手动更新索引文件](#update-index) - * [资料](#information) - ------- -

Nexus 安装

+## Nexus 安装 - Nexus 安装 - 官网: @@ -32,6 +24,7 @@ - 把目录名字改为更好看点:`mv nexus-2.11.4-01/ nexus2.11.4/` - 编辑系统配置文件:`vim /etc/profile` - 在文件的尾巴增加下面内容: + ``` # Nexus NEXUS_HOME=/usr/program/nexus2.11.4 @@ -39,6 +32,7 @@ RUN_AS_USER=root export RUN_AS_USER ``` + - 刷新配置:`source /etc/profile` - 由于目录 `sonatype-work` 以后是做仓库用的,会存储很多 jar,所以这个目录一定要放在磁盘空间大的区内,目前我们还没第一次启动 Nexus,所以这里还是空文件 - 我个人习惯把这类目录放在 `/opt` 下,所以你要特别注意,下面有内容对这个文件夹进行操作的都是基于 opt 目录的:`mv /opt/setup/sonatype-work/ /opt/` @@ -58,18 +52,16 @@ - 登录账号密码: - 账号密码:**admin** - 密码:**admin123** - - - -

Nexus 配置

+ +## Nexus 配置 + +- 修改默认端口:`vim /usr/program/nexus2.11.4/conf/nexus.properties`,修改该值:application-port=8081 - 下载远程中央库的索引到服务器 - ![Nexus 配置](images/Nexus-Install-And-Settings-a-1.jpg) - 如上图标注 4 所示,把默认是 `False` 改为 `True` - ![Nexus 配置](images/Nexus-Install-And-Settings-a-2.gif) - 如上图 gif 所示,创建任务开始进行索引下载。需要特别提醒的是,如果你的私服是虚拟机,那得保证你分配的硬盘足够大,别像我一样吝啬只给 10 G(现在还剩下 1.9 G),结果报:**设备上没有空间** - - - 项目上配置链接连接私服(下面内容涉及到 maven 的基础知识,请自行私下学习): - 对项目独立设置: - 打开项目的 pom.xml 文件: @@ -96,9 +88,50 @@ ``` - - -

Nexus 手动更新索引文件

+ + +## 持续集成自动构建后发布到 Nexus 上 + +- 在 Maven 的 settings.xml 加上连接服务器信息: + +``` bash + + + + nexus-releases + admin + admin123 + + + nexus-snapshots + admin + admin123 + + +``` + + +- 在项目的 pom.xml 文件加上: + +``` bash + + + + nexus-releases + Nexus Releases Repository + http://192.168.0.110:8081/nexus/content/repositories/releases/ + + + nexus-snapshots + Nexus Snapshots Repository + http://192.168.0.110:8081/nexus/content/repositories/snapshots/ + + +``` + + + +## Nexus 手动更新索引文件 - 手动更新索引 - 关闭 Nexus:`/usr/program/nexus2.11.4/bin/nexus stop` - 命令:`cd /opt/sonatype-work/nexus/indexer/central-ctx` @@ -110,8 +143,9 @@ - 执行解压命令(该命令执行需要4分钟左右):`java -jar indexer-cli-5.1.0.jar -u nexus-maven-repository-index.gz -d ./` - 删除解压前文件:`rm -rf indexer-cli-5.1.0.jar nexus-maven-repository-index.gz nexus-maven-repository-index.properties` - 重启服务:`/usr/program/nexus2.11.4/bin/nexus start` - -

资料

+ + +## 资料 - - diff --git a/README.md b/README.md index 3661cffb..debc68ee 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,23 @@ -# Linux-Tutorial(本系列教程还在整理中,请不要fork,等整理完美了,我会进行通知) +# Linux-Tutorial + +## 初衷(Original Intention) + +- 本系列历时半年之久,初稿预计这个月底(2016-03)就可以结算,感谢自己坚持下来。 +- 整理下自己所学 +- 带动更多的人进入 Linux 世界,特别是做 Java 开发的人 +- 学得越多越是明白一个人的力量是不够的,希望你能一起参与,真心希望(鞠躬) + ## 目录(Contents) - [Linux 介绍](Linux.md) +- [Ubuntu 介绍](Ubuntu.md) +- [CentOS 安装](CentOS-Install.md) - [Bash 命令](Bash.md) -- [CentOS 其他常用命令](CentOS-Other-Bash.md.md) +- [Bash 其他常用命令](Bash-Other-Bash.md.md) - [Linux 下常用压缩文件的解压、压缩](File-Extract-Compress.md) - [Yum 下载安装包及对应依赖包](Off-line-Yum-Install.md) +- [Zsh 入门](Zsh.md) - [SSH(Secure Shell)介绍](SSH.md) - [FTP(File Transfer Protocol)介绍](FTP.md) - [VPN(Virtual Private Network)介绍](VPN.md) @@ -15,7 +26,7 @@ - [Samba 介绍](Samba.md) - [Crontab 介绍](Crontab.md) - [Iptables 介绍](Iptables.md) -- [CentOS 安装](CentOS-Install.md) +- [花生壳 安装)介绍](Hsk-Install.md) - [CentOS 网络设置](CentOS-Network-Settings.md) - [VMware 克隆 CentOS 后网卡信息修改](CentOS-Virtual-Machine-Copy-Settings.md) - [CentOS 源设置](CentOS-Extra-Packages.md) @@ -28,3 +39,27 @@ - [Mysql 安装和配置](Mysql-Install-And-Settings.md) - [Redis 安装和配置](Redis-Install-And-Settings.md) - [Jira 安装和配置](Jira-Install-And-Settings.md) +- [Jenkins 安装和配置](Jenkins-Install-And-Settings.md) +- [TeamCity 安装和配置](TeamCity-Install-And-Settings.md) +- [黑客入侵检查](Was-Hacked.md) + + +## 联系(Contact) + +- Email:judas.n@qq.com(常用) or admin@youmeek.com(备用) +- Blog: +- 欢迎捐赠 ^_^: + + +## Github 常用按钮说明 + +> * Watch:关注该项目,作者有更新的时候,会在你的 Github 主页有通知消息。 +> * Star:收藏该项目,在你的头像上有一个“Your stars”链接,可以看到你的收藏列表。 +> * Fork:复制一份项目到的Github空间上,你可以自己开发自己的这个地址项目,然后 Pull Request 给项目原主人。 + + +## 参与作者汇总(Author) + +|作者(按参与时间排序)|地址| +|:---------|:---------| +|Judas.n|| \ No newline at end of file diff --git a/TeamCity-Install-And-Settings.md b/TeamCity-Install-And-Settings.md new file mode 100644 index 00000000..d6b8f0a5 --- /dev/null +++ b/TeamCity-Install-And-Settings.md @@ -0,0 +1,218 @@ +# TeamCity 安装和配置 + + + +- ![TeamCity](http://img.youmeek.com/2016/TeamCity.jpg) + + +## 本文初衷 + +- 让大家了解持续集成(CI),以及入门了解 JetBrains 家的 TeamCity 的一些简单实用。 +- TeamCity 的一些复杂使用我暂时也不会,一样也是要看文档的,所以不管怎样你都要养成看官网文档的习惯。 +- TeamCity 和 Jenkins、Hudson 其实是非常一样的,基本流程都是差不多的,所以如果你会其他的几个 CI 工具的话,学习起来很快。 +- Docker 已经开始在引入到 CI、CD(持续交付)过程中,可以大大简化整体的过程,也许这是未来的一个方向,有兴趣的可以了解更多。 + + +## 它是什么 + +- 官网定义(就一句话):`Powerful Continuous Integration out of the box` +- 官网首页: +- 官网特性总结: +- 百度百科: +- 官网文档: +- 支持的平台、环境如下图(看不懂也没关系,只要知道它最友好的是 Java 开发即可): +- ![TeamCity](http://img.youmeek.com/2016/TeamCity-Supported-Platforms-and-Environments.png) +- 对上图的具体讲解可以看(**很重要**): + +## 为什么会出现 + +- TeamCity 的出现需要了解这个概念:持续集成(Continuous Integration) +- 百科定义: +- 网络文章: + + +## 哪些人喜欢它 + +- [持续集成学习笔记-入门篇(1)持续集成基本概念](http://blog.csdn.net/leijiantian/article/details/7916483) +- [7 reasons why you should be using Continuous Integration](https://about.gitlab.com/2015/02/03/7-reasons-why-you-should-be-using-ci/) +- [What is CI and why use it?](https://blog.rainforestqa.com/2014-07-17-what-is-CI-and-why-use-it/) + + +## 哪些人不喜欢它 + +- Google 不到结果,应该是没人不喜欢,只是有些人用不惯 + + +## 为什么学习它 + +- 更好地保证项目质量 + + +## 同类工具 + +- Jenkins: +- Travis CI: +- Bamboo: +- Hudson: +- QuickBuild: +- 其他: +- 好的网络文章介绍: + - [持续集成工具的选择](http://cristal.iteye.com/blog/482658) + + +## TeamCity 入门 + +- 先来看一段官网的介绍视频 +- 这个视频其实已经很清楚地说明了一个整理流程是怎样的,我今天只是做一个更加清晰的细节讲解而已 +- 你需要穿越: + + +### TeamCity 安装部署(Linux 环境) + +- 在我讲之前,如果你英文还可以,就到官网这里看下: +- [Installation Quick Start](https://confluence.jetbrains.com/display/TCD9/Installation+Quick+Start#InstallationQuickStart-onLinuxandOSX) +- 安装环境要求: + - JDK 1.7 以上,如果你要使用的是 2016 最新的 TeamCity 9.1 的话,JDK 官网推荐的 1.8 +- 安装包下载: +- 开始安装(eg:TeamCity-9.1.6.tar.gz): + - 解压压缩包(解压速度有点慢):`tar zxf TeamCity-9.1.6.tar.gz` + - 解压完的目录结构讲解: + - 下载的 tar.gz 的本质是已经里面捆绑了一个 Tomcat,所以如果你会 Tomcat 的话,有些东西你可以自己改的。 + - 按我个人习惯,把解压缩的目录放在 usr 目录下:`mv TeamCity/ /usr/program/` + - 进入解压目录:`cd /usr/program/TeamCity/` + - 启动程序:`/usr/program/TeamCity/bin/runAll.sh start` + - 停止程序:`/usr/program/TeamCity/bin/runAll.sh stop` + - 启动需要点时间,最好能给它一两分钟吧 + + +### 首次进入 + +- 假设我们已经启动了 TeamCity +- 访问(TeamCity 默认端口是:8111): +- 如果访问不了,请先关闭防火墙:`service iptables stop` +- 你也可以选择把端口加入白名单中: + - `sudo iptables -I INPUT -p tcp -m tcp --dport 8111 -j ACCEPT` + - `sudo /etc/rc.d/init.d/iptables save` + - `sudo service iptables restart` +- 如果你要改变端口,找到下面这个 8111 位置:`vim /usr/program/TeamCity/conf/server.xml` + +``` bash + +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-a-2.jpg) + - 如上图英文所示,TeamCity 的一些构建历史、用户信息、构建结果等这类数据是需要放在关系型数据库上的,而默认它给我们内置了一个。 + - 如果你要了解更多 TeamCity External Database,你可以看: + - 首次使用,官网是建议使用默认的:`Internal(HSQLDB)`,这样我们无需在一开始使用的就考虑数据库迁移或安装的问题,我们只要好好感受 TeamCity 给我们的,等我们决定要使用了,后续再更换数据也是可以的。但是内置的有一个注意点:'TeamCity with the native MSSQL external database driver is not compatible with Oracle Java 6 Update 29, due to a bug in Java itself. You can use earlier or later versions of Oracle Java.' + - 假设我们就选 `Internal(HSQLDB)` ,则在创建初始化数据库的过程稍微需要点时间,我这边是几分钟。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-a-3.jpg) + - 如上图所示,接受下协议 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-b-1.jpg) + - 如上图所示,我们要创建一个顶级管理员账号,我个人习惯测试的账号是:`admin`,`123456` +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-b-2.jpg) + - 如上图所示,安装完首次进来地址: + - 我们可以完善一些管理员信息和基础配置信息,这些配置不配置都无所谓了,只是完善了可以更加好用而已 + - 如果你有 SMTP 的邮箱,你可以来这里开启邮件通知功能: + - 如果你要开启通知功能那肯定下一步就是考虑通知内容的模板要如何设定: + - 模板存放路径在:`/root/.BuildServer/config/_notifications`,用的是 FreeMarker 的语法 + + +### 项目的构建、管理 + +- 建议可以看下官网: +- 现在让我们开始创建一个项目进行构建 +- 项目管理地址: +- 假设我现在有一个项目的结构是这样的: + - Youshop-Parent,输出是 pom + - Youshop-manage,输出是 pom + - Youshop-pojo,输出 jar +- 我们现在以 Youshop-pojo 为例,让它自动构建并发布到 Nexus 中,其他项目道理是一样的,这里就不多说。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-1.jpg) +- 如上图,由于目前只要是公司的项目都应该是在版本控制的,所以这里我们选择:**Create project from URL** +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-2.jpg) +- 如上图,我们可以看出 TeamCity 也支持 HTTP、SVN、Git 等链接方式。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-3.jpg) +- 输入你项目托管商的账号密码,我这里用的是 oschina 的。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-4.jpg) +- 账号、密码验证通过,现在可以给这个项目配置一个项目基本信息。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-5.jpg) +- 在从版本控制中下载文件和扫描文件 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-6.jpg) +- TeamCity 自动扫描到我是用 Maven 构建的项目,所以把 POM 文件找出来了,如果你一个项目有多种构建方式,有对应的配置文件的话,这里都会显示出来的。 +- 我们勾选 Maven 前面的复选框,点击:`Use Selected` +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-7.jpg) +- 由于我们的目标是构建完自动发布到 Nexus,所以我们的 **Maven Goals** 应该是:`clean install deploy`,这里我们应该点击:`Edit`,进行编辑。 +- 如果你不懂 **Maven Goals**,那你需要学习下,这个很重要。 + - 官网: +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-8.jpg) + - 如上图,这台服务器必须装有 Maven、JDK + - 如上图,`Goals` 我们的目标是 `clean install deploy` + - 如上图,`Maven Home` 我建议是自己自定义路径,这样肯定不会有问题。所以你服务器上的 Maven 安装路径是什么你就在这里填写上去。Maven 目前支持的最高版本是:3.2.5 + - 下载 Maven 3.2.5: + - 如上图,`Java Parameters` 我建议也是自己自定义路径,别选择其他选项。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-9.jpg) + - 如上图,点击 `run`,开始手动构建该项目 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-10.jpg) + - 如上图,我们看到简略的构建日志 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-11.jpg) +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-c-12.jpg) + - 如上 2 张图,我们看到详细的构建内容 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-d-1.jpg) + - 如上图,当我们版本控制中有提交的时候,TeamCity 会识别到记录 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-d-2.jpg) + - 如上图,我们可以看到提交的 Commit Message 信息。 + - 如上图,右边红圈的三个按钮是用来处理这次提交的,常用的是第一次按钮,点击对此次版本进行构建 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-d-3.jpg) + - 如上图,如果你要看所有的提交记录,可以在 Change Log 看到并且指定版本构建 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-e-1.jpg) + - 如上图,如果在你不想要这个项目的时候可以进行删除 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-e-2.jpg) + - 如上图,因为 Goals 里面有 deploy 命令,所以构建完成会发布到 Nexus 中,这样团队的人就可以用到最新的代码了 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-e-3.gif) + - 如上 gif 图演示,项目常去的几个配置地方就是这样些了 + + +### 配置自动构建触发行为 + +- 官网提供的触发行为有: +- 下面我们举例说常见的:`VCS Trigger`、`Schedule Trigger` +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-f-1.jpg) + - 如上图,点击 `Add new trigger` 添加触发器 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-f-2.jpg) + - 如上图,常见的触发器就这些了 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-f-3.jpg) + - 如上图,配置好 `VCS Trigger` 效果是,当我们有代码提交的时候,TeamCity 检查到新版本之后自动构建,这个最常用 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-f-4.jpg) + - 如上图,`Schedule Trigger` 的作用就是定时构建,除了常用的几个输入框设置定时外,TeamCity 还可以使用 Cron 语法进行设置 + - TeamCity 采用的 Cron 语法是 Quartz,具体你可以看:[Quartz CronTrigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger#CronTriggersTutorial-Specialcharacters) + - 如果你不懂 Cron 语法那就算了,但是我想做 Java 这个应该要会的 + + +### 集成 IntelliJ IDEA + +- 安装 IntelliJ IDEA: +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-g-1.jpg) + - 如上图,我们可以直接连上 TeamCity 服务器,这里的用户名密码是 TeamCity 的账号系统。 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-g-2.jpg) + - 如上图,连上去的效果是这里会打钩 +- ![TeamCity 向导](http://img.youmeek.com/2016/TeamCity-guide-g-3.jpg) + - 如上图,我们可以直接把别人提交的内容做 patch 直接用 IntelliJ IDEA 进行整合 + - 还有其他很多结合玩法大家可以自己去尝试下 + + +### 其他 + +- TeamCity 的插件列表: +- 使用外部数据库: + - 使用外部数据库:>https://confluence.jetbrains.com/display/TCD9/Setting+up+an+External+Database> + - 迁移到外部数据库:>https://confluence.jetbrains.com/display/TCD9/Migrating+to+an+External+Database> +- 数据备份: +- 代码检查功能: + - + - + - + diff --git a/Was-Hacked.md b/Was-Hacked.md index 45d21855..a2ebabbd 100644 --- a/Was-Hacked.md +++ b/Was-Hacked.md @@ -1,4 +1,4 @@ -# 被黑客入侵的检查 +# 黑客入侵检查 ------ @@ -6,26 +6,17 @@ - 扫描木马工具:`clamAV` - 官网: -安装 -yum -y install clamav* - -启动 -service clamd restart - -更新病毒库 -freshclam - -扫描方法, -- 扫描 /etc 目录,并把扫描结果放在 /root 目录下:`clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log` -clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log -clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log - -如果日志有类似内容,表示有木马病毒 -/usr/bin/.sshd: Linux.Trojan.Agent FOUND -/usr/sbin/ss: Linux.Trojan.Agent FOUND -/usr/sbin/lsof: Linux.Trojan.Agent FOUND - - +- CentOS 安装:`yum install -y clamav*` +- 启动 clamAV 服务:`service clamd restart` +- 更新病毒库:`freshclam` +- 扫描方法: + - 扫描 /etc 目录,并把扫描结果放在 /root 目录下:`clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log` + - 扫描 /bin 目录,并把扫描结果放在 /root 目录下:`clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log` + - 扫描 /usr 目录,并把扫描结果放在 /root 目录下:`clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log` +- 如果日志有类似内容,表示有木马病毒: + - `/usr/bin/.sshd: Linux.Trojan.Agent FOUND` + - `/usr/sbin/ss: Linux.Trojan.Agent FOUND` + - `/usr/sbin/lsof: Linux.Trojan.Agent FOUND` - 看下当前有多少登录者:`who` - 看下最近有哪些登录者:`last` - 查看最近尝试登录的账号信息:`grep "sshd" /var/log/secure` @@ -97,7 +88,3 @@ TOTAL:(总的流量) 12.9GB 229Mb 190Mb 193Mb - - - -- <> -- <> -- <> -- <> diff --git a/Zsh.md b/Zsh.md new file mode 100644 index 00000000..02f803ca --- /dev/null +++ b/Zsh.md @@ -0,0 +1,115 @@ +# Zsh 入门 + + +## 本文前提 + +- CentOS 6.7 64 bit +- root 用户 + + +## Zsh 介绍 + +- Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的 +- Zsh 官网: +- 先看下你的 CentOS 支持哪些 shell:`cat /etc/shells`,正常结果应该是这样的: + +``` bash +/bin/sh +/bin/bash +/sbin/nologin +/bin/dash +/bin/tcsh +/bin/csh +``` + +- 默认 CentOS / Ubuntu / Mac 系统用的是 Bash,倒也不是说 Bash 不好,而是说我们有更好的选择。 + + +## Zsh 安装 + +- CentOS 安装:`sudo yum install -y zsh` +- Ubuntu 安装:`sudo apt-get install -y zsh` +- 在检查下系统的 shell:`cat /etc/shells`,你会发现多了一个:`/bin/zsh` + + +## 使用 Zsh 扩展集合:oh-my-zsh + +- oh-my-zsh 帮我们整理了一些常用的 Zsh 扩展功能和主题: +- 我们无需自己去捣搞 Zsh,直接用 oh-my-zsh 就足够了,如果你想继续深造的话那再去弄。 +- 先安装 git:`sudo yum install -y git` +- 安装 oh-my-zsh:`wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh` +- 整个过程效果如下图: + - ![oh-my-zsh 安装](images/Zsh-a-1.jpg) +- 在以 root 用户为前提下,oh-my-zsh 的安装目录:**/root/.oh-my-zsh** +- 在以 root 用户为前提下,Zsh 的配置文件位置:**/root/.zshrc** +- 为 root 用户设置 zsh 为系统默认 shell:`chsh -s /bin/zsh root` +- 如果你要重新恢复到 bash:`chsh -s /bin/bash root` +- 现在重启下系统:`reboot`,重启完你就可以看到你连接上 shell 效果变了,现在开头是一个箭头了,如下图: + - ![oh-my-zsh 安装](images/Zsh-b-1.jpg) + + + +## Zsh 配置 + +### 插件 + +- 启用 oh-my-zsh 中自带的插件。 +- oh-my-zsh 的插件列表介绍(太长了,用源码不精准地统计下有 149 个): +- 我们看下安装 oh-my-zsh 的时候自带有多少个插件:`ls -l /root/.oh-my-zsh/plugins |grep "^d"|wc -l`,我这边得到的结果是:211 +- 编辑配置文件:`vim /root/.zshrc`,找到下图的地方,怎么安装,原作者注释写得很清楚了,别装太多了,默认 git 是安装的。 + - ![oh-my-zsh 安装](images/Zsh-c-1.jpg) +- 插件推荐: + - `wd` + - 简单地讲就是给指定目录映射一个全局的名字,以后方便直接跳转到这个目录,比如: + - 编辑配置文件,添加上 wd 的名字:`vim /root/.zshrc` + - 我常去目录:**/opt/setups**,每次进入该目录下都需要这样:`cd /opt/setups` + - 现在用 wd 给他映射一个快捷方式:`cd /opt/setups ; wd add setups` + - 以后我在任何目录下只要运行:`wd setups` 就自动跑到 /opt/setups 目录下了 + - 插件官网: + - `autojump` + - 这个插件会记录你常去的那些目录,然后做一下权重记录,你可以用这个命令看到你的习惯:`j --stat`,如果这个里面有你的记录,那你就只要敲最后一个文件夹名字即可进入,比如我个人习惯的 program:`j program`,就可以直接到:`/usr/program` + - 插件官网: + - 官网插件下载地址: + - 插件下载:`wget https://github.com/downloads/wting/autojump/autojump_v21.1.2.tar.gz` + - 解压:`tar zxvf autojump_v21.1.2.tar.gz` + - 进入解压后目录并安装:`cd autojump_v21.1.2/ ; ./install.sh` + - 再执行下这个:`source /etc/profile.d/autojump.sh` + - 编辑配置文件,添加上 autojump 的名字:`vim /root/.zshrc` + + + +### 主题 + +- 很多人喜欢捣搞这个 ╮( ̄▽ ̄)╭ +- 捣搞主题和插件思路一样 +- oh-my-zsh 的主题列表介绍(还是太长了): +- 我们看下安装 oh-my-zsh 的时候,自带有多少个:`ls -l /root/.oh-my-zsh/themes |grep "^-"|wc -l`,我这边得到的结果是:140 +- 我个人品味地推荐的是(排名有先后): + - `ys` + - `agnoster` + - `avit` + - `blinks` +- 编辑配置文件:`vim /root/.zshrc`,找到下图的地方,怎么安装,原作者注释写得很清楚了,如果你没特别的喜欢那就选择随机吧。 + - ![oh-my-zsh 安装](images/Zsh-d-1.jpg) +- 配置好新主题需要重新连接 shell 才能看到效果 + + +## 一些人性化功能 + +- 呃,这个其实可以不用讲的,你自己用的时候你自己会发现的,各种便捷,特别是用 Tab 多的人一定会有各种惊喜的。 + + +## 资料 + +- +- +- +- +- +- +- +- +- +- +- +- diff --git a/images/Zsh-a-1.jpg b/images/Zsh-a-1.jpg new file mode 100644 index 00000000..404d927b Binary files /dev/null and b/images/Zsh-a-1.jpg differ diff --git a/images/Zsh-b-1.jpg b/images/Zsh-b-1.jpg new file mode 100644 index 00000000..4c33a543 Binary files /dev/null and b/images/Zsh-b-1.jpg differ diff --git a/images/Zsh-c-1.jpg b/images/Zsh-c-1.jpg new file mode 100644 index 00000000..5e56d3cf Binary files /dev/null and b/images/Zsh-c-1.jpg differ diff --git a/images/Zsh-d-1.jpg b/images/Zsh-d-1.jpg new file mode 100644 index 00000000..843d2d5f Binary files /dev/null and b/images/Zsh-d-1.jpg differ