标签 删除 下的文章

下面的教程将教给所有的 Linux 用户关于如何安全的擦除可用的硬盘驱动器(HDD)、固态硬盘驱动器(SSD)以及 USB 闪存驱动器空间,以使任何人都不能恢复被删除的文件。

是否有注意到,当你从系统中删除了一个文件,或从回收站中彻底删除后,它就会在文件系统中消失,但是,该文件实际上并未消失,它驻留在你的磁盘驱动器的可用空间中,仍然可以用数据恢复应用程序恢复回来。

这篇教程会提供两种方法。第一种是使用一款名叫 Wipe Free Space 的应用程序,它是由波兰开发者 Bogdan Drozdowski 开发的。第二种方法会使用众所周知的 BleachBit 软件。

虽然 BleachBit 是一款图形应用程序,Wipe Free Spac 是一款命令行软件,但开发者也提供了易用的图形用户界面(GUI),即使初级用户也可以容易使用,用来安全的擦除他们磁盘的可用空间。

选编者注:在继续往下阅读之前,最好知道这些应用程序会擦除未被使用的簇和块上的可用空间,也会擦除使用过的块上的所谓“闲置空间”,即删除文件和其他任意数据后可供再次使用的空间。

方法 1 - Wipe Free Space & Wipe Free Space GUI

从你的 Linux 发布版本的默认软件源仓库中可以很容易的就安装上 Wipe Free Space 命令行应用程序。可以使用基于 RPM 的 Linux 发行版二进制包,也可以直接用源代码来编译安装。

安装完成后,可以从这儿下载图形用户界面前端程序,保存在 home 目录下,解压缩,然后双击 run.sh (或者在终端窗口下执行 sh run.sh 命令)文件就可以打开。

应用程序打开后,你可以把 wipefreespace 目录的可执行文件路径添加进来,所以点击“浏览”按钮,到 /usr/bin/ 下查找。然后添加要被擦除的文件系统。

确保已经勾选了窗口左边的 "Wipe only with zeros" 选项。如果你需要勾选更多的选项,首先请查看手册来了解怎么使用,因为他们可能会使你的驱动器崩溃。现在,请点击“开始擦除”按钮开始执行。

方法 2 - BleachBit

这是最容易的方法,建议初级用户使用。从你的 Linux 发布版本的默认软件源仓库中很容易的就可以安装 BleachBit 应用程序。打开它,请确保您在侧边栏上的系统部分选中“可用磁盘空间”选项。点击“清除”按钮开始执行。

BleachBit 的可用空间选项

整个擦除操作会进行很长时间。在主窗口上你可以看到详细的进度。如果你在这篇教程中遇到问题,别犹豫,在下面发表评论吧。

Wipe Free Space GUI 0.5 下载:


via: http://news.softpedia.com/news/How-to-Wipe-Free-Disk-Space-in-Linux-429965.shtml

译者:runningwater 校对:wxy

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

在服务器上维护用户就是添加、修改以及删除用户。当一个用户出于某种原因不再需要登录系统时,我们需要删除此用户以避免安全漏洞。在Linux系统上,我们用 userdel 命令来删除一个用户。

userdel是什么

userdel 是一个底层用于删除用户的工具。在 Debian 上,我们通常会使用 deluser 命令。userdel 会查询系统账户文件,例如 /etc/password/etc/group。那么它会删除所有和用户名相关的条目。在我们删除它之前,用户名必须存在。

如何使用userdel

由于 userdel 会修改系统账户文件,那么我们需要root特权来运行它。不然我们会遇到一个报错信息“只有root权限才能执行这项操作”或者类似的信息。在我们得到特权后,我们可以通过输入 userdel 从你的控制台删除用户。下面是一个默认使用 userdel 的样例。

$ sudo userdel pasadena

或者

# userdel pasadena

正如你所见,我们不能没有root权限而删除用户 pasadena。当我们有权限时,系统不会给出错误信息,这意味着用户已经成功删除。

完全删除用户家目录

不带选项使用 userdel,只会删除用户。用户的家目录将仍会在/home目录下。

当我们进入/home目录时,我们仍旧可以看到ID 1002拥有 pasadena 文件夹。已创建的用户通常会有一个与用户名相同的组名。1002是 pasadena 用户名的 UID 和 pasadena 组名的 GID。

为了在删除用户时完全删除家目录,我们可以使用 -r 选项。这个选项同样会删除用户的邮件池,如果存在的话。

强制删除一个用户

userdel 提供了 -f 选项来强制删除用户。甚至当用户已经登入 Linux 系统时此选项仍旧生效。请看一下示例截图。

截图的上面显示用户 pasadena 已经登录了系统。它被标记的进程6218是 SSHD 进程。而当我们用“userdel -f pasadena”只会显示已经登录的要被删除的用户信息。命令本身已经成功。如果我们使用cat 命令查看/etc/passwd的内容,我们看不到到用户 pasadena 存在了。他的家目录还存在但是所有者只能显示为数字ID。

