CentOS 7 升级内核开启 BBR

有两台在美国的 VPS,带宽是千兆, 系统跑的是 CentOS 7,不过一直以来都跑不满百兆.最近看到 Linux Kernel 4.9 版本已经正式发布有段时间了,而谷歌的 BBR 流量拥塞算法已经合并到 4.9 的内核主分支中了, 就记录下升级CentOS 内核试试 BBR 的过程. 首先要有 root 或 sudo 权限. # 安装最新 Linux Kernel 的 CentOS 源 rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm … “CentOS 7 升级内核开启 BBR”

Read More

ubuntu16.04 安装apache2报错 解决方案

从ubuntu 14.04 升级ubuntu16.04后,apache2无法启动,如下报错: Starting apache2 (via systemctl): apache2.serviceJob for apache2.service failed because the control process exited with error code. See “systemctl status apache2.service” and “journalctl -xe” for details. failed! 卸载apache2 再次重装仍报错: Job for apache2.service failed … “ubuntu16.04 安装apache2报错 解决方案”

Read More

vmware下安装Fedora24Workstation

到官网下载iso镜像 打开vmware选择典型-Linux-Fedora64,分配cpu内存硬盘。cpu建议分配两个核,一个核玩图形界面会有点卡;内存也建议2G,硬盘大小看需求,后其扩展比bsd方便多了. 开启后按提示安装,安装过程中可以设置账户,语言等配置。root密码和新建普通用户密码太短需要按两次确定(Done)。 安装完毕后退出(Quit),然后重启即可。 进入系统不要更新VMware Tools,会发生内核错误。 打开terminal输入su切换root账户,用yum升级系统应用。 yum upgrade 配置ssh workstation默认没启用ssh systemctl enable sshd.service systemctl start sshd.service 然后查看是否成功开启 systemctl status sshd 装了freebsd还装fedora

Read More

FreeBSD官方vmdk镜像在VMware上配置记录

FreeBSD官方vmdk镜像在VMware上配置记录 首先在官方下载vmdk格式系统包,64位的地址FreeBSD-xx.x-RELEASE-amd64.vmdk.xz下载完毕后用7-zip解压得到vmdk包。 设置账户密码 启动freebsd,默认root账户登陆且无密码, 使用passwd设置密码。 添加普通用户adduser Uid (Leave empty for default) :默认按Enter Login group [xxxx]:默认按Enter Login class:默认按Enter Shell (sh csh tcsh zsh ksh bash nologin) [sh]:根据登陆方式选择。 Home directory [/home/xxxxx]:默认按Enter Use password-based authentication? [yes]:使用密码认证。默认按Enter Use an … “FreeBSD官方vmdk镜像在VMware上配置记录”

Read More

硬链接和软链接

