Ravi Saive 发布的文章

FreeFileSync 是一个自由、开源以及跨平台的文件夹对比及同步软件,它可以帮助你同步 Linux、Windows 和 Mac OS 中的文件和文件夹。

它是便携的,也可以被安装在本地系统中,它的功能丰富,旨在节省设置和执行备份操作的时间,同时具有有吸引力的图形界面。

FreeFileSync 功能

下面是它的主要功能:

  1. 它可以同步网络共享和本地磁盘。
  2. 它可以同步 MTP 设备(Android、iPhone、平板电脑、数码相机)。
  3. 它也可以通过 SFTP(SSH 文件传输协议)进行同步。
  4. 它可以识别被移动和被重命名的文件和文件夹。
  5. 使用目录树显示磁盘空间使用情况。
  6. 支持复制锁定文件(卷影复制服务)。
  7. 识别冲突并同步删除(propagate deletions)。
  8. 支持按内容比较文件。
  9. 它可以配置为处理符号链接。
  10. 支持批量自动同步。
  11. 支持多个文件夹比较。
  12. 支持深入详细的错误报告。
  13. 支持复制 NTFS 扩展属性,如(压缩、加密、稀疏)。
  14. 还支持复制 NTFS 安全权限和 NTFS 备用数据流。
  15. 支持超过 260 个字符的长文件路径。
  16. 支持免故障的文件复制防止数据损坏。
  17. 允许扩展环境变量,例如 %UserProfile%
  18. 支持通过卷名访问可变驱动器盘符(U盘)。
  19. 支持管理已删除/更新文件的版本。
  20. 通过最佳同步序列防止光盘空间问题。
  21. 完全支持 Unicode。
  22. 提供高度优化的运行时性能。
  23. 支持过滤器包含和排除文件等。

如何在 Ubuntu 中安装 FreeFileSync

我们会添加官方的 FreeFileSync PPA,这只在 Ubuntu 14.04 和 Ubuntu 15.10 上有,那么像这样更新系统仓库列表并安装它:

-------------- 在 Ubuntu 14.04 和 15.10 上 -------------- 
$ sudo apt-add-repository ppa:freefilesync/ffs
$ sudo apt-get update
$ sudo apt-get install freefilesync

对于 Ubuntu 16.04 或者更新的版本,进入 FreeFileSync 的下载页为你的 Ubuntu 和 Debian 获取合适的包。

接下来,进入下载文件夹,如下解压 FreeFileSync\_*.tar.gz 到 /opt 目录中:

$ cd Downloads/
$ sudo tar xvf FreeFileSync_*.tar.gz -C /opt/
$ cd /opt/
$ ls
$ sudo unzip FreeFileSync/Resources.zip -d /opt/FreeFileSync/Resources/

下载我们会使用 Gnome 面板创建一个程序启动器(.desktop 文件)。要浏览系统中 .desktop 文件的例子,列出 /usr/share/applications 目录的内容:

$ ls /usr/share/applications

为防你没有安装 Gnome 面板,输入下面的命令来安装:

$ sudo apt-get install --no-install-recommends gnome-panel

接下来,运行下面的命令来创建程序启动器:

$ sudo gnome-desktop-item-edit /usr/share/applications/ --create-new

并定义下面的值:

Type:      Application 
Name:      FreeFileSync
Command:   /opt/FreeFileSync/FreeFileSync       
Comment:   Folder Comparison and Synchronization

要为启动器添加一个图标,只需要点击图标选择:/opt/FreeFileSync/Resources/FreeFileSync.png

当你设置完成之后,点击 OK 创建。

Create Desktop Launcher

创建桌面启动器

如果你不想要创建桌面启动器,你可以从目录中启动 FreeFileSync。

$ ./FreeFileSync

如何在 Ubuntu 中使用 FreeFileSync

在 Ubuntu 中,在 Unity Dash 中搜索 FreeFileSync,然而在 Linux Mint 中,在 System Menu 中搜索,并点击 FreeFileSync 图标打开。

FreeFileSync

FreeFileSync

使用 FreeFileSync 比较两个文件夹

在下面的例子中,我们使用:

Source Folder:  /home/aaronkilik/bin
Destination Folder: /media/aaronkilik/J_CPRA_X86F/scripts

要比较文件时间以及两个文件夹的大小(默认设置),只要点击比较按钮。

Compare Two Folders in Linux

在 Linux 中比较两个文件夹

