linux中国_ 发布的文章

怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子。

假设 dir1 和 dir2 目录中分别有3个子目录a,b和c.目录布局如下所示:

Layout of input directories 输入目录布局

在目录a,b和c中有一些文件,tree命令的输出将能更好的说明:

Layout of files 文件布局

1. 使用cp命令创建合并:

现在我们将这两个目录合并成一个名为"merged"新的目录中.完成上述操作最简单的方式就是递归复制目录,如下图所示:

Copy directories recursively to create new merge 递归复制完成新的合并

1.1 cp命令和替换带来的问题:

这种方式所带来的问题是该合并目录中所创建的文件为原文件的副本,并非原文件本身.别急, (你可能正在问自己) 如果不是原文件又有什么问题? 要回答你的问题,考虑下你有很多大文件的情况.那种情形下,复制所有的文件可能花费数小时。

现在让我们回到刚那问题上,且尝试使用mv命令而不是cp命令。

Attempt to merge with mv command 企图使用mv命令进行合并操作

这些目录不能被合并.因此我们不能像这样使用mv命令去合并目录. 现在你该怎样将原文件保存到"merged"目录中?

2. 解决方法:

cp命令有一个非常有用的选项来帮助我们摆脱这种状况. cp命令的-l 或 --link选项能够创建硬链接而非原文件副本.让我们尝试一下。

在我们尝试cp命令的硬链接选项前,让我们查看一下原文件的inode号码. 可通过tree命令--inodes选项来查看inodes:

Display inodes of original files 原文件的inodes

现在我们有了inodes的列表,对于cp命令可通过--link选项创建硬链接:

Merge directories with hard links 使用硬链接合并的目录

2.1 验证文件:

现在文件已经被复制,让我们验证一下inodes是否和原文件匹配:

Verify Inodes Verify Inodes

2.2 清除:

正如你所看到的,这些文件的inodes和原文件的一样。现在问题已经解决,且原文件已被复制到合并目录中.现在我们能够移除dir1和dir2目录。

Remove original directories 移除原始目录


via: http://linoxide.com/linux-command/merge-directory-trees-linux/

原文作者:Raghu

译者:hunanchenxingyu 校对:Caroline

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

声音问题在Ubuntu中是老生常谈了。先前我已经在修复Ubuntu中的“无声”问题一文中写到了多种方法,但是我在此正要谈及的声音问题跟在另外一篇文章中提到的有所不同。

因此,我安装了Ubuntu 14.04,实际上是重新安装了一遍。一如既往,我将全新安装Ubuntu 14.04后要做的事全部又重新做了一遍。然后,我意识到系统突然失声了。当我正侦查问题所在之时,我发现了一件奇怪的事情。我检查了alsamixer,发现它的状况有点离奇。

正如你能看到的,alsamixer中默认设置了HDMI。这意味着默认情况下将使用HDMI输出,而不是内置扬声器。这就是我从系统上内置扬声器无法获得声音的原因。

使用下面的命令来检查alsamixer的状态:

alsamixer

如果alsamixer默认设置成了HDMI或者其它声音输出,那就继续读下去吧,看看我们是怎么来修复这个问题的。

修复默认设置成HDMI时Ubuntu的失声问题

现在来强制Ubuntu使用模拟输出来取代默认的HDMI,但我们还需要一点点信息。打开终端,然后使用下列命令:

aplay -l

这会列出设备,卡号之类的东西。注意,向下检查模拟输出使用的卡和设备编号。我的输出如下所示:

一旦你取得了所需的卡和设备编号,重新构建一个配置文件:

sudo gedit /etc/asound.conf

上面的命令也会打开文件,将下面两行添加进去,当然将卡和设备编号替换成你自己的:

defaults.pcm.card 1
defaults.pcm.device 0

保存文件,并重启计算机。现在,你应该听到声音了吧。需要提一下的是,这对所有的Linux发行版都有效,如Linux Mint,Elementary OS,Fedora,Arch Linux等等都可以。正如我之前所说,该“失声疗法”仅针对HDMI被设置为默认设备的情况。对于其它情况,你可以阅读关于在Ubuntu和Linux Mint中修复失声问题这篇文章

您可以尽情发表评论来告诉我这个方法是否有疗效,或者您有更好的方法来处理该问题,也可以告诉我。再见了!


关于Abhishek

我是Abhishek Prakash,It's F.O.S.S.的“创立者”,我有一个通信系统工程的硕士学位。我酷爱Linux和开源。我使用Ubuntu,信奉知识分享。除了Linux之外,我也喜爱经典的侦探推理小说,是Agatha Christie作品的超级粉丝。大家尽可以在Google+上将我圈进去,并追随@abhishek\_pc


via: http://itsfoss.com/fix-sound-ubuntu-1404/

译者:GOLinux 校对:Caroline

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

安装 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。 解压之后右键点击桌面->修改背景图片->选择下载的背景

安装主题修改工具

