Skip to main content

Command Palette

Search for a command to run...

新装Linux需进行的配置

Updated
1 min readView as Markdown

但凡喜欢折腾虚拟机或者云服务器什么的,总是免不了重装1,2,3...n...次Linux系统,有些操作只是无情的体力活,做个总结对照着操作当然会快上很多。不过这方面的总结已经烂大街了,而且我也不觉得自己写出来的东西能够比其他人更出色,所以此处只是一个无情的优质链接归类,用以归档一些新装Linux系统总是会执行的一些操作

磁盘

  1. 磁盘的格式化和分区:Linux 磁盘分区、格式化、目录挂载
  2. 磁盘的UUID与开机自动挂载:Linux磁盘分区UUID的获取及其UUID的作用

国内源

Linux自带的系统源访问总是不够快速,需要换成国内源

Ubuntu

  1. Ubuntu各版本国内阿里云源列表
  2. 清华Ubuntu源列表

习惯配置

超时退出

  1. /etc/ssh/sshd_config中设置以下两项,避免ssh超时。修改完成后执行systemctl restart sshd.service(RHEL/CentOS)或者systemctl restart ssh.service(Debian/Ubuntu)
ClientAliveInterval 300
ClientAliveCountMax 10000
  1. /etc/profile中确认有无TMOUT配置,如果有,将其改为:export TMOUT=0

vim

vim可以配置搜索高亮、当前行下划线等等。我喜欢直接修改全局配置文件/etc/vimrc或者/etc/vim/vimrc(不同系统可能稍有差别),毕竟系统就我一个人用:smirk:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030
set hlsearch
set cursorline
set statusline=%F%m%r%h%w%=\ [ft=%Y]\ %{\"[fenc=\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\"+\":\"\").\"]\"}\ [ff=%{&ff}]\ [pos=%04l,%04v][%p%%]\
set laststatus=2

cpu数量

将cpu个数写入到/etc/profile中,这样在编译代码时使用起来更方便,因为有些时候直接通过make -sj编译而不指定cpu个数的话,在配置不高或者资源紧张的机器上会报错。执行如下命令:

echo "export cpu=$(grep processor /proc/cpuinfo | wc -l)" >> /etc/profile && source /etc/profile

git配置

包括git用户名/邮箱的添加、ssh-key生成等,直接参见git官方手册即可

ssh互信

windows与linux,linux与linux之间的互信配置都可以这样配置,其中windows机器可以通过git-bash来执行ssh相关的命令

  1. 生成ssh-key,例如:

    ssh-keygen -t rsa
    
  2. 将公钥复制到远程主机上:

    ssh-copy-d -i ~/.ssh/id_ras.pub root@{remote_ip}
    

Git等网站的ip映射

只能一定程度上缓解这些国外域名访问过慢的问题,即带来的速度提升有限

以github为例:

  1. Dbs检测网站中输入github.comgithub.global.ssl.fastly.net两个域名,可以得到一些ip地址
  2. 在对应的linux机器上检测这些ip地址的连接速度
  3. 选择速度最快的一个ip,将对应的映射添加到/etc/hosts中,例如:echo "52.69.186.44 github.com" >> /etc/hosts
  4. 重启网络/etc/init.d/networking restart或者service network restart

使用中的问题

在使用中遇到的一些问题可以自行在网上搜索,或者求助对应的开源社区

  1. Ubuntu中文论坛

常见问题归档

  1. 新增的用户只显示$
  2. Linux coredump文件设置
  3. Ubuntu 用户添加和取消su权限

More from this blog

PostgreSQL中的VFD机制

概述 通常来说,操作系统对于单个进程中能打开的文件数是有限制的,而数据库需要频繁的操作文件。为了方便使用,pg实现了VFD(Virtual File Description,虚拟文件描述符)机制,本质是对与底层文件操作的一层封装,这样所有需要直接操作文件的地方可以调用VFD,避免上层还需要管理文件操作符。 这层封装主要是采用了一个LRU(Leaset Recently Used)缓存池来管理本进程中打开的所有VFD。当LRU池未满时,进程可以直接申请一个VFD用来打开一个物理文件;而当LRU池已...

Aug 29, 20212 min read113

PostgreSQL中的pg_stat

pg_stat(包括pg_stat_xx)这一系列视图及其功能,在官方手册里都被划归在Postgresql统计收集器下面,用于收集信息和报告服务器的活跃性。各个视图的具体作用可以主要参照官方手册中的相应介绍 下述的分析内容皆为pg9.2版本源码 整体分析 pg_stat作为PostgreSQL数据库的状态统计和信息收集的作用,其触发点有多处: autovacuum launcher process stats collector process 手动vacuum和analyze 其中手动...

Aug 29, 20214 min read57

C和Cpp编译链接过程

以下介绍中有2个约定: 下面介绍中使用的编译器为gcc/g++,所有执行命令中gcc可以与g++互换 gcc/g++编译命令允许跳过中间文件的生成,而直接得到所需的输出文件。但为了逻辑连贯,默认每一阶段将以上一阶段的输出文件作为源文件,后续不在赘述 整体介绍 C和Cpp代码编译链接的整体过程如下: 狭义上来说,编译就是指上图中从预处理文件到汇编语言文件的这个阶段,但是广义上来说,编译是链接之前的所有阶段。每个人的叫法并不相同,需要具体看待。不过下面的分析中,为了更详细的介绍,所以遵循狭义上...

Aug 29, 20212 min read60
L

LemonTea

5 posts

以书识温养体悟,以时间见心明性