2013年12月

以下教程将会为Ubuntu、Linux Mint和Debian GUN/Linux用户讲述,如何在它们基于Debian的Linux操作系统上轻松的解压和重新打包.deb文件。

有时候你在生活中会碰到这样的问题,你想要修改.deb文件的部分内容,然后重新打包。不过只有你真正深入了解计算机才能完成这样的黑客技巧。

下面的例子是刚发生在我身上的真实经历。一位Linux开发者为一个软件构建了一个Debian包(.deb),我也成功地将它安装在我的装载Ubuntu的电脑上。

当我试图从一个Git库中检索一些文件时,它总是卡顿,很显然,该软件并没有正常工作。我知道安装的文件在哪里(/opt目录),所以,我搜查了代码并适当地将部分问题修复。之后,当程序试图检索需要的包时不再卡顿。

所以,长话短说,我要将.deb文件解包,替换上我的补丁文件,然后再重新打包回来。这样我可以其它电脑上安装,或者将修正的包文件发给我的朋友。我要怎么做呢?

在网络上搜索问题的答案,我发现一个名叫ailoo.net的小型博客,它给出类似这样解释:

mkdir -p extract/DEBIAN
dpkg-deb -x package.deb extract/
dpkg-deb -e package.deb extract/DEBIAN [...do something, e.g. edit the control file...]
mkdir build
dpkg-deb -b extract/ build/

这五条命令将奇迹般地完成工作。让我为你解释一下:

  • 第一条命令创建了一个名为“extract”文件夹和一个名为“DEBIAN”的子文件夹;
  • 第二条命令会从你的.deb包提取一些文件到“extract”文件夹;
  • 第三条命令会解压.deb包的内容到“DEBIAN”子文件夹,在那里你就可以修改/补丁你想要的文件;
  • 第四条命令建立一个名为“build”的文件夹;
  • 而第五条命令会将修改后的文件重新构建到一个新的.deb包中,并在 “build” 文件夹中生成。

这就是本次教程!牢牢地记住上面的命令吧,在你执行第三条命令后,可以通过你的默认文件管理器,用一个图形化的文本编辑器可视化地修改文件。如果你在学习本教程时遇到问题,不要犹豫,在下面给我们写下评论。


via: http://news.softpedia.com/news/How-to-Repack-Deb-Files-on-Debian-and-Ubuntu-404930.shtml

译者:Luoxcat 校对:Caroline

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

通常,在控制台的命令提示符下你会发现 用户名已经被显示出来 。但有一些 shell 默认情况下不会显示你的用户名,比如 csh 。所以这个命令最应该用在那些不能回显用户名的 shell 终端上。

怎么样运行 whoami

运行这个命令,你只需要输入 whoami 。下面的例子中我们使用的是 csh shell 终端。

% whoami

Whoami 的参数选项

这个命令仅仅有两个参数选项: –help–version

% whoamin –help

下面这选项会输出和 man whoami 命令一样的信息

% whoami –version

不同的是 –version 会显示你系统上 whoami 命令的版本信息

相似性

whoami 命令和 id -un 有相同的输出。它们都显示出当前用户的用户名。

% id -un

结论

whoami 命令也用于当你使用 su 命令(切换用户)时, 它能让你确认登录的用户名是否正确。whoami 和 who 命令不相同, who 命令会显示所有已经登录的用户名,而 whoami 不是。当你切换用户时,whoami 命令会显示会话所属的当前用户,而 who 命令会显示你切换前的那个源用户。


via: http://linoxide.com/linux-command/linux-whoami-command/

译者:runningwater 校对:Caroline

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

几天前,GNOME的设计师Allan Day在博客里发布了一篇超长博文,介绍了GNOME桌面环境下的下一代Nautilus文件管理器(译注:在墙外)。

本文将为读者简短介绍即将发布的Nautilus都实现了哪些新的设计功能,这些新功能也将成为GNOME3.12桌面环境的组成部分。

很显然,GNOME开发小组对大家一直关注的桌面环境的默认文件管理器进行了美化改进,另外将一些后台功能改放到了显著位置,使其对新用户更加明显。

不管你是否相信,事实是,有非常多的新用户尝试探索Linux世界之奥秘的时候,面对Nautilus却一筹莫展,他们不知道如何复制、粘贴、重命名、移动,甚至不知道如何访问他们的文件…… 这是一个非常窘迫、亟待解决的大问题!

因此,Nautilus文件管理器的未来版本将着重解决这些问题,包括图标响应、列表视图、更大更清晰的缩略图,以及更好用的缩放层级等等,通过这些,你可以更容易地组织你的文件。同时,更新后的视图菜单也实现了更优秀的控制操作。