为了修改GTK主题,图标,系统主题,光标,字体我们需要安装unity tweak。要安装unity tweak在ubuntu14.04上通过使用如下命令:

sudo apt-get install unity-tweak-tool

当然你也可以通过安装ubuntu-tweak来实现主题更换

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

效果图:

在ubuntu14.04上安装Mac OS X主题

为了修改上文所说的内容。我们需要打开终端运行如下命令:

sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install mac-ithemes-v3
sudo apt-get install mac-icons-v3

现在打开刚才安装的工具来选择主题,在GTK主题上选择MBuntu。再本地tab上选择Mbuntu-osx在光标tab上选择Mac-cursors.

如图所示

现在unity桌面看起来就像Mac了。你已经有了mac的图标,mac的窗口样式,mac的鼠标指针样式。

安装类似Mac OS X样式的DOCK在ubuntu14.04上

Docky是再UBUNTU平台上一个非常轻量级的类似Mac OS X 的dock。 它拥有mac一样的鼠标浮动效果。想要安装需要在终端上运行如下代码:

sudo add-apt-repository ppa:docky-core/ppa
sudo apt-get update
sudo apt-get install docky

安装Mac doc主题

下载 Mac 主题从unity启动器上运行docky。你就能看到docky运行再你的屏幕底端了,点击第一个docky配置按钮,选择3D mode点击下载主题按钮在上面选择Buyi-idock主题,现在你将会获得Mac OS X很像的dock了。

配置图:

效果图:

隐藏unity 启动器

再外观->行为中可以关闭启动器,

替换左上角的Ubuntu桌面为Mac OS X

想要修改成为Mac OS X执行下面命令

cd && wget -O Mac.po http://drive.noobslab.com/data/Mac-14.04/change-name-on-panel/mac.po
cd /usr/share/locale/en/LC_MESSAGES; sudo msgfmt -o unity.mo ~/Mac.po;rm ~/Mac.po;cd

想要改回来执行下面命令

cd && wget -O Ubuntu.po http://drive.noobslab.com/data/Mac-14.04/change-name-on-panel/ubuntu.po
cd /usr/share/locale/en/LC_MESSAGES; sudo msgfmt -o unity.mo ~/Ubuntu.po;rm ~/Ubuntu.po;cd

注意:执行完成命令之后需要重新登陆用户让修改生效。

效果图:

替换延迟滚动条为正常滚动条

想要修改成为正常执行下面命令

gsettings set com.canonical.desktop.interface scrollbar-mode normal

想要改回来执行下面命令

gsettings reset com.canonical.desktop.interface scrollbar-mode

替换启动屏幕图片

在这个小章节里面将会为ubuntu 14.04修改启动图片,包括载入动画跟苹果LOGO 命令如下

sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install mbuntu-bscreen-v3

想要修改回来:

sudo apt-get remove mbuntu-bscreen-v3

修改Ubuntu14.04的登陆画面成为Mac OS X的样式

安装:

sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install mbuntu-lightdm-v3

修改回来:

sudo apt-get remove mbuntu-lightdm-v3

去掉ubuntu 14.04锁屏的图标

去掉logo:

sudo xhost +SI:localuser:lightdm
sudo su lightdm -s /bin/bash
gsettings set com.canonical.unity-greeter draw-grid false;exit
sudo mv /usr/share/unity-greeter/logo.png /usr/share/unity-greeter/logo.png.backup

如果想改回来:

sudo xhost +SI:localuser:lightdm
sudo su lightdm -s /bin/bash
gsettings set com.canonical.unity-greeter draw-grid true;exit
sudo mv /usr/share/unity-greeter/logo.png.backup /usr/share/unity-greeter/logo.png

ubuntu14.04安装Mac字体

下载与安装字体:

wget -O mac-fonts.zip http://drive.noobslab.com/data/Mac-14.04/macfonts.zip
sudo unzip mac-fonts.zip -d /usr/share/fonts; rm mac-fonts.zip
sudo fc-cache -f -v

配置: 启动tweak tool在字体选择上选择苹果系列的字体或者lucida Mac 字体,然后根据你的屏幕来调整字体。

小伙伴们的测试结果

更多帮助请登陆ubtamator

寻找小伙伴,群:55958311

翻译:PHILO

内容调整:PHILO

原文地址:http://smashingweb.info/mac-os-x-theme-for-ubuntu-14-04-macbuntu-transformation-pack/#userconsent#

提问: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型。我该如何检查MySQL数据库表的类型?

MySQl主要使用两种存储引擎:MyISAM 和 Innodb。MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback)。当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎)。如果没有选择,你就会使用与预设置的默认引擎。

如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到。

方法一

如果你可以访问phpMyAdmin,你可以从phpMyAdmin找出默认的数据库类型。从phpMyAdmin中选中数据库来查看它的表列表。在“Type”一列的下面,你会看到每个表的数据表类型。

方法二

如果你可以直接登录MySQL服务器,另外一种鉴别存储引擎的方法是登录MySQL服务器后运行下面的MySQL命令:

mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';

