Windows 10 与 Office 2016 KMS激活

Windows:
slmgr /upk 卸载SN
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 更换KMS SN
slmgr /skms *** 更改KMS服务器地址
slmgr /ato 激活
slmgr /dlv 查看激活状态
Office:
cscript ospp.vbs /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 更换KMS SN
cscript ospp.vbs /sethst:*** 更改KMS服务器地址
cscript ospp.vbs /act 激活
cscript ospp.vbs /dstatus 查看激活状态

 

KMS服务器地址自己寻找

Ubuntu Server搭建svn服务以及迁移方法

采用apache+svn,http访问方式。

先确定安装了apache,没有安装则用以下命令:

sudo apt-get install apache2
然后安装subversion及svn-apache连接库:

sudo apt-get install subversion
sudo apt-get install libapache2-svn
增加svn用户组,用于管理svn,并加入到www-data的apache组:

sudo addgroup subversion
sudo usermod -G subversion -a www-data
然后可以创建svn项目仓库了:

# 一般可以将项目仓库建立到/home/svn目录
# 假设项目名为myproject,先建立空目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
#创建为svn项目,使用以下命令
$ sudo svnadmin create /home/svn/myproject
# 然后才赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
# 如果命令顺序搞错,可能会报错,请参照官方wiki
$ sudo chmod -R g+rws myproject
最后是配置apache,用http协议访问svn服务:

# 在安装了libapache2-svn时会自动生成该文件
$ sudo vim /etc/apache2/mods-available/dav_svn.conf
编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,最后内容大概如下即可:

<Location/svn> #/svn表示http://hostname/svn/myproject
DAV svn
SVNParentPath /home/svn #配置仓库父目录
AuthType Basic
AuthName "ToFishes Project Svn"
AuthUserFile /etc/apache2/dav_svn.passwd #svn用户文件
AuthzSVNAccessFile /etc/apache2/dav_svn.authz #授权访问文件
Require valid-user
</Location>
svn用户文件/etc/apache2/dav_svn.passwd 和 授权访问文件/etc/apache2/dav_svn.authz是不存在的,需要手动创建。

svn用户文件可以通过命令创建:

#首次创建需要加-c选项,同时可以增加一个svn用户
#执行该命令会提示为新用户user_name设置密码
sudo htpasswd -c /etc/subversion/passwd user_name
#以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了
sudo htpasswd /etc/subversion/passwd new_name
用户是可以添加了,同时需要管理授权,用于多个svn项目,划分不同的用户组:

用vim /etc/apache2/dav_svn.authz编辑授权文件,无文件则编辑并保存后会自动创建,无需担心。

授权文件内容格式如下:

#用户组指令
[groups]
#格式为 组名 = 用户名1,用户名2
group1 = user1, user2
group2 = user1, user3
#other groups...
#格式为 svn项目的仓库名:对应目录
[svn_repository_name:/]
#设置组的权限,r=read, w=write
@group1= rw
[svn_repository_name2:/web/css]
@group2= rw
改完最后重启apache : sudo /etc/init.d/apache2 restart。这样工作就全部完成了。

其中访问地址是什么呢,只要当前服务器已经绑定了一个域名,并且在apache中启用了此域名的虚拟主机。

比如能正常访问 http://www.linuxidc.com/, 那么svn项目的访问地址就是 http://www.linuxidc.com/svn/项目名。

 

迁移SVN仓库

用以上同样的方法在新服务搭建好SVN,接着导出原svn仓库资料,再导入到新svn仓库即可。

1. 在老服务器进行导出操作:
$ svnadmin dump 原先的repos的目录路径(/repository/directory) > dumpfile.svndump

2. 在新服务器将dumpfile.svndump导入到新的repository 目录中。
$ svnadmin load 新建的repos的目录路径(/repository/directory) < dumpfile.svndump

如果项目仓库比较多,附上一个批处理导出命令,导入的改改就行了:

#!/bin/bash
cd /home/svn
filelist=ls#符号·不是单引号,而是位于键盘感叹号左侧
for fname in $filelist
do
svnadmin dump $fname >/home/svndump/${fname}.svndump
#echo $fname
#最好是root用户执行,否则要sudo了
done
那么本地项目svn的检出及更新地址就需要变更了, 使用TortoiseSVN工具的右键找到Relocate菜单就可以了,而使用命令的话如下:

#在项目目录查看下仓库地址
$ svn info
#回显中的URL项就是旧版地址oldpath
#然后切换到新版地址newpath即可
$ svn switch--relocate http://oldpath http://newpath
#查看信息确认下
$ svn info

 

设置备份

目录结构:
root@HomeServer:/home/svn# ll
total 16
drwxrwxrwx 4 root root 4096 Aug 23 10:10 ./
drwxr-xr-x 14 root root 4096 Aug 23 09:05 ../
drwxrwsrwx 7 root subversion 4096 Aug 23 09:10 MyProject/
drwxrwsrwx 7 root subversion 4096 Aug 23 10:13 Public/
root@HomeServer:/home/svn#

配置文件:
[groups]
g_admin = hbn
g_public = Public
[MyProject:/]
@g_admin = rw
[Public:/]
@g_public = rw

Ubuntu中安装和卸载apache2

1.安装apache2

安装命令:sudo apt-get install apache2

启动/停止/重启apache2: service apache2 start/stop/restart

2. 卸载apache2

之前卸载重新安装后找不到apache2.conf配置文件,测试使用一下方式卸载后可用。
(1) $ sudo apt-get --purge remove apache2
$ sudo apt-get --purge remove apache2.2-common
$ sudo apt-get autoremove

(2) (关键一步)找到没有删除掉的配置文件,一并删除
$ sudo find /etc -name "*apache*" -exec rm -rf {} \;
$ sudo rm -rf /var/www

Windows 10 VPN 如何去掉默认网关

升级Windows 10一段时间了,突然需要用到新的VPN,PPTP建立完成后,发现PPTP虚拟网卡的TCP/IP V4无法编辑,也就无法去掉默认网关功能。

使用度娘大多都提到此问题,但没有解决方法。今天去外面逛了一圈,找到解决方法,如下:

右击开始菜单-选择命令行方式(管理员)-运行PowerShell执行以下命令:

  • Get-VpnConnection
  • 查看当前VPN连接信息如下:

  • 修改VPN属性:
  • Set-VpnConnection -Name "VPN Name" -SplitTunneling $True
  • 执行Get-VpnConnection查看结果

readelf命令的使用

readelf命令是Linux下的分析ELF文件的命令,这个命令在分析ELF文件格式时非常有用,下面以ELF格式可执行文件test为例详细介绍:
readelf -v 显示版本
readelf -h 显示帮助
readelf -a test 显示test的全部信息
readelf -h test 显示test的ELF Header的文件头信息(就是ELF文件开始的前52个字节)
readelf -l test 显示test的Program Header Table中的每个Prgram Header Entry的信息(如果有)
readelf -S test 显示test的Section Header Table中的每个Section Header Entry的信息(如果有)
readelf -g test 显示test的Section Group的信息(如果有)
readelf -s test 显示test的Symbol Table中的每个Symbol Table Entry的信息(如果有)
readelf -e test 显示test的全部头信息(包括ELF Header,Section Header和Program Header,等同与 readelf -h -l -S test)
readelf -n test 显示test的note段的信息(如果有)
readelf -r test 显示test中的可重定位段的信息(如果有)
readelf -d test 显示test中的Dynamic Section的信息(如果有)
readelf -V test 显示test中的GNU Version段信息(如果有)