Nautilus list view Nautilus列表视图

Nautilus grid view Nautilus图标视图

Nautilus gear menu Nautilus齿轮菜单

Nautilus将要实现的另一个重要特性是各种各样好用的按钮。例如“复制到…、移动到…、创建新文件夹、以…打开”等等,它们将使文件操作变得更加友好。同时,文件预览将变得更加直接,包括一个备受期待的导航功能,它能使照片或文档浏览变得更加容易。

不仅如此,侧边栏的可定制化程度也会更高,它将允许用户添加或删除网络设备、网络分区,或着是与它们的远程连接,使整个侧边栏变得更加整洁(这一改进对于像本译者这样的强迫症患者来说多么福音啊~)。新增加的“收藏”标签可用于访问所有你最喜欢的文件,还有改进后的“内容选择功能”,允许用户从多个来源选择项目。

Nautilus add drive dialog Nautilus添加设备对话框

Nautilus content selection Nautilus内容选择

很不幸,目前还没有渠道供我们编译测试最新的Nautilus,但开发版发布的时候,我们会第一时间通知大家。最后提醒大家,Nautilus同时还是Ubuntu Linux的默认文件管理器哦~


via: http://news.softpedia.com/news/GNOME-s-File-Manager-Will-Be-More-User-Friendly-409360.shtml

译者:Mr小眼儿 校对:Caroline

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

科学家已经开发出一种使用声波实现自我传播的新型恶意软件,貌似Linux是目前唯一能够抵御该类攻击的操作系统

来自德国的科学家Michael Hanspach和Michael Goetz已经开发出了一种技术能够使得恶意软件只需通过麦克风和扬声器就能够将自己传播感染到其他计算机。

“只需要通过计算机系统中某些意想不到的方式建立通信连接,一些隐秘的渠道就能够绕过系统与网络的安全策略。我们在不同的计算机操作系统间构建了一种隐秘渠道,利用音频编码/解码,以空气为媒介,在计算机系统间进行数据交换。”两位科学家在《通讯学报(Journal of Communication)》上发表了他们的论文

该方法验证了一种非常强大的感染计算机的方法,尤其是因为被感染的计算机甚至都不需要接入网络。该方法所需要的条件仅仅是“近距离”。

另一个问题是,事实上如今的操作系统还没有任何现成的防范手段能抵御这种攻击。好消息是,Linux用户可以通过一些小的修改就能获得所需的防护。

开发者介绍说Linux系统本身是可以任意编程调整的,相对来说,更容易改编适应这种新形式的攻击。

“如果音频输入输出设备无法关闭,音频过滤设置也许是一个替代办法,可以抵御恶意软件触发加入隐秘网络。”

科学家在论文中说道:“基于Linux的操作系统,音频过滤软件可以通过ALSA(Advanced Linux Sound Architecture 高级Linux音频架构)与LADSPA(Linux Audio Developer’s Simple Plugin API Linux音频开发者简易插件API)协同实现上述过滤功能。”

“声传恶意软件”是一种非常新的新鲜事物,无怪乎还没有针对它的防御办法,但是从另一个角度,这也反映出了为什么说Linux是更安全的操作系统。


via: http://news.softpedia.com/news/Linux-Is-the-Only-Way-to-Protect-Against-Possible-Malware-Through-Sound-Attacks-405566.shtml

译者:Mr小眼儿 校对:wxy

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

现在的计算机一般都使用着多处理器或四核单处理器。在服务器端,更多的处理器或核心意味着更强的能力,但另一方面,应用程序也需要更高的能耗。你还可能遇到过这样的场景:当你的cpu利用率很高时你却感觉自己根本没有运行任何程序。以上种种情况,在Linux系统上,你可以使用 mpstate 来监控这样的活动。

什么是mpstat

mpstat 用于监控你的系统上cpu的利用率。如果你的系统有多个处理器,它会发挥更大的作用。 第一个处理器会被标记为CPU 0。第二个会被标记为CPU 2,以此类推。在操作手册中,如下描述mpstat:

mpstat命令把每个可用的处理器的状态写到标准输出,默认第一个处理器为processor 0。所有处理器的全局平均状态也会以报告形式给出。mpstat命令可以用于SMP和UP的机器上,但是在UP机器上,只有全局平均状态会被打印出来。如果没有选择具体行为,默认将报告CPU的利用率

如何运行mpstat

只需在你的终端输入 mpstat 就可以运行mpstat.