上面的命令会显示在'mydatabase'数据库中'mytable'表的引擎类型。

方法三

还有一种检查引擎的方法是使用mysqlshow,是一种命令行下的显示数据库信息的工具。mysqlshow在MySQL 客户端安装包中有。要使用mysqlshow,你需要提供MySQL服务器登录凭据。

下面的命令会显示特定的数据库信息。在“Engine”一列下面,你可以看到每个表使用的引擎。

$ mysqlshow -u <mysql_user> -p -i <database-name>


via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html

译者:geekpi 校对:wxy

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

ASCII字符艺术

前两天有人在微博上传了一张Linux登录后的Motd图片,非常传神的体现了系统管理员们无厘头和无奈的一面。

其实这副图片就是通过人们称为ASCII字符艺术的方法生成的,完整的代码如下:

cat <<EOT
 
                                  _oo0oo_
                                 088888880
                                 88" . "88
                                 (| -_- |)
                                  0\ = /0
                               ___/'---'\___
                             .' \\\\|     |// '.
                            / \\\\|||  :  |||// \\
                           /_ ||||| -:- |||||- \\
                          |   | \\\\\\  -  /// |   |
                          | \_|  ''\---/''  |_/ |
                          \  .-\__  '-'  __/-.  /
                        ___'. .'  /--.--\  '. .'___
                     ."" '<  '.___\_<|>_/___.' >'  "".
                    | | : '-  \'.;'\ _ /';.'/ - ' : | |
                    \  \ '_.   \_ __\ /__ _/   .-' /  /
                ====='-.____'.___ \_____/___.-'____.-'=====
                                  '=---='
 
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        佛祖保佑    iii    永不死机
 
EOT

(图片和字符来自:http://www.stenote.com/

ASCII是一个非常吸引人的字符编码系统,在计算机,通讯设备,以及其他设备中,通过它来用代码表示字符。新生代的人可能会觉得它已经过时了,但是那些熟悉它的人会懂得ASCII是多么的独特。我们在这里为你准备了五个超赞的ASCII字符艺术生成器。

1.GlassGiant ASCII Art

这个小程序可以把图片转换成ASCII字符艺术-一堆胡乱堆在一起的文字,数字和符号,看上去没有任何意义,直到你往后站一步去看完整的画面。它也没有什么实际的用途,只是看上去非常简洁灵巧。

2.ASCII Art Generator

ASCII字符艺术是一种在电脑上把可打印字符作为图片元素来拼接展现一幅图像的艺术活动。你所需要做的只是上传你的图片,然后它会帮你转成ASCII字符艺术。

3.Ascii.mastervb

ASCII字符艺术来源于7比特ASCII字符标准。ASCII字符艺术曾经在70-80年代很流行。在那个时候,计算机系统都还是基于字符的。这个程序可以非常快地把图片转换成ASCII字符。

4.IMG2TXT

这个脚本可以将GIF,JPG或PNG的链接转换成ASCII字符或是带颜色的HTML。

5.picascii

它可以把图片转换成ASCII文本或是HTML。要做转换,你只需要输入链接地址或是选择一张你电脑上的图片(gif/jpeg/png)。


via: http://www.efytimes.com/e1/fullnews.asp?edid=142480

译者:zpl1025 校对:wxy

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

在现在这个世道中,保障基于Linux的系统的安全是十分重要的。但是,你得知道怎么干。一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作。那么试试下面这些手段吧。

1. 使用SELinux

SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。(LCTT译注:虽然NSA也给SELinux贡献过很多代码,但是目前尚无证据证明SELinux有潜在后门)

2. 订阅漏洞警报服务

安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如SecurityFocus

3. 禁用不用的服务和应用

通常来讲,用户大多数时候都用不到他们系统上的服务和应用的一半。然而,这些服务和应用还是会运行,这会招来攻击者。因而,最好是把这些不用的服务停掉。(LCTT译注:或者干脆不安装那些用不到的服务,这样根本就不用关注它们是否有安全漏洞和该升级了。)

4. 检查系统日志

你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。

5. 考虑使用端口试探

设置端口试探(Port knocking)是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。

下面是来自 http://www.portknocking.org/ 的示意图:

6. 使用Iptables

Iptables是什么?这是一个应用框架,它允许用户自己为系统建立一个强大的防火墙。因此,要提升安全防护能力,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。

7. 默认拒绝所有

防火墙有两种思路:一个是允许每一点通信,另一个是拒绝所有访问,提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。(LCTT译注:即默认许可策略和默认禁止策略,前者你需要指定哪些应该禁止,除此之外统统放行;后者你需要指定哪些可以放行,除此之外全部禁止。)

8. 使用入侵检测系统

入侵检测系统,或者叫IDS,允许你更好地管理系统上的通信和受到的攻击。Snort是目前公认的Linux上的最好的IDS。

9. 使用全盘加密

加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。


via: http://www.efytimes.com/e1/fullnews.asp?edid=141368

译者:GOLinux 校对:wxy

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