通过下面的界面,可以在两个文件夹中按 F6 来更改要比较的内容:文件时间和大小、内容或文件大小。请注意,你选择的每个选项的含义也包括在内。

File Comparison Settings

文件比较设置

使用 FreeFileSync 同步两个文件夹

你可以开始比较两个文件夹,接着点击 Synchronize 按钮启动同步进程。在之后出现的对话框中点击 Start:

Source Folder: /home/aaronkilik/Desktop/tecmint-files
Destination Folder: /media/aaronkilik/Data/Tecmint

Compare and Synchronize Two Folders

比较以及同步两个文件夹

Start File Synchronization

开始文件同步

File Synchronization Completed

文件同步完成

在下面的界面中按下 F8 设置默认同步选项:two way、mirror、update 或 custom。每个选项的意义不言自明。

File Synchronization Settings

文件同步设置

要了解更多信息,访问 FreeFileSync 主页:http://www.freefilesync.org/

就是这样了!在本篇中,我们向你展示了如何在 Ubuntu 以及它的衍生版 Linux Mint、Kubuntu 等等中安装 FreeFileSync。在下面的评论栏中分享你的想法。


作者简介:

Ravi Saive,TecMint 的原创作者。一个喜爱在互联网上分享技巧和提示的计算机 geek 和 Linux 老手。我的大多数服务运行在 Linux 开源平台上。请在 Twitter、Facebook、Google+ 上关注我。


via: http://www.tecmint.com/freefilesync-compare-synchronize-files-in-ubuntu/

作者:Ravi Saive 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

pyDash 是一个轻量且基于 web 的 Linux 性能监测工具,它是用 Python 和 Django 加上 Chart.js 来写的。经测试,在下面这些主流 Linux 发行版上可运行:CentOS、Fedora、Ubuntu、Debian、Raspbian 以及 Pidora 。

你可以使用这个工具来监视你的 Linux 个人电脑/服务器资源,比如 CPU、内存、网络统计,包括在线用户的进程以及更多。仪表盘完全由主要的 Python 发行版本所提供的 Python 库开发,因此它的依赖关系很少,你不需要安装许多包或库来运行它。

在这篇文章中,我将展示如何安装 pyDash 来监测 Linux 服务器性能。

如何在 Linux 系统下安装 pyDash

1、首先,像下面这样安装需要的软件包 gitPython pip

-------------- 在 Debian/Ubuntu 上 --------------
$ sudo apt-get install git python-pip
-------------- 在 CentOS/RHEL 上 --------------
# yum install epel-release
# yum install git python-pip
-------------- 在 Fedora 22+ 上 --------------
# dnf install git python-pip

2、如果安装好了 git 和 Python pip,那么接下来,像下面这样安装 virtualenv,它有助于处理针对 Python 项目的依赖关系:

# pip install virtualenv
或
$ sudo pip install virtualenv

3、现在,像下面这样使用 git 命令,把 pyDash 仓库克隆到 home 目录中:

# git clone https://github.com/k3oni/pydash.git
# cd pydash

4、下一步,使用下面的 virtualenv 命令为项目创建一个叫做 pydashtest 虚拟环境:

$ virtualenv pydashtest #give a name for your virtual environment like pydashtest

Create Virtual Environment

创建虚拟环境

重要:请注意,上面的屏幕截图中,虚拟环境的 bin 目录被高亮显示,你的可能和这不一样,取决于你把 pyDash 目录克隆到什么位置。

5、创建好虚拟环境(pydashtest)以后,你需要在使用前像下面这样激活它:

$ source /home/aaronkilik/pydash/pydashtest/bin/activate

Active Virtual Environment

激活虚拟环境

从上面的屏幕截图中,你可以注意到,提示字符串 1(PS1)已经发生改变,这表明虚拟环境已经被激活,而且可以开始使用。

6、现在,安装 pydash 项目 requirements;如何你好奇的话,可以使用 cat 命令查看 requirements.txt 的内容,然后像下面所示那样进行安装:

$ cat requirements.txt
$ pip install -r requirements.txt

7、现在,进入 pydash 目录,里面包含一个名为 settings.py 的文件,也可直接运行下面的命令打开这个文件,然后把 SECRET_KEY 改为一个特定值:

$ vi pydash/settings.py

Set Secret Key

设置密匙

保存文件然后退出。

8、之后,运行下面的命令来创建一个项目数据库和安装 Django 的身份验证系统,并创建一个项目的超级用户:

$ python manage.py syncdb

根据你的情况回答下面的问题:

Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'): admin
Email address: [email protected]
Password: ###########
Password (again): ############