$ mpstat

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:29:29 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:29:29 PM all 6.30 0.06 1.94 3.75 0.00 0.06 0.00 0.00 87.88

如果你发现譬如 命令找不到或者类似的错误,说明你可能没有安装mpstat。

如果你使用的是 CentOS, RedHat or Fedora,运行下列命令来安装mpstat

# yum install sysstat

如果你使用的是 Debian, Ubuntu or 它的衍生版, 运行下列命令来安装mpstat

# apt-get install sysstat

下面是如何理解上面显示出来的信息。

  • 03:29:29 PM : 指mpstat运行的时间
  • all : 指所有CPU
  • %usr : 显示在用户级别(例如应用程序)执行时CPU利用率的百分比
  • %nice :显示在拥有nice优先级的用户级别执行时CPU利用率的百分比
  • %sys : 现实在系统级别(例如内核)执行时CPU利用率的百分比
  • %iowait : 显示在系统有未完成的磁盘I/O请求期间CPU空闲时间的百分比
  • %irq : 显示CPU服务硬件中断所花费时间的百分比
  • %soft : 显示CPU服务软件中断所花费时间的百分比
  • %steal : 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
  • %guest : 显示运行虚拟处理器时CPU花费时间的百分比
  • %idle : 显示CPU空闲和系统没有未完成的磁盘I/O请求情况下的时间百分比

打印每个处理器的CPU利用率

正如上面的命令结果所示,我们的系统有两个CPU。如果你愿意,你可以使用参数 -P 然后紧跟CPU编号得到指定CPU的利用率。

$ mpstat -P 0

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

$ mpstat -P 1
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:53:58 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:53:58 PM 1 16.52 0.20 4.48 0.46 0.00 0.04 0.00 0.00 78.30

打印所有CPU的利用率

你也可以在一页里打印每个处理器的CPU利用率,只需使用 -P ALL 参数来指定。

$ mpstat -P ALL

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:07:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:07:36 PM all 6.02 0.04 1.72 2.99 0.00 0.05 0.00 0.00 89.17
04:07:36 PM 0 3.84 0.01 1.15 3.72 0.00 0.06 0.00 0.00 91.21
04:07:36 PM 1 13.55 0.15 3.66 0.46 0.00 0.03 0.00 0.00 82.15

使用时间间隔打印CPU利用率

如果你想观察CPU的利用率变化,你可以使用时间间隔,下面是一个例子。

$ mpstat 3 4

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:27:11 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:27:14 PM all 0.67 0.00 0.34 0.00 0.00 0.00 0.00 0.00 98.99
04:27:17 PM all 1.17 0.00 0.33 1.33 0.00 0.00 0.00 0.00 97.17
04:27:20 PM all 0.84 0.00 0.17 0.00 0.00 0.00 0.00 0.00 98.99
04:27:23 PM all 1.00 0.00 0.17 1.51 0.00 0.00 0.00 0.00 97.32
Average: all 0.92 0.00 0.25 0.71 0.00 0.00 0.00 0.00 98.12

上面的命令会每隔3秒显示CPU利用的4个报告

打印mpstat的版本

最后,为了打印mpstat的版本,使用参数 -V

$ mpstat -V

