Linux代理设置

网上找了一堆的教程,其实都提到了,但没提到关键的容易踩中的坑:两者的环境变量名不同!

  1. shell中可用的全局代理,是在/etc/profile文件或~/.bash_profile中export http_proxy=http://xxxx的方式实现;注意:环境变量名是http_proxy;
  2. yum则需要修改/etc/yum.conf文件,而其中的变量名是proxy!!!

Continue Reading

Linux配置虚拟内存

  1. 用root用户登录系统
  2. 创建/usr/swap目录
  3. 执行dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096
  4. 其中的4096可修改为2048或其它大小,为虚拟内存大小;
  5. mkswap /usr/swap/swapfile
  6. swapon /usr/swap/swapfile
  7. 修改/etc/fstab,在第一行后(视情况)增加一行/usr/swap/swapfile swap swap defaults 0 0
  8. 重启:)通过free -m检查
Continue Reading

Linux命令经验——mount相关

之前用过很多次mount相关的功能,包括加载远程NFS等,最近因为配置vsftpd又用到,所以记录一下。

绑定A与B目录

这一操作感觉上类似于ln -s或者ln(实际上)。区别在于ln根本不能实现(硬链接不支持目录),而ln -s实际上是创建了一个文件指向了目标。

需求来自于一个ftp的配置。多个帐户要求共享若干个目录,每个帐户又有各自独立的目录,并且这些目录需要隐藏而不仅仅是禁止访问。

解决的方案是:

mount -bound /source/dir /target/dir

在fstab中启动时加载

这也是经常需要的功能,毕竟一次性加载的时候不多。

方法是编辑/etc/fstab文件,此文件的各个字段的标准解释参考这里

简单点说包括:fs_spec(加载系统) fs_file(挂载点<目录>) fs_type(文件系统类型) fs_options(参数) fs_dump(转储频率) fs_pass(启动时加载顺序)

翻译得通俗一点就是;

/source/dirOrDevice    /target/dir     file_system_type option1,option2 #1 #2

其中#1,#2一般为0,0。

对于上面提到的A目录挂载B目录时,对应的写法是:

/ftp/public     /ftp/users/ftp/public       none defaults,bind 0 0

字段之间可以使用“任意数量”的“空字符”分隔,至少包括:空格和制表符,且允许多个。

选项(option)之间使用逗号分隔。常用的除了上面的defaults,bind之外,还有ro(只读),rw(读写)等。

在另一个项目中,我试过用如下的方式加载远程的目录,通过NFS方式共享文件,实现上传文件的统一管理。

172.17.16.24:/nfs/upload    /nfs/upload    nfs    defaults 0 0

172.17.16.24:/nfs/archive    /nfs/archive    nfs    defaults 0 0

172.17.16.24:/nfs/share    /nfs/share    nfs    defaults 0 0

与之对应的的NFS配置虽然与mount无关,这里也列一下以便对照。

/nfs/share 172.17.16.25/32(rw,sync,no_root_squash,no_all_squash)
/nfs/share 172.17.16.30/32(rw,sync,no_root_squash,no_all_squash)
/nfs/share 172.17.16.45/32(rw,sync,no_root_squash,no_all_squash)
/nfs/archive 172.17.16.25/32(ro,sync)
/nfs/archive 172.17.16.30/32(ro,sync)
/nfs/archive 172.17.16.45/32(ro,sync)
/nfs/upload 172.17.16.25/32(rw,sync,no_root_squash,no_all_squash)
/nfs/upload 172.17.16.30/32(rw,sync,no_root_squash,no_all_squash)

fstab校验

之前遇到过一次修改了fstab把主机搞挂了的情况,所以一直对修改这个文件有点发怵,今天上网发现了一个命令,应该是非常实用的:

mount -a

该命令尝试加载fstab文件,可以不重启验证fstab文件是否有异常。

解除挂载

其实这个命令很简单,就是umount 挂载点路径

唯一需要说明的就是不是unmount,而是umount,一开始打错了。

Continue Reading

VPS常用操作

我的VPS,除了这个网站还赚着SS服务器的功能,但是Linux用得少,有些操作还是经常忘记了。

1、查看端口打开情况
netstat
注意的是windows下可以用netstat -ano用数字方式查看所有端口,但在Linux只能用netstat -an
另外,如果只用netstat也能看到连接,但只能看到已经连接的。
如果是处于Listen状态的打开端口则看不到,因此一般要用
netstat -a
来查看

2、Shadowsocks的配置文件

启动
ssserver -start
ssserver -stop

配置文件位置
/etc/shasowsocks/config.json

3、过滤
|grep 参数
比如
netstat -an | grep 1234
就只显示有1234的行

4、查看占用或连接某端口的程序
losf -i:XXXX
其中XXXX为端口号

5、查看进程
ps
ps -aux

Continue Reading