Create Project Database

创建项目数据库

9、这个时候,一切都设置好了,然后,运行下面的命令来启用 Django 开发服务器:

$ python manage.py runserver

10、接下来,打开你的 web 浏览器,输入网址:http://127.0.0.1:8000/ 进入 web 控制台登录界面,输入你在第 8 步中创建数据库和安装 Django 身份验证系统时创建的超级用户名和密码,然后点击登录。

pyDash Login Interface

pyDash 登录界面

11、登录到 pydash 主页面以后,你将会可以看到监测系统的基本信息,包括 CPU、内存和硬盘使用量以及系统平均负载。

向下滚动便可查看更多部分的信息。

pyDash Server Performance Overview

pydash 服务器性能概述

12、下一个屏幕截图显示的是一段 pydash 的跟踪界面,包括 IP 地址、互联网流量、硬盘读/写、在线用户以及 netstats 。

pyDash Network Overview

pyDash 网络概述

13、下一个 pydash 主页面的截图显示了一部分系统中被监视的活跃进程。

pyDash Active Linux Processes

pyDash 监视活跃 Linux 进程

如果想了解更多信息,请在 GitHub 上查看 pydash:https://github.com/k3oni/pydash

这就是全部内容了。在这篇文章中,我们展示了在 Linux 中如何安装 pyDash 并测试它的主要特性。如果你有什么想法,可以通过下面的反馈部分联系我们;如果你知道任何有用或类似的工具,也可以在评论中告知我们。


作者简介:

我叫 Ravi Saive,是 TecMint 的原创作者,是一个喜欢在网上分享技巧和知识的计算机极客和 Linux Guru。我的大多数服务器都运行在 Linux 开源平台上。请关注我:TwitterFacebook 以及 Google+


via: http://www.tecmint.com/pydash-a-web-based-linux-performance-monitoring-tool/

作者:Ravi Saive 译者:ucasFL 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。

wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。

wkhtmltopdf 的功能

  1. 开源并且跨平台。
  2. 使用 WebKit 引擎将任意 HTML 网页转换为 PDF 文件。
  3. 添加页眉和页脚的选项
  4. 目录生成 (TOC) 选项。
  5. 提供批量模式转换。
  6. 通过绑定 libwkhtmltox 来支持 PHP 或 Python。

在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 wkhtmltopdf。

安装 Evince (PDF 浏览器)

让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 PDF 文件。

$ sudo yum install evince             [RHEL/CentOS and Fedora]
$ sudo dnf install evince             [On Fedora 22+ versions]
$ sudo apt-get install evince         [On Debian/Ubuntu systems]

下载 wkhtmltopdf 源码文件

使用 wget 命令根据你的 Linux 架构来下载 wkhtmltopdf 源码文件,或者你也可以在 wkhtmltopdf 下载页下载最新的版本(目前最新的稳定版是 0.12.4)

在 64 位 Linux 系统中:

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

在 32 位 Linux 系统中:

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz

在 Linux 中安装 wkhtmltopdf

使用 tar 命令解压文件到当前目录中。

------ On 64-bit Linux OS ------
$ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
------ On 32-bit Linux OS ------
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz 

为了能从任意路径执行程序,将 wkhtmltopdf 安装到 /usr/bin 目录下。

$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/

如何使用 wkhtmltopdf?

我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。

将 HTML 网页转成 PDF 文件

要将任意 HTML 页面转换成 PDF,运行下面的命令。它会在当前目录下将页面转换成 10-Sudo-Configurations.pdf

# wkhtmltopdf http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf

示例输出:

Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

浏览生成的 PDF 文件

为了验证创建的文件,使用下面的命令。

$ file 10-Sudo-Configurations.pdf

示例输出:

10-Sudo-Configurations.pdf: PDF document, version 1.4

浏览生成的 PDF 文件细节

要浏览生成的文件信息,运行下面的命令。

$ pdfinfo 10-Sudo-Configurations.pdf

示例输出:

Title:          10 Useful Sudoers Configurations for Setting 'sudo' in Linux
Creator:        wkhtmltopdf 0.12.4
Producer:       Qt 4.8.7
CreationDate:   Sat Jan 28 13:02:58 2017
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          13
Encrypted:      no
Page size:      595 x 842 pts (A4)
Page rot:       0
File size:      697827 bytes
Optimized:      no
PDF version:    1.4

浏览创建的文件

在桌面中使用 evince 查看最新生成的 PDF 文件。

