linux系统搭建
1. 来学一学linux系统中SHELL环境的搭建技巧
什么是 LINUX SHELL环境?shell在会话中会保存着大量信息,而这些信息就是shell环境。LINNX命令程序通过获取SHELL环境中的数据(此处的数据通常称为环境变量)来输出本机相应的配置数据。
LINUX环境变量
Linux shell环境中存储了两种基本类型的数据:环境变量和shell变量。当然,除了变量,shell也存储了一些可编程的数据,即别名和shell 函数。
如何查看环境变量呢?
我们可以用bash命令set,或者使用printenv命令程序来查看环境变量。
它们的区别是:set 命令不仅显示shell数据,而且可以显示环境变量列表,而printenv命令仅仅显示环境变量列表。
鉴于环境变量列表比较长,我们可以将每个命令的输出通过管道符传递给less 来输出列表,例如:
//执行命令
[test@linuxprobe ~]$ printenv | less
//输出内容:环境变量及其数值的列表
KDE_MULTIHEAD=false
SSH_AGENT_PID=6666
HOSTNAME= linuxprobe
GPG_AGENT_INFO=/tmp/gpg-PdOt7g/S.gpg-agent:6689:1
SHELL=/bin/bash
TERM=xterm
XDG_MENU_PREFIX=kde-
HISTSIZE=1000
XDG_SESSION_COOKIE=-1208521990.996705
-1177056199
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/me/.gtkrc-2.0:/home/me/.kde/sh
are/config/gtkrc-2.0
GTK_RC_FILES=/etc/gtk/gtkrc:/home/me/.gtkrc:/home/me/.kde/share/confi
g/gtkrc
GS_LIB=/home/me/.fonts
WINDOWID=29360136
QTDIR=/usr/lib/qt-3.3
QTINC=/usr/lib/qt-3.3/include
KDE_FULL_SESSION=true
USER=test
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01
:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe:
//printenv 命令也可输出特定变量- USER的数值:
[test@linuxprobe ~]$ printenv USER
test
建立LINUX shell 环境
每当我们登录系统后,bash 程序就会自动启动,且会读取一系列配置脚本,这些配置脚本被称为启动文件。这些启动文件定义了可供所有用户共享的默认shell 环境。
那么位于家目录中的启动文件,定义了用户个人的shell 环境。
确切的启动顺序取决于shell 会话类型模式。有两种shell 会话类型模式:一个是登录shell 会话模式,另一个是非登录shell 会话模式。
登录shell 会话模式中会提示用户输入用户名和密码;非登录shell 会话模式通常在GUI下启动终端会话时出现。
登录shell 会话模式下启动文件内容:
非登录shell 会话模式下启动文件内容:
修改linux shell环境
依据通常的操作思路,通过添加目录到PATH 变量或定义新的环境变量,再把这些更改存放至.bash_profile 文件中;那么对于其它的更改呢,需要存放至.bashrc 文件中。
除了系统管理员具将系统中的所有用户修改默认设置的权限外,其他用户只能限定对个人家目录下的文件进行修改。
我们通过使用一个叫做文本编辑器的程序来编辑(或读、写)shell 的启动文件以及其它配置文件。文本编辑器是一个类似于文字处理器的程序,允许使用移动光标在屏幕上编辑。但不同之处在于文本编辑器不仅支持纯文本,而且常包含为便于写程序而设计的特性。由此可见,文本编辑器是开发人员用来写代码,以及系统管理员用来管理控制系统的配置文件的重要工具之一。
文本编辑器通常分为两种基本类型:图形化的和非图形化的(基于文本)编辑器。
一些典型的图形化编辑器有GNOME 和KDE。GNOME编辑器自带了gedit 的编辑器,它通常在GNOME 菜单中称为“文本编辑器”。KDE自带了三种编辑器,分别是kedit,kwrite,kate。
那么基于文本的编辑器有nano、vi 和emacs。
nano 编辑器是一个简单易用的编辑器。vi 编辑器(目前已被vim (“Vi IMproved” 的简写)替代)是类Unix 操作系统的传统编辑器。emacs 编辑器属于庞大的、多用途的,可做任何操作的编程环境。
无论哪种类型的文本编辑器都可以在命令行中输入编辑器的名字及想要编辑的文件名,执行文本编辑操作。在这篇文章中,我们学到了用文本编辑器来编辑配置文件的基本技巧。
这篇文章主要讨论了linux SHELL环境的一些基础知识及基本的操作技巧。在编写这篇文章过程中我还参考了 《Linux就该这么学(第2版)》 这本书,基于红帽8编写,内容很贴近实践,很有理论指导实践价值的一本书籍。
2. 在Linux下搭建Git服务器
众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到GitHub上,如果我们不原意公开项目的源代码,公司又不想付费使用,那么我们可以自己搭建一台Git服务器,可以用Gitosis来管理公钥,还是比较方便的。
搭建环境:
服务器 CentOS6.6 + git(version 1.8.3.1)
客户端 Windows10 + git(version 2.11.1.windows.1)
1. 安装Git相关软件
Linux是服务器端系统,Windows作为客户端系统,分别安装Git
安装客户端:
下载 Git for Windows,地址:https://git-for-windows.github.io/
安装完之后,可以使用Git Bash作为命令行客户端。
安装Gitosis
出现下面的信息表示安装成功了
2. 服务器端创建git用户来管理Git服务
3. 配置公钥
在Windows上配置管理者,git服务器需要一些管理者,通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者,打开git命令行
4. 配置gitosis
使用git用户并初始化gitosis
在Windows上机器上clone gitosis-admin到管理者主机
gitosis.conf: git服务器配置文件
keydir: 存放客户端公钥
配置 gitosis.conf 文件
在Windows管理者机器上创建本地test仓库,并上传到git服务端
提交到远程服务器
服务端会自动创建test仓库
5.添加其他git用户开发者
由于公司开发团队人数不断增多,手动添加开发者私钥到/home/git/.ssh/authorized_keys比较麻烦,通过上面的Windows机器的管理者统一收集其他开发者的私钥id_rsa.pub文件,然后传到服务器上,配置好后,用户即获得项目权限,可以从远程仓库拉取和推送项目,达到共同开发项目。
推送完成后,新加进来的开发者就可以进行项目的开发了,后续增加人员可以这样添加进来,开发者直接把仓库clone下来就可以了。
3. 搭建Linux系统的VPS的步骤教程
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 操作系统 。有用户想要在Linux上搭建vps这篇 文章 主要介绍了实例讲解搭建Linux系统的VPS的步骤,包括防火墙和SSH等基本软件的部署 方法 ,非常细致,需要的朋友可以参考下
前期准备
需要购买一台拥有 root 权限的 VPS ,我选择的是 搬瓦工 ,当时购买的是 512 M 内存 5 G SSD,500 G 流量/月, 9.99 刀每年,但是好像现在这种低价套餐已经结束了。有意的朋友可以看一下其他的套餐或者别的公司的 VPS。有的朋友说 DigitalOcean 的速度非常快,看YouTube直接 1440p,但是我还没测试过,目前搬瓦工的速度能满足我的需求,而且 DO 的价格比较昂贵。
服务器购买后,安装 CentOS7,因为以下教程都是基于 CentOS7 的,安装新的 OS 后,搬瓦工会告诉你 SSH 的端口和 root 的密码,这些是自己无法自定义的,要记住了如果实在忘了也可以重置 root 密码,或者直接使用搬瓦工提供的在线SSH登录来操作也可,就是反应比较慢,所以我们以后还是常用 ssh 登录来配置 VPS ,Mac 下直接使用终端就好,win 下自行寻找一个 ssh 工具就好。
登录 ssh 的命令:
复制代码代码如下:
$ ssh -p vps 端 口号 root@vpsIP 地址
登录上以后就相当于在本地操作一样了,你可以使用各种 Linux 命令来操作了。
配置防火墙
如果 SSH 无法登录,那说明防火墙关闭了 SSH 端口,需要通过在线 SSH 登录进去关闭防火墙重新配置。
清除防火墙配置
复制代码代码如下:
$ iptables -F
清除 iptabels 所有表项,同时 nat 设置也没了,但是我们后续的脚本里会配置的,不用担心。如果 SSH 登录正常就不用管防火墙。
安装 firewalld
复制代码代码如下:
$ yum install firewalld firewall-config
$ systemctl start firewalld
P.S. 我在安装完 firewalld 之后然后启动服务的时候一直显示失败,然后重启了一遍服务器就可以正常的启动 firewalld 服务了,有类似情况的朋友可以重启一下服务器。
修改 SSH 端口
复制代码代码如下:
$ vi /usr/lib/firewalld/services/ssh.xml
会出现以下的内容:
复制代码代码如下:
SSH
Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.
将 port=”22”,修改成搬瓦工提供给你的端口号,然后重载 firewalld 就 OK。
vi 的命令: 按 “i” 是编辑模式,编辑后按 “esc” 退出编辑模式,然后按 Shift 输入“:” 和 “wq” 保存退出 vi。
复制代码代码如下:
$ firewall-cmd --permanent --add-service=ssh
$ firewall-cmd --reload
OK,现在准备工作都已就绪,安装了源,安装配置了防火墙,下一步开始搭建服务了。
搭建 Shadowsocks 服务
这个服务是最简单也是最常用的。
安装组件
复制代码代码如下:
$ yum install m2crypto python-setuptools
$ easy_install pip
$ pip install shadowsocks
安装时部分组件需要输入 Y 确认。小内存 VPS 可以分别安装组件。
安装完成后配置服务器参数
复制代码代码如下:
$ vi /etc/shadowsocks.json
写入如下配置:
复制代码代码如下:
{
"server":"0.0.0.0",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
将上面的 mypassword 替换成你的密码, server_port 也是可以修改的,例如 443 是 Shadowsocks 客户端默认的端口号。
如果需要修改端口,需要在防火墙里打开响应的端口,用 firewalld 操作就比较简单了:
复制代码代码如下:
$ vi /usr/lib/firewalld/services/ss.xml
下面代码粘贴到里面:
复制代码代码如下:
SS
Shadowsocks port
保存退出,然后重启 firewalld 服务:
复制代码代码如下:
$ firewall-cmd --permanent --add-service=ss
$ firewall-cmd --reload
运行命令,启动 Shadowsocks 服务
运行下面的命令:
复制代码代码如下:
$ ssserver -c /etc/shadowsocks.json
至此 shadowsocks 搭建完成,shadowsocks 已经可以使用,如果你没有过高的要求,下面的步骤可以省略,下面是后台运行 Shadowsocks 的步骤。
安装 supervisor 实现后台运行
运行以下命令下载 supervisor:
复制代码代码如下:
$ yum install python-setuptools
$ easy_install supervisor
然后创建配置文件:
复制代码代码如下:
$ echo_supervisord_conf > /etc/supervisord.conf
修改配置文件:
复制代码代码如下:
$ vi /etc/supervisord.conf
在文件末尾添加:
复制代码代码如下:
[program:ssserver]command = ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
startsecs=3
设置 supervisord 开机启动,编辑启动文件:
复制代码代码如下:
$ vi /etc/rc.local
在末尾另起一行添加:
复制代码代码如下:
$ supervisord
保存退出(和上文类似)。另 centOS7 还需要为 rc.local 添加执行权限:
复制代码代码如下:
$ chmod +x /etc/rc.local
至此运用 supervisord 控制 Shadowsocks 开机自启和后台运行设置完成。重启服务器即可。
搭建 Strongswan 实现在 iOS 上连接 VPN
补充:Linux基本命令
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd .. 返回上一级目录。
cd ../.. 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
相关阅读:Linux主要特性
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
搭建Linux系统的VPS的步骤相关文章:
1. Linux VPS中使用Crontab实现定时重启任务
2. Linux系统怎么用命令释放内存
3. Linux服务器上的PPTP 搭建方法有哪些
4. VPS怎么设置安全配置
5. Linux查看操作系统安装时间的方法总结