1 、目录"/var/cache/apt/archives"中保存着通过apt-get命令得到的deb文件包
可用"apt-get clean"命令清理
2 、解决在文本界面下挂载硬盘或优盘时出现乱码的问题
可以使用mount的"-o"选项指定参数:iocharset=utf8,codepage=936来解决。
此两个选项用来设置IO编码。
同时也可以在/etc/fstab的option下直接加入以上选项,而后用mount -a进行重新挂载或重启系统。
3 、关于su和login的区别:
login登录时会将前一用户注销掉,而su username则是建立一个虚拟环境,但沿用的是以前的环境变量。
login相当于su - username。
4.关于文本模式
debian和red hat不同,没有文本模式的概念.图形界面是由桌面管理器(通常是gdm)启动的,而gdm在debian中是当作一个daemon来处理的.所以要开机进入文本模式,就要将/etc/rcX.d/中与gdm有关的内容移除,同时将/etc/X11/default-display-manager中的内容删除或注销(加#号).
在重启进入文本模式后运行startx和xinit出现错误,无法进入桌面,具体原因日后继续探索,解决方法是运行sudo gdm命令.注意运行时使用后台运行模式.
而最新的ubuntu中,此方法已经行不通,若想开机进入文本模式,则按照以下方法进行:
将/etc/default/grub文件中的 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"改为GRUB_CMDLINE_LINUX_DEFAULT="text"
5 . 普通用户使用sudo命令时所要求输入的密码实际是用户自己的密码,而不是root用户的密码.
6 . 对sudo命令的重新理解:
新建的用户是不能使用sudo命令的,当在/etc/sudoers加入命令全权后,用户便能方便地使用sudo来达到root用户的运行级别,甚至可以改变root用户的密码!!!这是一件相当可怕的事情,
所以对于新建用户,对其进行sudo权限的开启必须慎之又慎!!!即使开启,也应该有所限制,除了修改密码的passwd命令,adduser/useradd,gpasswd,chgrp,chmod,chown等命令也是需要限制的,
因为用户进入sudo组或拥有了对/etc/sudoers的写权限后,这都将是存在巨大风险的事.
7 . 一个系统登录后,会产生一个用户进程,该进程有7个id值:实际用户id,有效用户id,保存的set-user-ID,实际组id,有效组id,添加组id,以及保存的set-group-ID.
set-user-ID和set-group-ID不好理解,就将其看做一种属性吧.
8. date命令可以进行日期的加减运算,如:date +%Y/%m%d --date=-1day,显示昨天日期,date +%Y/%m%d --date=+1day,显示明天日期,依此类推,改变数字即可.
利用此功能,可以编写脚本用于产生一段连续日期,下面的脚本将产生150天的连续日期:
#/bin/bashfor((i=0;i<=149;i++))dodate +%Y/%m%d --date=+"$i"daydone#当数字前无加号时,默任为加.9. 执行脚本时,用"./"符实际上是开启一个子shell来执行脚本,所以脚本中的变量只在脚本执行中存在.
而source命令则强制在当前shell执行脚本,所以变量将会保留.
10. 打开Linux内核的数据包转发功能:
(1): echo 1 > /proc/sys/net/ipv4/ip_forward
(2): 在/etc/sysctl.conf里设置net.ipv4.ip_forward = 1
11、使用mount挂载windows的共享文件夹时,出现“CIFS VFS: cifs_mount failed w/return code = -22”的错误,这是因为系统未支持smbfs文件系统造成的,运行“apt-get install smbfs”即可
12、当一个用户在终端通过su切换另一个用户时,系统中的实际用户并没有改变,用w查看时与以前是一样的,这也说明了su开启的是一个子进程或子shell。
13、对于附加的权限“a”,其特点是只能有拥有者进行追加内容和删除,但这里的追加不是单纯的增加内容,而是通过重定向>>来进行,用vi等编辑工具进行增加是行不通的。
14、配置apache后,重启,出现以下错误提示:
[warn] NameVirtualHost *:80 has no VirtualHosts
原因是同一个主机配置了多个虚拟主机,需要保证相关的配置文件中的虚拟主机(VirtualHosts)相同,即/etc/apache2/ports.conf和/etc/apache2/site-enabled/000-default中的VirtualHosts配置相同,例如,将其都设置为"VirtualHosts 127.0.0.1:80"。但在将其设置为127.0.0.1时只有本机能解析服务器地址,其他机器将无法通过ip地址连接服务器。
15、在vi里用自定义的字符来替换需要经常输入的字符串:
:ab chars string
此时,输入chars按空格或Enter键,chars将会自动变成string,为了避免chars与需要用到字符时产生冲突,最好将chars设为不常用的字符或组合式的字符。
16、samba服务器是Linux和Windows之间的文件共享服务器,在Linux系统中安装samba后,有些版本不需要通过service和/etc/init/XXX来管理服务,而是直接可以进行服务的独立运行,而且可以通过testparm和testparm.samba3来查看samba的相关配置和运行信息。当配置和运行正常时,在windows上便可直接在文件管理器中直接输入"ip_address[share]"来链接共享文件夹。
17、NFS是Linux和Unix系统之间进行文件共享的服务,在debian系的Linux发行版上其需要安装portmap和nfs-kernel-server、nfs-common软件包,在服务的启动方面应该保证/etc/init.d/portmap服务先于nfs-kernel-server启动,否则将无法进行文件的共享。在客户端上也要保证正常安装了以上几个软件包并正常开启了相关服务,否则将会出现莫名其妙的错误。在这些工作做完后就能进行文件共享了,在客户机上,用mount远程挂载文件夹:
mount ip_address:dirname mount_point
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
配置文件/etc/exports内容如下:
$ cat /etc/exports
/home/share 192.168.102.15(rw,sync) *(ro)
配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。
18、今天的一个小插曲:刚开始进行ftp服务器实验的时候安装了pure-ftpd,但觉得不太好用,就将其卸载安装了vsftpd,此时登录ftp服务器竟然是pure-ftpd提供的服务,可是我明明已经将其卸载了呀,细想一下恍然大悟,虽然卸载了他的软件包,但相关的服务还在内存里呢,于是kill之,一切恢复正常。
19、ssh:ssh服务的运行和配置不难,重要的是要学会scp命令进行
远程的文件共享操作,还要掌握配对密钥的生成与使用:
在本地主机上,以某一个用户a的身份,运行:ssh-keygen -t rsa
然后会生成公钥文件:~/.ssh/id_rsa.pub和私钥文件:~/.ssh/id_rsa,此时,用scp将生成的公钥文件上传至远程主机,
在远程主机上,建立~/.ssh文件夹,然后:cat id_rsa.pub >> ~/.ssh/authorized_keys,此处注意是>>而不是>,这样当不同的主机或不同的用户也需要和同一台远程主机建立联系时就不会产生影响。
这样就建立了两台计算机之间的关系,以后ssh登录时不再需要密码。
如果此时登录时出现以下信息:Agent admitted failure to sign using the key.
解决方法是:ssh-add ~/.ssh/id_rsa
在一些系统上需要将远程主机的.ssh目录的权限设为700,authorized_keys文件权限设为600。
在ssh学习的过程中,重点是scp命令,它可以方便的进行远程的备份,当然更好的选择是rsync(与sync很像,sync用来将内存立即写入硬盘),
几个常用的选项是:
-a 保留文件的属性
-r 递归
-H 保持文件硬链接
-z 备份文件传输时压缩
--progress 传输时显示进度
--delete 删除目标备份没有的文件
-e ssh 使用ssh进行加密
20、.bashrc和.bash_profile的区别:
.bashrc是交互式、non-login方式进入bash运行的
.bash_profile是交互式、login方式进入bash的
所谓的non-login和login方式很简单,在Xwindow下运行终端时,并没有登录,而在字符界面下,却是需要输入登录信息的,这就是两者的区别。