$ evince 10-Sudo-Configurations.pdf

示例截图:

在我的 Linux Mint 17 中看起来很棒。

View Website Page in PDF

在 PDF 中浏览网页

给 PDF 创建页面的 目录 Table Of Content (TOC)

要创建一个 PDF 文件的目录,使用 toc 选项。

$ wkhtmltopdf toc http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf

示例输出:

Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

要查看已创建文件的 TOC,再次使用 evince。

$ evince 10-Sudo-Configurations.pdf

示例截图:

看一下下面的图。它上看去比上面的更好。

Create Website Page to Table of Contents in PDF

在 PDF 中创建网页的目录

wkhtmltopdf 选项及使用

更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。

$ wkhtmltopdf --help

作者简介:

我是 Ravi Saive,TecMint 的创建者。一个爱在网上分享的技巧和提示的电脑极客和 Linux 专家。我的大多数服务器运行在名为 Linux 的开源平台上。请在 Twitter、 Facebook 和 Google+ 等上关注我。


via: http://www.tecmint.com/wkhtmltopdf-convert-website-html-page-to-pdf-linux/

作者:Ravi Saive 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇文章将讲解如何使用 Ubuntu 16.04 服务器版系统来创建第二台 Samba4 域控制器,并将其加入到已创建好的 Samba AD DC 林环境中,以便为一些关键的 AD DC 服务提供负载均衡及故障切换功能,尤其是为那些重要的服务,比如 DNS 服务和使用 SAM 数据库的 AD DC LDAP 模式。

需求

这篇文章是 Samba4 AD DC 系列的第篇,前边几篇如下:

1、在 Ubuntu 系统上使用 Samba4 来创建活动目录架构

2、在 Linux 命令行下管理 Samba4 AD 架构

3、使用 Windows 10 的 RSAT 工具来管理 Samba4 活动目录架构

4、在 Windows 下管理 Samba4 AD 域管制器 DNS 和组策略

第一步:为设置 Samba4 进行初始化配置

1、在开始把第二个 DC 服务器加入到 Samba4 AD DC 域环境之前,你需要注意一些初始化设置信息,首先,确保这个新系统的主机名包含描述性名称。

假设第一个域服务器的主机名叫做 adc1 ,你可以把第二个域服务器命名为 adc2,以保持域控制器名称的一致性。

执行下面的命令来修改系统主机名

# hostnamectl set-hostname adc2

或者你也可以手动编辑 /etc/hostname 文件,在新的一行输入你想设置的主机名。

# nano /etc/hostname

这里添加主机名。

adc2

2、下一步,打开本地系统解析文件并添加一个条目,包含主域控制器的 IP 地址和 FQDN 名称。如下图所示:

在这篇教程中,主域控服务器的主机名为 adc1.tecmint.lan ,其对应的 IP 地址为 192.168.1.254 。

# nano /etc/hosts

添加如下行:

IP_of_main_DC       FQDN_of_main_DC     short_name_of_main_DC

Set Hostname for Samba4 AD DC

为 Samba4 AD DC 服务器设置主机名

3、下一步,打开 /etc/network/interfaces 配置文件并设置一个静态 IP 地址,如下图所示:

注意 dns-nameserversdns-search 这两个参数的值。为了使 DNS 解析正常工作,需要把这两个值设置成主 Samba4 AD DC 服务器的 IP 地址和域名。

重启网卡服务以让修改的配置生效。检查 /etc/resolv.conf 文件,确保该网卡上配置的这两个 DNS 的值已更新到这个文件。

# nano /etc/network/interfaces

编辑并替换你自定义的 IP 设置:

auto ens33
iface ens33 inet static
address 192.168.1.253
netmask 255.255.255.0
brodcast 192.168.1.1
gateway 192.168.1.1
dns-nameservers 192.168.1.254
dns-search tecmint.lan

重启网卡服务并确认生效。

# systemctl restart networking.service
# cat /etc/resolv.conf

Configure DNS for Samba4 AD

配置 Samba4 AD 服务器的 DNS

当你通过简写名称(用于构建 FQDN 名)查询主机名时, dns-search 值将会自动把域名添加上。

4、为了测试 DNS 解析是否正常,使用一系列 ping 命令测试,命令后分别为简写名, FQDN 名和域名,如下图所示:

在所有测试用例中,Samba4 AD DC DNS 服务器都应该返回主域控服务器的 IP 地址。

Verify DNS Resolution for Samba4 AD

验证 Samba4 AD 环境 DNS 解析是否正常