硬链接不占用inode,只占用目录项。 软链接占用inode。 创建链接命令ln,硬链接只将对应的inode在目录总增加一个名字,并且将inode的引用计数器+1。 为了可以跨文件系统和对目录进行链接,创建了软链接这种方式。ln -s int main() { struct stat buf; stat(“file”, &buf); struct stat buf2; lstat(“file”, &buf2); // 如果lstat的参数所指文件不是链接文件 // 那么它的效果和stat一样 struct stat buf3; lstat(“file2”, &buf3) } 读取symlink内容使用readlink命令。 删除软链接不会删除软链接指向的文件。

Read More

关于界面和控制台以及终端三者间不得不理一下的关系

界面 界面其实分为图像界面和命令行界面,它的作用就是用来显示的信息与用户交互的.图像界面能显示文本和图像,丰富多彩;而命令行界面则智能显示文本字符串,略显单一. Consloe–控制台是虾米? Consloe,中文翻译为控制台.看中文名就知道它的作用是用来交互用的.确实,在Unix系统中,它叫做控制台终端,通常由显示器键盘等输入输出设备构成一个整体,并且/dev/console会与tty0相互关联. Terminal–终端是虾米? Terminal,中文翻译为终端.终端的作用是与用户交互,接收来自tty设备的输入. 终端的种类分为命令行终端与图形终端.显而易见的,命令行终端只能单调的显示文本字符,而图形终端则还能显示图像. 那么什么是tty呢? 其实tty也是个终端,只不过它是个虚拟终端.在早期打字机时代,对电传打字机(Teletype)的英文缩写就是tty,因此tty就成为了虚拟终端输入设备的简称.通常Unix系统下登录的终端有tty0-tty63,在登陆后会映射到某虚拟终端设备,比如tty1. 关于Shell,其实Shell就是一个用户操作系统的入口.Shell也分为图形Shell和命令行Shell.本质上它其实就是一个程序,加载了系统信息和本身的语法规则.比如有csh,zsh,bash等终端程序.对系统进行一些配置,终端启动后,系统会自动启动加载它们,然后我们其实就是在这些终端程序中进行操作. 总结 —————————— | CLI/GUI | | ——————– | | | Consloe/Terminal | | | | ————- | | | | | Shell | | | … “关于界面和控制台以及终端三者间不得不理一下的关系”

Read More

收集了一些在Linux下查看系统和硬件配置的相关命令

显示操作系统的相关信息: uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备 lsmod # 列出加载的内核模块 env # 查看环境变量 uptime # 查看系统运行时间、用户数、负载 … “收集了一些在Linux下查看系统和硬件配置的相关命令”

Read More

使用SSH/SCP的压缩传输选项-C

早期网络特别差,比如说在我小时候1999年那会的64K调制解调器拨号上网时代,为了稳定实时的传输通常会启用压缩。 现如今的网络环境下,在一般是不会用到这种选项。但是如果在限速的情况下传输较大文件时,可能还是会用到,比如现在学校给接入网络的学生限速到1Mbps,传个文件真是要了老命。 这种时候为了加快往服务器上传输文件,可以有两种选择: 1. 可用先用tar命令先压缩,传输结束后在解压。 2. 使用SSH/SCP命令自带的压缩选项 -C 在传输的过程中直接压缩,到服务器后自动解压。 很明显,第二种方便多了。 在开启压缩模式下,默认就是调用gzip算法进行压缩,并且这里同样可以设置压缩等级CompressionLevel项,默认是6,最高时9。配置文件默认在/etc/ssh/ssh_config或当前用户的~/.ssh/ssh_config中。

Read More

UNIX环境高级编程-系统

系统组成 系统–>硬件: 系统–>软件: 软件–>应用程序: 软件–>操作系统: 操作系统–>内核: 操作系统–>系统软件: 操作系统–>硬件: 硬件–>CPU: 硬件–>内存: 硬件–>键盘: 硬件–>鼠标: 硬件–>硬盘: 硬件–>显卡: 操作系统 操作系统这个词语有二意性,有时指内核,有时指内核和系统工具软件的组合。 由操作系统提供操作接口,支持用户通过该接口来操作系统,但是系统本身提供的功能,不足以完成用户需求时,则需要开发应用程序来拓展系统功能。 操作系统–>Linux: 操作系统–>Windows: 操作系统–>Hackintosh(OSX): 操作系统–>UNIX: 启动流程 st=>start: 上电 op2=>operation: 主板BIOS op3=>operation: Boot op4=>operation: Kernel op5=>operation: Init op6=>operation: Login e=>end: … “UNIX环境高级编程-系统”

Read More

将Apache换成Nginx

其实Web驱动用哪个,哥觉得对哥这种小小的个人博客来说是无所谓的. 因为即便Nginx的极限性能强过同环境下的Apache,但你一个博客的访问量每秒最高还能超过1k/qps?日访问能上10W的PV? 基本达到了,对于再垃圾的Web驱动,这么点压力也是洒洒水. 但是本着誓死折腾的信念,对于新技术的爱好/追求/包容,哥决定玩玩. 由于Nginx已经早早的进入yum的源里了.因此只需要使用命令yum install -y nginx即可轻松安装Nginx了,没必要自己编译了. 接着关闭Apache服务service stop httpd.然后编辑Nginx的配置文件,这里需要注意的是,Nginx的配置文件存在三个地方: – /etc/nginx/nginx.conf 这个配置通常不需要改动,里面配置一些全局通用的参数. – /etc/nginx/conf.d/*.conf 一些全站相关的配置也可以放这里. – /etc/nginx/sites-enabled/* 这儿放每个站点的配置,也就是虚拟主机了. 哥只有一个站点,那么只需改/etcnginx/conf.d目录下文件即可. server { listen 80; #绑定监听端口 server_name goddick.com www.goddick.com; #站点名称 root /var/www/; #站点根路径 index index.html … “将Apache换成Nginx”

Read More