sysstat version 10.0.3
(C) Sebastien Godard (sysstat orange.

这就是在linux系统上快速使用mpstat的方法。想要了解更多细节,可以输入 man mpstat来查看mpstat的手册。


via: http://linoxide.com/linux-command/linux-mpstat-command/

译者:KayGuoWhu 校对:Mr小眼儿

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

下面的教程将指导 Linuxer 在 VirtualBox 中全新安装 SteamOS GNU/Linux。

如你已经了解的那样,SteamOS Linux 已经在12月13日正式发布了。作为一款基于 Debian GNU/Linux 的操作系统,它默认使用了 GNOME 作为桌面环境,当然这是可选的。

如果硬件上没有问题的话,比如你的电脑拥有强大游戏显卡,且支持UEFI的,那么安装 SteamOS 将是一件非常容易的事情,然而,因为 Valve 并没有发布 SteamOS 的 ISO 镜像,在安装过程中可能并不是那么顺利。

下面的教程由两个重要的部分组成,第一部分将会帮助你用 Valve 官方的 SteamOSInstaller.zip 来创建一个 ISO 镜像;如果你不希望在自己的电脑上真正安装,那么第二部分将会告诉你如何在 VirtualBox 中来体验 SteamOS。

在一开始你需要一个已经正确安装的最新的 VirtualBox。当然,你还需要一款叫做GNUxorriso的软件用来制作 ISO 镜像。

第一步,制作 SteamISO 镜像

从 Softpedia 下载 SteamOSInstaller.zip,将它保存到你的 home 目录下并解压缩。完毕之后你将会看到 SteamOSInstaller 文件夹。现在,从终端里打开它并执行下面的命令(译注:命令较长,请勿敲错):

xorriso -as mkisofs -r -checksum_algorithm_iso md5,sha1 -V 'Steam OS' -o ~/SteamOSInstaller.iso -J -joliet-long -cache-inodes -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot --efi-boot boot/grub/efi.img -append_partition 2 0x01 ~/SteamOSInstaller/boot/grub/efi.img -partition_offset 16 ~/SteamOSInstaller

稍等几秒钟之后,SteamOS.iso 文件将会在你的 home 目录下出现,大约有 1GB。好了,这一步就完成了,下面进入第二步。

第二步,在 VirtualBox 中安装 SteamOS

如果你已经正确安装了 VirtualBox 并且了解它的正确用法,那么我们下面需要来建立一个拥有 UEFI 支持的全新虚拟机。在 VirtualBox 的主窗口,点击 New 按钮来开始安装吧。

在 Name 框输入 SteamOS,在操作系统类型种选择 Linux,并在下拉框的版本列表中选择 Debain 64-bit,点击 Next 继续。Memory Size 中设置1024或者2048MB(当然,这取决于你的计算机实际内存大小),我们创建一个 VDI 格式的虚拟硬盘驱动器,将大小固定为15GB。点击 Continue 来继续,并等待创建过程结束。

Create a new virtual machine

创建一个新的虚拟机

Set the memory size

设置内存大小

现在我们的虚拟机已经创建完毕了,接下来让我们来为 SteamOS 做一些小小的调整。来到 Settings 选项,点击边栏的 System,然后在 Boot Order 中取消选择 "Floppy",并检查确认已经选择 "Enable EFI (special OSes only)" 选项。

Enable EFI and remove Floppy

允许 EFI 并移除 Floppy

接下来,点击边栏中的 Display 按钮,将 Video Memory 设置为128MB,并勾上 "Enable 3D Acceleration" 选项。然后,进入边栏的 Storage 部分,点击 "Controller: IDE" 下面的 "Empty",并点击 CD/DVD 驱动下拉栏旁边小 CD 图标来添加上一步制作的 SteamOSInstall.iso 镜像文件。当一切完成之后,点击 OK。

Set Video Memory size and 3D acceleration

设置 Video Memory 大小 和 3D 加速

那么现在,让我们按下主窗口中的 "Start" 按钮来启动虚拟机。你将会立即看到 SteamOS 启动画面。只需要高亮 "Automated install (WILL ERASE DISK)" 后按下 Enter 键即可。接下来可以稍微休息一下,直到我们的安装结束。整个安装过程可能需要一段时间,当然这取决于你的电脑。

Prepare to install SteamOS

准备安装 SteamOS

只要我们的安装过程结束,你就可以关闭虚拟机,然后从 Storage 中移除 ISO 镜像,然后启动进入全新的 SteamOS。但是,在我们正式进入 SteamOS 的世界之前,还需要安装 VirtualBox Guest Additions。先点击开始 SteamOS 虚拟机,选择 GRUB 启动器中的第二个选项(恢复模式),然后在 SteamOS 的命令行提示后输入下面的命令:

SteamOS boot loader

dpkg --get-selections | grep nvidia
apt-get purge 
rm /usr/share/X11/xorg.conf.d/55-nvidia.conf
dpkg-reconfigure xserver-xorg

进入到 Devices 中然后点击 Insert Guest Additions CD 镜像。根据提示来下载 Guest Additions 镜像,挂载它并执行下面的命令:

   sh /media/cdrom/VBoxLinuxAdditions.run

等待 Guest Additions 安装完驱动,用下面的命令来重启我们的虚拟机:

   shutdown now -r

SteamOS command-line shell prompt

SteamOS 命令行提示

接下来我们的虚拟机会重启,让它启动进入 SteamOS。当我们抵达登录提示界面之后,使用 desktop/desktop 或者 steam/steam 作为用户名和密码来登录。

如果您在安装过程中遇到了一些问题,请别犹豫,在下面评论中告诉我们。

SteamOS with GNOME 3

SteamOS 和 GNOME 3


via: http://news.softpedia.com/news/How-to-Install-SteamOS-in-VirtualBox-409363.shtml

译者:pandachow 校对:wxy

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