5、最后你需要注意的是确保这个主机跟域控服务器时间同步。你可以通过下面的命令在系统上安装 NTP 客户端工具来实现时间同步功能:

# apt-get install ntpdate

6、假设你想手动强制本地服务器与 samba4 AD DC 服务器时间同步,使用 ntpdate 命令加上主域控服务器的主机名,如下所示:

# ntpdate adc1

Time Synchronize with Samba4 AD

与 Samba4 AD 服务器进行时间同步

第 2 步:安装 Samba4 必须的依赖包

7、为了让 Ubuntu 16.04 系统加入到你的域中,你需要通过下面的命令从 Ubuntu 官方软件库中安装 Samba4 套件、 Kerberos 客户端 和其它一些重要的软件包以便将来使用:

# apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

Install Samba4 in Ubuntu

在 Ubuntu 系统中安装 Samba4

8、在安装的过程中,你需要提供 Kerberos 域名。输入大写的域名然后按回车键完成安装过程。

Configure Kerberos Authentication for Samba4

为 Samba4 配置 Kerberos 认证

9、所有依赖包安装完成后,通过使用 kinit 命令为域管理员请求一个 Kerberos 票据以验证设置是否正确。使用 klist 命令来列出已授权的 kerberos 票据信息。

# kinit domain-admin-user@YOUR_DOMAIN.TLD
# klist

Verify Kerberos on Samba4 Domain

在 Samba4 域环境中验证 Kerberos

第 3 步:以域控制器的身份加入到 Samba4 AD DC

10、在把你的机器集成到 Samba4 DC 环境之前,先把系统中所有运行着的 Samba4 服务停止,并且重命名默认的 Samba 配置文件以便从头开始。在域控制器配置的过程中, Samba 将会创建一个新的配置文件。

# systemctl stop samba-ad-dc smbd nmbd winbind
# mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

11、在准备加入域前,先启动 samba-ad-dc 服务,之后使用域管理员账号运行 samba-tool 命令将服务器加入到域。

# samba-tool domain join your_domain -U "your_domain_admin"

加入域过程部分截图:

# samba-tool domain join tecmint.lan DC -U "tecmint_user"

输出示例:

