安装 MAC OS X 主题会帮助你的 Ubuntu 14.04 看起来更像MAC OS X。在这里我们介绍的Macbuntu安装包包含了GTK 主题,这些主题是专门为ubuntu unity定制的。图标主题可以为ubuntu 14.04使用,包括登陆界面引导启动的背景,登陆用户,甚至包括了lightdm 使用webkit的登陆界面。这个安装包是nobslab在bluedxca93的帮助下从gnome-look.org网站上开发的。
最终效果图
files:
music
第一步:下载壁纸
预览图:
第一步要做的事仅仅是下载Mac OS X 的壁纸,下载连接在 这里这个压缩包的大小有39.2MB。 解压之后右键点击桌面->修改背景图片->选择下载的背景
wget https://pypi.python.org/packages/source/D/Django/Django-1.6.5.tar.gz#md5=e4c5b2d35ecb3807317713afa70a0c77
cd Django-1.6.5
python setup.py build
python setup.py install
# 或者使用pip在线安装
pip --default-timeout=2000 install Django==1.6.5
8、 安装mysql组件
easy_install mysql-python
创建reviewboard站点
创建reviewboard存放数据的数据库reviewboard并赋予权限和密码
mysql> create database reviewboard default charset utf8 collate utf8_general_ci;
mysql> grant all on reviewboard.* to 'reviewboard'@'localhost' identified by 'reviewboard';
mysql> FLUSH PRIVILEGES;
创建reviewboard站点
rb-site install /reviewboard
rb-site命令是装reviewboard自动生成的
之后会有一系列类似安装向导的步骤,需要你做出选择,尽量选择默认值吧
Domain = rb.XXX.com 自己随意,本地做个hosts绑定就行
Root Path = 回车
Database Type = mysql
Database Name = reviewboard
Database server = 回车
Database username = 'reviewboard'
Database password = 'reviewboard'
Memcache Server = 回车
Username [admin]: admin
E-Mail Address = 邮箱自己填
[root@ipython ~]# wget http://nchc.dl.sourceforge.net/project/tripwire/tripwire-src/tripwire-2.4.2.2/tripwire-2.4.2.2-src.tar.bz2[root@ipython ~]# tar jxf tripwire-2.4.2.2-src.tar.bz2
[root@ipython ~]# cd tripwire-2.4.2.2-src
[root@ipython tripwire-2.4.2.2-src]#./configure --prefix=/software/tripwire
[root@ipython tripwire-2.4.2.2-src]# make
[root@ipython tripwire-2.4.2.2-src]# make install
############INSTALL 交互#################Press ENTER to view the LicenseAgreement. ###回车阅读协议
license agreement.[donot accept] accept ###同意协议Continuewith installation?[y/n] y ###确认继续安装Enter the site keyfile passphrase: ###需要记住的keyfileVerify the site keyfile passphrase: ###重复Enter the local keyfile passphrase: ###需要记住的local keyfileVerify the local keyfile passphrase: ###重复Please enter your site passphrase: ###输入Please enter your site passphrase: ###输入############交互结束,完成安装#################[root@ipython tripwire-2.4.2.2-src]# ls /software/tripwire/etc/| sort
ipython.me-local.key ####加密本地密钥文件
site.key ####加密站点密钥文件
tw.cfg ####加密配置变量文件
tw.pol ####加密策略文件
twcfg.txt ####定义数据库、策略文件和Tripwire可执行文件的位置
twpol.txt ####定义检测的对象及违规时采取的行为
2、初始化(生成基准数据库)
[root@ipython ~]#/software/tripwire/sbin/tripwire --init
Please enter your local passphrase:###键入密码,后面省略此交互......Wrote database file:/software/tripwire/lib/tripwire/ipython.me.twd
The database was successfully generated.
###更新策略稳健,需要修改策略的规则,先将策略重定向出来###[root@ipython ~]#/software/tripwire/sbin/twadmin --print-polfile > twpol.txt
###照猫画虎修改吧,然后update###[root@ipython ~]#/software/tripwire/sbin/tripwire --update-policy twpol.txt
Parsing policy file:/root/twpol.txt
Please enter your local passphrase:Please enter your site passphrase:
grep wheezy changelog.Debian
linux (3.2.57-3) wheezy; urgency=medium
linux (3.2.57-2) wheezy; urgency=medium
linux (3.2.57-1) wheezy; urgency=medium
linux (3.2.54-2) wheezy; urgency=high
linux (3.2.54-1) wheezy; urgency=high
linux (3.2.53-2) wheezy; urgency=high
linux (3.2.53-1) wheezy; urgency=medium
linux (3.2.51-1) wheezy; urgency=low
linux (3.2.46-1+deb7u1) wheezy-security; urgency=low
linux (3.2.46-1) wheezy; urgency=low
linux (3.2.41-2+deb7u2) wheezy-security; urgency=high
linux (3.2.41-2+deb7u1) wheezy-security; urgency=high
“不会用就别怪系统不好。推荐 Debian/Ubuntu 跑 Server 是一件很不负责的事情。”
任何 Linux 发行版本,在理论上都是一样的。只不过操作有的方便,有的麻烦!是,yum 是比 apt 弱(这就是企业维护和社区维护的区别,企业自己维护不需要这么多功能)但是任何能在 A 发行版本上实现的效果,一定是能在 B 上实现的。你甚至可以按照玩 Gentoo 的思路玩 CentOS,编译么!你自己打 RPM 啊,你自己缩减依赖关系啊,你可以说麻烦,但是你不可能说不能实现。
虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。 VRRP 包封装在 IP 包中发送。
puppet parser validate logserver.pp
Error: Could not parse for environment production: Syntax error at 'eth0_netmask' at sunfire/manifests/logserver.pp:6:3
puppet-lint manifests/init.pp
WARNING: class inheriting from params class on line 339
WARNING: line has more than 80 characters on line 47
WARNING: line has more than 80 characters on line 167
如果你希望检查整个puppet mainifest目录,你需要添加: require ‘puppet-lint/tasks/puppet-lint’ 到Rakefile里,然后运行rake lint即可。 在某些情况下,你不得不关闭某些检查,例如,想要关闭80 character check,你可以如下运行:
it { should contain_package('keystone').with(
'ensure' => param_hash['package_ensure']
) }
it { should contain_group('keystone').with(
'ensure' => 'present',
'system' => true
) }
it { should contain_user('keystone').with(
'ensure' => 'present',
'gid' => 'keystone',
'system' => true
) }
随后执行rspec来验证这些测试能否通过。
如果希望集成到rake命令中去,我们可以在Rakefile里添加:
require 'puppetlabs_spec_helper/rake_tasks'
随后使用以下命令来完成相应的spec执行模块测试:
rake spec # Run spec tests in a clean fixtures directory
rake spec_clean # Clean up the fixtures directory
rake spec_prep # Create the fixtures directory
rake spec_standalone # Run spec tests on an existing fixtures directory
几乎所有 Linux 内核开发者都是活跃的 Linux 用户。内核测试人员不一定非得是内核开发者,相反,用户和开发者如果对新增的代码不是很熟悉,他们的测试效果会比代码开发人员自己测试的效果要好很多。也就是说,开发者的单元自测能验证软件的功能,但并不能保证在其他代码、其他功能、其他软件、硬件环境下面运行时会出现什么问题。开发者无法预料、也没有机会和资源来测试所有环境。因此,用户在 Linux 内核开发过程中起到非常重要的角色。
这份教程介绍如何测试和调试 Linux 内核、工具、脚本以及在回归测试和集成测试中使用的调试机制。另外,本文还会介绍如何使用 git 把针对一个 bug 的补丁分离出来,再介绍把你的补丁提交到内核的邮件列表之前需要做些什么。我将会使用 Linux PM 作为测试它调试的对象。尽管本文讨论的是 Linux 内核,但是介绍的方法也适用于任何其他软件开发项目。
配置开发与测试的系统
第一步,找一个满足你需求的开发环境,x86-64 是一个比较理想的选择,除非你必须用特别的架构。
第二步,安装 Linux 发行版,我推荐 Ubuntu,所以本教程会介绍基于 Ubuntu 的配置过程。你可以参考如何使用 Ubuntu 来安装一个 Ubuntu 系统。
access_log /var/log/squid/access.log
temporary_dir /tmp
output_dir /var/www/html/squid-reports
date_format e ## We use Europian DD-MM-YYYY format here ##
## we don’t want multiple reports for single day/week/month ##
overwrite_report yes
mysql> use Tecmint;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> SELECT * FROM mail WHERE user = SAM AND root = phil
‘!=’和OR运算符的例子
mysql> SELECT * FROM mail WHERE user != SAM OR root != phil
+---------------------+---------+---------+---------+---------+-------+
| date | user | host | root | local | size |
+---------------------+---------+---------+---------+---------+-------+
| 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 |
+---------------------+---------+---------+---------+---------+-------+
mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
+---------+---------+
| name | id |
+---------+---------+
| bernina | 198-48 |
| bertha | Unknown |
| ben | Unknown |
| bill | 475-83 |
+---------+---------+
5. 如果你只想知道从一个结果集的开头或者结尾开始的特定几条记录,该如何实现?
答:我们需要把LIMIT语句接在ORDER BY语句后使用,以达到上述效果。
显示一行记录
mysql> SELECT * FROM name LIMIT 1;
+----+------+------------+-------+----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
+----+------+------------+-------+----------------------+------+
显示5行记录
mysql> SELECT * FROM profile LIMIT 5;
+----+------+------------+-------+-----------------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+-----------------------+------+
| 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 |
| 2 | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3 |
| 3 | Brit | 1957-12-01 | red | burrito,curry,pizza | 1 |
| 4 | Carl | 1973-11-02 | red | eggroll,pizza | 4 |
| 5 | Sean | 1963-07-04 | blue | burrito,curry | 5 |
+----+------+------------+-------+-----------------------+------+
显示按照ORDER BY排序后的第一条记录
mysql> SELECT * FROM profile ORDER BY birth LIMIT 1;
+----+------+------------+-------+----------------+------+
| id | name | birth | color | foods | cats |
+----+------+------------+-------+----------------+------+
| 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 |
+----+------+------------+-------+----------------+------+