Linux 发行版众多,大家除了可以基于发行版的流行程度进行选择外,也可适当留意该发行版的特定用途,或许在另外的场合该发行版正是你所需要的。今天我们将与大家分享 10 个具有特殊用途的 Linux 发行版,希望对你有用。 Scientific Linux 基于 Redhat,由两个科学研究机构 Fermilab 和 CERN 合作开发,适合对科学研究感兴趣的个人或团体。 官方主页:https://www.scientificlinux.org Scibuntu 与此类似,它基于 Ubuntu,目前仍在测试中。 Edubuntu Ubuntu 的官方衍生版之一,面向教育用户,适合学校使用。 如果是 3 岁以上的儿童,也可考虑 Qimo。 官方主页:http://www.edubuntu.com Backtrack 主要用于渗透测试的一个安全发行版,其中囊括了 300 多个工具,可说是安全人员的得力助手。 官方主页:http://www.backtrack-linux.org/ Parted Magic 非常好用的硬盘分区工具,另外也收录了许多实用的数据恢复工具。运行速度飞快,每次给朋友修电脑我都会带上它。 官方主页:http://partedmagic.com Ubuntu Studio 又一个 Ubuntu 官方的衍生版,适合音频、视频及图形发烧友或专业人士使用,其中预装了大量开源的多媒体应用程序。 官方主页:http://ubuntustudio.org Clonezilla 系统克隆工具,能够克隆单个分区或整个系统。另外,它也支持 Multicast 克隆,这对需要克隆大量系统的用户来说是相当有用的。可以用它来替代 Norton Ghost 这样的商业软件。 官方主页:http://www.clonezilla.org SystemRescueCd 系统急救工具箱,如果你的系统遇到了故障,或是要恢复数据,用它就对了。系统管理必备。 官方主页:http://www.sysresccd.org linuX-gamers 一个包含大量 Linux 游戏的 Live 发行版。无需安装。Linux 游戏玩家不可错过。 官方主页:http://live.linux-gamers.net Ubuntu CE Ubuntu Christian 版本,适合基督徒使用。 另外也有一个 UbuntuME,即 Ubuntu Muslim Edition,适合穆斯林用户使用。 官方主页:http://ubuntuce.com Mythbuntu 基于 MythTV 的家庭多媒体中心,可以作为 Tivo 和 Windows Media Center 的替代。 转自Ubuntu之家
View Details也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令 的一个延伸。 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户。在这里你将学会如何进行自定义搜索,知道正在进行的进程和停掉进程,如何使用Linux的强势功能和如何在系统内编译C,C++和JAVA程序。
View Details你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现我的世界里了。从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳。我担心该记住多少命令,来帮助我完成所有任务。毫无疑问,在线文档,书籍,man pages以及社区帮了我一个大忙,但是我还是坚信有那么一篇文章记录了如何简单学习和理解命令的秘籍。这激发了我掌握Linux和使它容易使用的积极性。本文就是通往那里的阶梯。 1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。 1 root@tecmint:~# ls 2 3 Android-Games Music 4 Pictures Public 5 Desktop Tecmint.com 6 Documents TecMint-Sync 7 Downloads Templates “ls -l”命令已详情模式(long listing fashion)列出文件夹的内容。 01 root@tecmint:~# ls -l 02 03 total 40588 04 drwxrwxr-x 2 ravisaive ravisaive 4096 May 8 01:06 Android Games 05 drwxr-xr-x 2 ravisaive ravisaive 4096 May 15 10:50 Desktop 06 drwxr-xr-x 2 ravisaive ravisaive 4096 May 16 16:45 Documents 07 drwxr-xr-x 6 ravisaive ravisaive 4096 May 16 14:34 Downloads 08 drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 […]
View Details摘要:大部分Linux开发者对vi命相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率。 在使用vi 编辑器时—无论是初次使用的用户,还是有经验的用户—大多数人往往只掌握核心命令集,这些命令可以执行最常用的功能:导航或保存文件;插入、更新、删除或搜索数据;退出但不保存修改。 但是,vi 编辑器极其强大,特性和功能非常丰富。即使在多年使用vi 之后,您仍然可能会发现有不知道的新命令。本文讨论的命令就属于不太为人所知的命令,但是它们可以简化您目前采用的操作方法,让您的工作方式更高效,或者 让您能够完成原来不知道可以用vi 完成的操作。 打开和关闭行号 vi 编辑器的许多选项可以控制编辑会话的外观和感觉。使用 :set 命令修改vi 中的会话设置。按 Escape 键进入命令模式之后,可以使用 :set all 命令显示选项和设置的列表。可以设置的选项之一是 number,它的作用是打开和关闭行号 # # Internet host table # ::1 localhost 127.0.0.1 localhost loghost 192.168.0.6 centos5 192.168.0.10 appserv 192.168.0.11 webserv 192.168.0.12 test 192.168.0.5 solaris10 # Added by DHCP ~ ~ ~ :set number 这个vi命令 在当前编辑的文件中的每个记录上显示行号。让vi 进入命令模式之后,可以输入 :set number 并按回车来打开行号 # # Internet host table # ::1 localhost […]
View Details大家都认为 Linux 默认是安全的,我大体是认可的 (这是个有争议的话题)。Linux默认确实有内置的安全模型。你需要打开它并且对其进行定制,这样才能得到更安全的系统。Linux更难管理,不过相应也更灵活,有更多的配置选项。 对于系统管理员,让产品的系统更安全,免于骇客和黑客的攻击,一直是一项挑战。这是我们关于“如何让Linux系统更安全” 或者 “加固Linux系统“之类话题的第一篇文章。本文将介绍 25个有用的技巧和窍门 ,帮助你让Linux系统更加安全。希望下面的这些技巧和窍门可以帮助你加强你的系统的安全。 1. 物理系统的安全性 配置BIOS,禁用从CD/DVD、外部设备、软驱启动。下一步,启用BIOS密码,同时启用GRUB的密码保护,这样可以限制对系统的物理访问。 通过设置GRUB密码来保护Linux服务器 2. 磁盘分区 使用不同的分区很重要,对于可能得灾难,这可以保证更高的数据安全性。通过划分不同的分区,数据可以进行分组并隔离开来。当意外发生时,只有出问题的分区的数据才会被破坏,其他分区的数据可以保留下来。你最好有以下的分区,并且第三方程序最好安装在单独的文件系统/opt下。
1 2 3 4 5 6 7 |
/ /boot /usr /var /home /tmp /opt |
3. 最小包安装,最少漏洞 你真的需要安装所有的服务么?建议不要安装无用的包,避免由这些包带来的漏洞。这将最小化风险,因为一个服务的漏洞可能会危害到其他的服务。找到并去除或者停止不用的服务,把系统漏洞减少到最小。使用‘chkconfig‘命令列出运行级别3的运行所有服务。
1 |
# /sbin/chkconfig --list |grep '3:on' |
当你发现一个不需要的服务在运行时,使用下面的命令停止这个服务。
1 |
# chkconfig serviceName off |
使用RPM包管理器,例如YUM或者apt-get 工具来列出所有安装的包,并且利用下的命令来卸载他们。
1 |
# yum -y remove package-name |
1 |
# sudo apt-get remove package-name |
5 chkconfig Command Examples 20 Practical Examples of RPM Commands 20 Linux YUM Commands for Linux Package Management 25 APT-GET and APT-CACHE Commands to Manage Package Management 4. 检查网络监听端口 在网络命令 ‘netstat‘ 的帮助下,你将能够看到所有开启的端口,以及相关的程序。使用我上面提到的 ‘chkconfig‘ 命令关闭系统中不想要的网络服务。
1 |
# netstat -tulpn |
Linux 网络管理中的 20 条 Netstat 命令 5. 使用 SSH(Secure Shell) Telnet 和 rlogin 协议只能用于纯文本,不能使用加密的格式,这或将导致安全漏洞的产生。SSH 是一种在客户端与服务器端通讯时使用加密技术的安全协议。 除非必要,永远都不要直接登录 root 账户。使用 “sudo” 执行命令。sudo 由 /etc/sudoers 文件制定,同时也可以使用 “visudo” 工具编辑,它将通过 VI 编辑器打开配置文件。 […]
View DetailsVarnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。 Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。[1] varnish项目是2006年发布的第一个版本0.9.距今已经四年多了,此文档之前也提过varnish还不稳定,那是2007年时候编写的,经过varnish开发团队和网友们的辛苦耕耘,现在的varnish已经很健壮。很多门户网站已经部署了varnish,并且反应都很好,甚至反应比squid还稳定,且效率更高,资源占用更少。相信在反向代理,web加速方面,varnish已经有足够能力代替squid。 官网:https://www.varnish-cache.org/
View DetailsOpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。 SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。 (注:有些内容较长的命令,在本文中会显示为截断的状态。如果你需要阅读完整的命令,可以把整行复制到您的记事本当中阅读。) 1、复制SSH密钥到目标主机,开启无密码SSH登录
1 |
ssh-copy-id user@host |
如果还没有密钥,请使用ssh-keygen命令生成。 2、从某主机的80端口开启到本地主机2001端口的隧道
1 |
ssh -N -L2001:localhost:80 somemachine |
现在你可以直接在浏览器中输入http://localhost:2001访问这个网站。 3、将你的麦克风输出到远程计算机的扬声器
1 |
dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp |
这样来自你麦克风端口的声音将在SSH目标计算机的扬声器端口输出,但遗憾的是,声音质量很差,你会听到很多嘶嘶声。 4、比较远程和本地文件
1 |
ssh user@host cat /path/to/remotefile | diff /path/to/localfile – |
在比较本地文件和远程文件是否有差异时这个命令很管用。 5、通过SSH挂载目录/文件系统
1 |
sshfs name@server:/path/to/folder /path/to/mount/point |
从http://fuse.sourceforge.net/sshfs.html下载sshfs,它允许你跨网络安全挂载一个目录。 6、通过中间主机建立SSH连接
1 |
ssh -t reachable_host ssh unreachable_host |
Unreachable_host表示从本地网络无法直接访问的主机,但可以从reachable_host所在网络访问,这个命令通过到reachable_host的“隐藏”连接,创建起到unreachable_host的连接。 7、将你的SSH公钥复制到远程主机,开启无密码登录 – 简单的方法
1 |
ssh-copy-id username@hostname |
8、直接连接到只能通过主机B连接的主机A
1 |
ssh -t hostA ssh hostB |
当然,你要能访问主机A才行。 9、创建到目标主机的持久化连接
1 |
ssh -MNf <user>@<host> |
在后台创建到目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用:
1 2 3 |
Host host ControlPath ~/.ssh/master-%r@%h:%p ControlMaster no |
所有到目标主机的SSH连接都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs/svn),这个命令将非常有用,因为每次打开一个SSH连接时不会创建新的套接字。 10、通过SSH连接屏幕
1 |
ssh -t remote_host screen –r |
直接连接到远程屏幕会话(节省了无用的父bash进程)。 11、端口检测(敲门)
1 |
knock <host> 3000 4000 5000 && ssh -p <port> user@host && knock <host> 5000 4000 3000 |
在一个端口上敲一下打开某个服务的端口(如SSH),再敲一下关闭该端口,需要先安装knockd,下面是一个配置文件示例。
1 2 3 4 5 6 7 8 9 10 11 12 |
[options] logfile = /var/log/knockd.log [openSSH] sequence = 3000,4000,5000 seq_timeout = 5 command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 5000,4000,3000 seq_timeout = 5 command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT tcpflags = syn |
12、删除文本文件中的一行内容,有用的修复
1 |
ssh-keygen -R <the_offending_host> |
在这种情况下,最好使用专业的工具。 13、通过SSH运行复杂的远程shell命令
1 |
ssh host -l user $(<cmd.txt) |
更具移植性的版本:
1 |
ssh host -l user “`cat cmd.txt`” |
14、通过SSH将MySQL数据库复制到新服务器
1 |
mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost “mysql -uUSER -pPASS NEW_DB_NAME” |
通过压缩的SSH隧道Dump一个MySQL数据库,将其作为输入传递给mysql命令,我认为这是迁移数据库到新服务器最快最好的方法。 15、删除文本文件中的一行,修复“SSH主机密钥更改”的警告
1 |
sed -i 8d ~/.ssh/known_hosts |
16、从一台没有SSH-COPY-ID命令的主机将你的SSH公钥复制到服务器
1 |
cat ~/.ssh/id_rsa.pub | ssh user@machine “mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys” |
如果你使用Mac OS X或其它没有ssh-copy-id命令的*nix变种,这个命令可以将你的公钥复制到远程主机,因此你照样可以实现无密码SSH登录。 17、实时SSH网络吞吐量测试
1 |
yes | pv | ssh $host “cat > /dev/null” |
通过SSH连接到主机,显示实时的传输速度,将所有传输数据指向/dev/null,需要先安装pv。 如果是Debian:
1 |
apt-get install pv |
如果是Fedora:
1 |
yum install pv |
(可能需要启用额外的软件仓库)。 18、如果建立一个可以重新连接的远程GNU screen
1 |
ssh -t user@some.domain.com /usr/bin/screen –xRR |
人们总是喜欢在一个文本终端中打开许多shell,如果会话突然中断,或你按下了“Ctrl-a d”,远程主机上的shell不会受到丝毫影响,你可以重新连接,其它有用的screen命令有“Ctrl-a c”(打开新的shell)和“Ctrl-a a”(在shell之间来回切换),请访问http://aperiodic.net/screen/quick_reference阅读更多关于screen命令的快速参考。 19、继续SCP大文件
1 |
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file |
它可以恢复失败的rsync命令,当你通过VPN传输大文件,如备份的数据库时这个命令非常有用,需要在两边的主机上安装rsync。
1 |
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file local -> remote |
或
1 |
rsync –partial –progress –rsh=ssh $user@$host:$remote_file $destination_file remote -> local |
20、通过SSH W/ WIRESHARK分析流量
1 |
ssh root@server.com ‘tshark -f “port !22″ -w -' | wireshark -k -i – |
使用tshark捕捉远程主机上的网络通信,通过SSH连接发送原始pcap数据,并在wireshark中显示,按下Ctrl+C将停止捕捉,但也会关闭wireshark窗口,可以传递一个“-c #”参数给tshark,让它只捕捉“#”指定的数据包类型,或通过命名管道重定向数据,而不是直接通过SSH传输给wireshark,我建议你过滤数据包,以节约带宽,tshark可以使用tcpdump替代:
1 |
ssh root@example.com tcpdump -w – ‘port !22′ | wireshark -k -i – |
21、保持SSH会话永久打开
1 |
autossh -M50000 -t server.example.com ‘screen -raAd mysession’ |
打开一个SSH会话后,让其保持永久打开,对于使用笔记本电脑的用户,如果需要在Wi-Fi热点之间切换,可以保证切换后不会丢失连接。 […]
View Details如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理。也许你注意到了,在Liunx安装发布包里没有磁盘碎片整理的工具。为什么会这样? 为了理解为什么Linux文件系统不需要磁盘碎片整——而Windows却需要——你需要理解磁盘碎片产生的原理,以及Linux和Windows文件系统它们之间工作原理的不同之处。 什么是磁盘碎片 很多Windows用户,甚至是没有经验的用户,都深信经常对文件系统进行碎片整理会提高计算机的速度。但并不是很多人知道这其中的原委。 简单的说,磁盘驱动器上有很多扇区,每个扇区都能存放一小段数据。文件,特别是大文件的存储需要占用很多不同的扇区。假设现在你有很多个文件存在的文件系统里,每个文件都会被存储在一系列连续的扇区里。后来你更新了其中的一个文件,它的体积变大了。文件系统会尝试把文件新增的部分存放到紧邻原始文件的扇区里。可不幸的是,它周边已经没连续的足够扇区空间了,文件需要被分割成数段——这些都在自动进行的。当从磁盘上读取这个文件时,磁盘磁头需要跨越数个不同的物理位置来读取各个扇区——这样会使速度降低。 磁盘碎片整理就是小心的移动这些小文件块来减少碎片,让每个文件都能连续的分布在磁盘上。 当然,如果是固态硬盘,那情况又不同了,固态硬盘没有机械移动,不应该进行碎片整理——对一个U盘进行碎片整理通常会降低它的寿命。在最新版的Windows系统里,你实际上不需要关心系统上的碎片——Windows会自动替你整理。 Windows文件系统的工作原理 微软老的FAT文件系统——最后一次使用是在Windows 98 和 Window ME上,可如今的U盘上还在使用它——并不会智能的管理文件。当你把一个文件存入FAT文件系统里时,系统会尽量的把它存到靠近磁盘开始的地方。当你存入第二个文件时,它会紧接着第一个文件——一个接着一个。当原始文件体积变大后,它们一定会产生碎片。根本没有留给它们增长的空间。 微软新的NTFS文件系统——使用在装有Windows XP和2000的PC机上——稍微智能了一点。它会在磁盘上在文件周围分配一些“缓冲”的空闲空间,尽管如此,任何Windows用户都会告诉你,经过一段时间的使用后,NTFS文件系统还是会形成碎片。 由于这些文件系统的工作原理,它们注定需要进行碎片整理来保持高性能。微软在它最新的视窗系统里通过在后台运行一个磁盘碎片整理进程来解决这个问题。 Linux文件系统的工作原理 Linux的ext2, ext3, 和 ext4 文件系统 ——Ubuntu和大多数最新的Linux发布版中使用的是ext4——采用了一种更聪明的方法来存放文件。与把多个文件并排放在磁盘上不同,Linux文件系统把所有文件都分散到了整个磁盘上,每两个文件之间都留有相当巨大的空闲空间。当文件被修改、体积增加时,它们通常有足够的空间来扩展。一旦有碎片产生时,文件系统会尝试移动整个文件来消除碎片,所以你不需要一个碎片整理工具。 因为这种工作方式,当磁盘快要装满时,你开始会发现有碎片开始产生。如果已用空间超过95%(甚至80%),你会发现碎片开始变多。但不管怎样,这个文件系统的设计会使正常情况下不产生碎片。 如果你在Linux系统上遇到了磁盘碎片问题,你很可能需要一个更大的硬盘了。如果你真想整理一个文件系统,这最简单的方式也许是最可靠的方式:把文件从这个分区里考出,删除这些文件,然后考回这些文件。当你把文件考回硬盘时,文件系统会智能为文件分配存储空间。 你可以使用 fsck 命令来查看Linux文件系统上的磁盘碎片情况——在输出结果里寻找“non-contiguous inodes”信息。 [英文原文:Why Linux Doesn’t Need Defragmenting ]
View Detailseclipse是我非常喜欢的IDE,开源+免费+功能强大+跨平台+跨语言+插件机制,虽然有时候也会有这样那样的问题,但是作为主力开发IDE,eclipse已经非常足够了。 第1步,安装JRE:sudo apt-get install sun-java6-jre 第2步,下载eclipse: http://www.eclipse.org/downloads/ 找到其中Eclipse Classic 3.*.*.*,选择linux版,因为eclipse是绿色版的,所以下载下来解压就可以使用了。 第3步,打开eclipse:先chmod 777 -R ./给予eclipse文件夹足够的权限,否则会报错, 然后会要求选择开发目录,直接指定php的开发根目录就可以,配置地址在Windows –>Preferences,面板很多,功能混乱,eclipse的使用估计要适应一段时间的,但是相信我,没有比这更好的IDE了。 第4步,安装WST(Web Standard Tools)等基础环境:eclipse的插件非常多,先要安装一些基础插件,按照路径Help –>Softwear Updates –>Find and Install –> Search for new features to install 选中Europa Discovery Site(我的是3.3版本的eclipse)–>Finish –>开始搜索相关的可更新项,如果要求选择服务器,看看有没有shanghai,有的选上海–>出现Europa Discovery Site的根目录,翻里面的Web and J2EE Develepment里面的WST,选种以后会提示你缺少另一个插件,这时候点右侧的Select Required,就会自动找到所有需要的插件 –>Finish 后面安装完就可以了。 第5步,安装PDT:php在eclipse下面有两个插件:phpeclipse和PDT,现在PDT发展的比较好。按照路径Help –>Softwear Updates –>Find and Install –> Search for new features to install,点击右侧的New Remote Site,为左侧选择框添加PDT的在线安装地址,地址为:http://download.eclipse.org/tools/pdt/updates/release 后面的安装方法和第4步一样。 第6步,安装subeclipse:用subversion做版本控制的朋友可以用这个插件,直接在http://subclipse.tigris.org/里面找在线安装的地址,然后学第5步的方法安装。 第7步,安装Aptana:Aptana里面的一些web开发工具比较不错,这里建议安装:在线安装的地址是:http://update.aptana.com/update/studio/3.2 转自:http://blog.csdn.net/hhq163/article/details/6904244
View Details