有一件事我们必须了解,带 -f 选项的 userdel 不会断开 该用户已有的 SSH 链接。因此,即使用户已经不存在,但实际上仍是登录状态,并且是活跃用户。但是当用户登出后不可再登录,因为用户已经被删除。

因此所以这个选项使用起来有些危险,因为它会使你的系统进入不一致的状态。

总结

userdel 是一个 Linux 系统内部删除用户的工具。userdel同样是deluser命令的后端,这是一个用perl编写的删除用户的脚本。如往常一样,你可以输入man userdel来查看关于userdel命令的更多细节。


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

译者:geekpi 校对:Caroline

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

作为一个Linux(Ubuntu)用户,你每次从终端安装应用程序的时候都会用到apt-get这条命令。

虽然可以使用图形化界面来安装删除应用程序,但是命令行依然被认为是功能强大的方式。在安装了许多大大小小的应用程序以后,你会需要更多的磁盘空间来安装其他的应用程序,或者有些程序对你不再有用了。

大多数人,尤其是初学者,通过在查阅资料后,能够从终端安装一个程序,但是却很难删除它。我也曾经有过这样的经历。

这是一个简单的教程,指导你如何删除已经安装的软件包。

a. 打开终端(ctrl + alt + t)

b. 输入

$ dpkg --list

(这条命令会显示所有已安装的包)

list_

或者

$ dpkg --list | less

(这样可以轻松的使用用户密钥来导航)

dpkg_list

或者

如果你知道软件包的名字,你可以使用管道命令grep来查找,使用下面的语句:

$ dpkg --list|grep -i 'packagename'

VLC播放器为例。

vlc_grep

c. 查找要删除的包名字,这里我要使用sox

remove_SoX

d. 只删除一个软件包,使用下面的命令:

$ sudo apt-get remove

比如,删除一个叫sox的软件包,输入:

$ sudo apt-get remove sox

输入y来确认卸载。

sox2

e. 要删除一个包以及它的配置文件,输入:

$ sudo apt-get --purge remove

比如,删除一个叫sox的包以及其所有的配置文件:

$ sudo apt-get --purge remove sox

via: http://www.unixmen.com/removing-applications-using-terminal-ubuntu/

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

译者:markvv 校对:Caroline

在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

上个星期四,我成功的将Windows从硬盘上删除,并把Windows的ntfs分区合并到Linux的/root分区。
现在谈谈具体的过程:
一、用acronis的磁盘软件将C:,D:,E:合并成一个分区。
首先把扩展分区D:,E:合并成一个扩展分区D:。然后再把D:合并到主分区C:,这步需要重启,而且对于双系统来说重启时会进入grub>提示符的状态。所以由grub>提示符正确启动Windows这个小技巧就显得格外重要。依次打入如下命令来正常启动Windows:
root (hd0,0)
chainloader (hd0,0)+1
boot
然后acronis会自动完成剩余的分区合并操作。
注:这步会根据数据的多少而有所不同,我的机器实际操作时,用了43分钟。
二、由CD-Linux或Live-USB、Live-CD启动机器。
启动后,打开刚才合并好的唯一一个Windows分区。复制里面的重要文件来完成对Windows分区的备份。
三、打开Gparted(如果没有就先安装)
删除唯一的一个Windows分区。然后,调整Linux的/root分区使其占用刚才删除的所有Windows分区的空间。点“应用”来完成整个“完全抛弃Windows”计划。顺便提醒一下:Linux的所有分区必须卸载且swap分区关闭才能调整/root分区的大小。
注:这步也会根据数据的多少而有所不同,我的机器实际操作时,用了37分钟。
四、修复grub对Linux的引导(Live-CD或Live-USB环境下进行操作)
#mount /dev/sda /mnt/system
// 其中:/dev/sda为机器上的硬盘;/mnt/system为挂载点,可以为任意不重要的文件夹。
#mount -t proc none /mnt/system/proc
#mount -o bind /dev /mnt/system/dev
#chroot /mnt/system /bin/bash
#grub
grub>root (hd0,x) //x为Linux所在的分区,如果不知道,可以从0开始试,哪个数没有错误提示就是哪个数。
grub>setup (hd0) //如果只有一块硬盘就是hd0
grub>quit
#vi /boot/grub/menu.lst //修改menu.lst:改所有原来的路径为(hd0,x)
#reboot //重启即可
最后,再鄙视一下Windows:
Linux的Gparted只有1.1MB大小就可以独挡Linux分区这一面;而Windows的acronis必须有76MB才能独挡Windows分区这一面。真是差距啊,同是天底下的两个分区软件怎么差距就这么大呢??
[本话题由 breezegrowing 于 2010-03-29 22:25:36 编辑]

本文内容由 breezegrowing 提供