Finding a writeable DC for domain 'tecmint.lan'
Found DC adc1.tecmint.lan
Password for [WORKGROUP\tecmint_user]:
workgroup is TECMINT
realm is tecmint.lan
checking sAMAccountName
Deleted CN=ADC2,CN=Computers,DC=tecmint,DC=lan
Adding CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Adding CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding CN=NTDS Settings,CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
Adding SPNs to CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
Setting account password for ADC2$
Enabling account
Calling bare provision
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Provision OK for domain DN DC=tecmint,DC=lan
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[402/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[804/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1206/1550] linked_values[0/0]
Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan] objects[1550/1550] linked_values[0/0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[402/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[804/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1206/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1608/1614] linked_values[0/0]
Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1614/1614] linked_values[28/0]
Replicating critical objects from the base DN of the domain
Partition[DC=tecmint,DC=lan] objects[97/97] linked_values[24/0]
Partition[DC=tecmint,DC=lan] objects[380/283] linked_values[27/0]
Done with always replicated NC (base, config, schema)
Replicating DC=DomainDnsZones,DC=tecmint,DC=lan
Partition[DC=DomainDnsZones,DC=tecmint,DC=lan] objects[45/45] linked_values[0/0]
Replicating DC=ForestDnsZones,DC=tecmint,DC=lan
Partition[DC=ForestDnsZones,DC=tecmint,DC=lan] objects[18/18] linked_values[0/0]
Committing SAM database
Sending DsReplicaUpdateRefs for all the replicated partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC

Join Domain to Samba4 AD DC

把域加入到 Samba4 AD DC

12、在已安装了 Samba4 套件的 Ubuntu 系统加入域之后,打开 Samba 主配置文件添加如下行:

# nano /etc/samba/smb.conf

添加以下内容到 smb.conf 配置文件中。

dns forwarder = 192.168.1.1
idmap_ldb:use rfc2307 = yes
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes

使用你自己的 DNS 转发器 IP 地址替换掉上面 dns forwarder 地址。 Samba 将会把域权威区之外的所有 DNS 解析查询转发到这个 IP 地址。

13、最后,重启 samba 服务以使修改的配置生效,然后执行如下命令来检查活动目录复制功能是否正常。

# systemctl restart samba-ad-dc
# samba-tool drs showrepl

Configure Samba4 DNS

配置 Samba4 DNS

14、另外,还需要重命名原来的 /etc下的 kerberos 配置文件,并使用在加入域的过程中 Samba 生成的新配置文件 krb5.conf 替换它。

Samba 生成的新配置文件在 /var/lib/samba/private 目录下。使用 Linux 的符号链接将该文件链接到 /etc 目录。

# mv /etc/krb6.conf /etc/krb5.conf.initial
# ln -s /var/lib/samba/private/krb5.conf /etc/
# cat /etc/krb5.conf

Configure Kerberos

配置 Kerberos

15、同样,使用 samba 的 krb5.conf 配置文件验证 Kerberos 认证是否正常。通过以下命令来请求一个管理员账号的票据并且列出已缓存的票据信息。

# kinit administrator
# klist

Verify Kerberos Authentication with Samba

使用 Samba 验证 Kerberos 认证是否正常

第 4 步:验证其它域服务

16、你首先要做的一个测试就是验证 Samba4 DC DNS 解析服务是否正常。要验证域 DNS 解析情况,使用 host 命令,加上一些重要的 AD DNS 记录,进行域名查询,如下图所示:

每一次查询,DNS 服务器都应该返回两个 IP 地址。

# host your_domain.tld
# host -t SRV _kerberos._udp.your_domain.tld  # UDP Kerberos SRV record
# host -t SRV _ldap._tcp.your_domain.tld  # TCP LDAP SRV record

Verify Samba4 DC DNS

*验证 Samba4 DC DNS *

17、这些 DNS 记录也可以从注册过的已安装了 RSAT 工具的 Windows 机器上查询到。打开 DNS 管理器,展开到你的域 tcp 记录,如下图所示:

Verify DNS Records on Windows RSAT Tool

通过 Windows RSAT 工具来验证 DNS 记录

18、下一个验证是检查域 LDAP 复制同步是否正常。使用 samba-tool 工具,在第二个域控制器上创建一个账号,然后检查该账号是否自动同步到第一个 Samba4 AD DC 服务器上。

在 adc2 上:

# samba-tool user add test_user

在 adc1 上:

# samba-tool user list | grep test_user

Create User Account on Samba4 AD

在 Samba4 AD 服务器上创建账号

Verify Replication on Samba4 AD

在 Samba4 AD 服务器上验证同步功能

19、你也可以从 Microsoft AD DC 控制台创建一个账号,然后验证该账号是否都出现在两个域控服务器上。

默认情况下,这个账号都应该在两个 samba 域控制器上自动创建完成。在 adc1 服务器上使用 wbinfo 命令查询该账号名。

Create Account from Microsoft AD UC

从 Microsoft AD UC 创建账号

Verify Account Replication On Samba4 AD

在 Samba4 AD 服务器上验证账号同步功能

20、实际上,打开 Windows 机器上的 AD DC 控制台,展开到域控制器,你应该看到两个已注册的 DC 服务器。

Verify Samba4 Domain Controllers

验证 Samba4 域控制器

第 5 步:启用 Samba4 AD DC 服务

21、要在整个系统启用 Samba4 AD DC 的服务,首先你得禁用原来的不需要的 Samba 服务,然后执行如下命令仅启用 samba-ad-dc 服务:

# systemctl disable smbd nmbd winbind
# systemctl enable samba-ad-dc

Enable Samba4 AD DC Services

启用 Samba4 AD DC 服务

22、如果你从 Microsoft 客户端远程管理 Samba4 域控制器,或者有其它 Linux 或 Windows 客户机集成到当前域中,请确保在它们的网卡 DNS 服务器地址设置中提及 adc2 服务器的 IP 地址,以实现某种程序上的冗余。

下图显示 Windows 和 Debian/Ubuntu 客户机的网卡配置要求。

Configure Client to Administer Samba4 DC

配置 Windows 客户端来管理 Samba4 DC

Configure Linux Client to Administer Samba4 DC

配置 Linux 客户端来管理 Samba4 DC

如果第一台 DC 服务器 192.168.1.254 网络不通,则调整配置文件中 DNS 服务器 IP 地址的顺序,以免先查询这台不可用的 DNS 服务器。

最后,如果你想在 Linux 系统上使用 Samba4 活动目录账号来进行本地认证,或者为 AD LDAP 账号授予 root 权限,请查看在 Linux 命令行下管理 Samba4 AD 架构 这篇教程的 第 2 步和第 3 步。


作者简介:

我叫 Ravi Saive,TecMint 网站博主。一个喜欢在网上分享技术知识及经验的电脑极客和 Linux 系统专家。我的大多数的服务器都运行在 Linux 开源平台上。关注我:Twitter ,Facebook 和 Google+ 。


via: http://www.tecmint.com/join-additional-ubuntu-dc-to-samba4-ad-dc-failover-replication/

作者:Ravi Saive 译者:rusking 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

在互联网成为一个巨大的、世界性的现象之前,开发团队常常被限制在一个小的物理空间内。如果公司没有资金支持的话,与世界另一方的人合作是一个非常昂贵或几乎不可能的梦想。

幸运的是,情况不再是这样了。互联网诞生了基于网络的解决方案,允许公司组成合作团体,包括彼此相距数千英里的人。

自从 2008 年首次推出以来,Bitbucket 已成为使用 MercurialGit 版本控制系统(VCS)的开发人员团队中越来越受欢迎的选择。

它既提供免费帐户,带有不限数量的私人存储库(每个账户最多 5 个用户),也提供多种付费计划,允许每个帐户有更多用户。此外,标记为“公开”的仓库对可以编辑或读取其内容的人数没有限制。

注册 Bitbucket

要使用 Bitbucket,你需要建立一个免费帐户。要这样做,请进入 https://bitbucket.org/, 然后单击 免费开始 Get started for free 按钮。

首先,你需要输入有效的电子邮件地址,然后点击继续。 你的电子邮件帐户将被验证,如果一切正常,你将被提示输入所需的密码。完成后,再次点击 继续,然后检查你的电子邮件收件箱,以确认你的帐户是否已创建:

Bitbucket Singup

Bitbucket 注册

验证电子邮件地址后,系统会要求你确定用户名。 然后将创建你的帐户,你将会进入 Bitbucket 面板,在那里开始创建团队、项目和仓库:

Bitbucket Dashboard

Bitbucket 面板

如你所见,你可以在几分钟内注册 BitbucketAtlassian 的人简化了这个过程,以便你可以把你的时间真正用在 Bitbucket 上 - 我们下面会进一步讲。

使用 Bitbucket

让我们浏览下注册 Bitbucket 之后必须要做的事情。它们都在顶部菜单中:

Explore Bitbucket Features

探索 Bitbucket 功能

1). 创建一个团队,通过允许多个 Bitbucket 用户共享一个账号计划的方式鼓励协作。

这将允许他们轻松管理团队拥有的仓库。要创建团队,请输入团队名称,并确保团队标识不存在。接下来,输入你要添加到群组的人员的电子邮件地址,并指明是否要将其设为管理员。最后,单击创建

Bitbucket - Create a Team

Bitbucket – 创建一个团队

2) 创建或导入一个仓库

如果你已经使用基于 Git 的解决方案,你可以轻松地将你的仓库导入 Bitbucket。否则,你可以从头创建一个。让我们看看在每种情况下你需要做什么。

要创建新的仓库,请单击 仓库 Repositories 菜单中的 创建仓库 Create repository 选项。为新仓库和要分组到的项目选择一个名称。接下来,指明是否要将其设置为 private 并指定类型(Git 或 Mercurial)。最后,单击创建仓库

Bitbucket - Create a New Repository

Bitbucket – 创建一个新仓库

要导入已有仓库,请从仓库下拉菜单中选择 导入 Import 仓库。要开始导入,请指定源,输入 URL 和所需的登录凭据(如果需要)。

最后,选择新的仓库设置,然后单击导入仓库。忽略有关在指定 URL 处找不到仓库的警告,因为它是虚拟的,仅用于演示目的:

Bitbucket - Import Existing Code

Bitbucket – 导入已有代码

就是这样,很简单吧。

在 Bitbucket 中使用仓库

创建一个新仓库或者导入一个仓库后,它会在面板上展示出来。这时就能执行一些常规操作,如克隆、创建分支、pull request、提交修改、添加 README 文件等等:

Bitbucket - Repository Overview

Bitbucket – 仓库概览

如果想了解如何用仓库工作,或者想要提升你的 git 技能,可以参考 Bitbucket 官方文档

总结

如你所见,不管你是版本管理的新手还是老手,Bitbucket 都能使管理变得更简单。如果你对本文有任何疑问或评论,请不要犹豫让我们知道。我们期待听到你的声音!


作者简介:

我是 Ravi Saive,TecMint 的原创作者。一个喜爱在互联网上分享技巧和提示的计算机 geek 和 Linux 老手。我的大多数服务运行在 Linux 开源平台上。请在 Twitter、Facebook、Google+ 上关注我。


via: http://www.tecmint.com/bitbucket-for-version-control/

作者:Ravi Saive 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

MySQL Cluster.me 开始提供基于 Galera Replication 技术的 MySQLMariaDB 集群服务。

在本文中我们将会讨论 MySQLMariaDB 集群服务的主要特性。

MySQL集群服务

MySQL 集群服务

什么是 MySQL 集群

如果你曾经疑惑过如何提升 MySQL 数据库的可靠性和可扩展性,或许你会发现其中一个解决办法就是通过基于 Galera Cluster 技术的 MySQL 集群解决方案。

这项技术使得你可以在一个或者多个数据中心的多个服务器上获得经过同步的完整 MySQL 数据副本。这可以实现数据库的高可用性 - 当你的一个或者多个数据库服务器崩溃后,仍然能够从其它剩余服务器上获得完整的服务。

需要注意的是在 MySQL 集群中需要至少 3 台服务器,因为当其中一台服务器从崩溃中恢复的时候需要从仍然存活的两台服务器中选择一个捐赠者拷贝一份数据,所以为了能够从崩溃中顺利恢复数据,必须要保证两台在线服务器以便从中恢复数据。(LCTT 译注:在捐赠者提供复制数据时,另外一台可以不停顿地提供服务)

同样,MariaDB 集群和 MySQL 集群在本质上是相同的,因为 MariaDB 是基于 MySQL 开发的一个更新、更优化的版本。

MySQL集群与Galera复制技术

MySQL 集群与 Galera 复制技术

什么是 MySQL 和 MariaDB 集群服务?

MySQL 集群服务提供了能够同时解决可靠性和可扩展性的方案。

首先,集群服务使你能够忽略任何数据中心引起的问题,并能获得高达 100% 正常运行时间的数据库高可用性。

其次,将乏味无趣的 MySQL 集群相关管理工作外包出去,能够使你更加专注于业务工作。

事实上,独立管理一个集群需要你能够完成以下所有工作:

  1. 安装和设置集群 – 这可能需要一个有经验的数据库管理员花费数小时来设置一个可用的集群。
  2. 集群监控 – 必须使用一种方案 24 * 7 监控集群运作,因为很多问题都可能发生-集群不同步、服务器崩溃、硬盘空间满等。
  3. 优化及调整集群大小 – 当你管理了很大的数据库时,调整集群大小将会是一个巨大的挑战。处理这个任务时需要格外小心。
  4. 备份管理 – 为了防止集群失败带来的危险,你需要备份集群数据。
  5. 解决问题 – 你需要一个经验丰富的工程师来对集群进行优化及解决相关问题。

但是现在你只需要通过使用 MySQLcluster.me 团队提供的 MySQL 集群服务就可以节省大量的时间和金钱。

MySQLcluster.me 提供的 MySQL 集群服务包括了哪些内容?

除了很多高可用性数据服务提供的 100% 可用性外,你还将获得如下保证:

  1. 任何时候都可以调整 MySQL 集群大小 – 你可以增加或者减少集群资源(包括 RAM、CPU、DISK)以便满足业务尖峰需求。
  2. 优化硬盘和数据库的性能 – 硬盘能够达到10000 IOPS,这对数据库操作十分重要。
  3. 数据中心选择 – 你可以选择将集群布置在哪个数据中心。当前支持的数据中心有:Digital Ocean、 Amazon AWS、 RackSpace、 Google Compute Engine。
  4. 24×7 集群服务支持 – 我们的团队能够为你集群上发生的任何问题提供支持,甚至包括对你的集群架构提供建议。
  5. 集群备份 – 我们团队会为你设置备份,这样你的集群数据能够每天备份到安全的地方。
  6. 集群监控 – 我们团队设置了自动监控以便能够及时发现你的集群出现的问题,并提供支持,哪怕你并没有在值班。

拥有自己的 MySQL 集群会有很多优势,但是需要你足够耐心和有经验才行。

MySQL Cluster 团队联系以便找到适合你的工具包.


作者简介:

我是 Ravi Saive,开发了 TecMint。电脑极客和 Linux 专家,喜欢分享关于互联网的建议和点子。我的大部分服务都运行在开源平台 Linux 上。关注我的 Twitter、Facebook 和 Google+。


via: http://www.tecmint.com/getting-started-with-mysql-clusters-as-a-service/

作者:Ravi Saive 译者:beyondworld 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出