centos基本使用

        在学习类unix系统中,我使用本地安装VMWare+centos32位的方式进行学习,同时自己搭建了VPS。但是最开始的时候跟着网上的人进行的搭建,搭建出来效果不是很好,然后在慢慢摸索。

        最开始学习我是先通过Ubuntu进行学习的,下面是学习Ubuntu的基本过程。



        Ubuntu是一个类Unix系统,这里我使用的是VMWare+Ubuntu32位系统进行的搭建。

        下面先说说如何基本的搭建以及使用。

        Ubuntu如果现在64位的,那么往往需要设置电脑的BIOS,而我这里因为仅仅是学习之用,所以选择了32位的,就避免了设置BIOS选项。另外需要注意,下载Ubuntu是免费的,但是如果点进去之后出现需要付费的那些选项,可以直接将他们的金额修改成0,然后直接下载就行了,因为那些金额是其他需要额外服务的人或企业支付的,我们不需要。当把金额全部设置为0之后,下面的付费按钮会变成下载按钮,然后就可以直接下载了。总的来说就是Ubuntu是免费的,找到免费的下载即可。

        VMWare里面其实本身就有包含一些系统,例如Linux。这里添加Ubuntu的,需要创建一个Ubuntu自己的文件夹,这个文件夹下面存放的是Ubuntu的工作文件,这个文件将来会用的上。另外,注意,安装完之后,Ubuntu会需要下载其他很多东西,也是需要等待的,同时之后会需要给Ubuntu创建账户,这个账户不会在登陆界面显示,因为是使用虚拟终端tty1创建的。

        打开Ubuntu等开机完毕之后,我们会需要设置账户,这里注意,我们设置的账户会在登录页面显示,和guest游客登录是列表显示,我们需要双击之后切换成我们的账户登录,不然使用客户登陆的话,什么都做不了,因为guest账户是没有权限的。不过我们可以使用guest掌握创建账户,然后登陆这个账户,然后我们就拥有了大部分的权限。但是使用guest账户创建的用户账户和我们刚开始创建的账户是不一样的,guest账户创建的账户权限会少一点,例如sudo权限不完整。下面说一下账户。

        登录界面会纵向显示所有的账户,包括guest账户,需要双击切换登录。需要注意的是,我们在最初安装Ubuntu时,创建的账户在登陆界面上是不会显示的,因为这个账号是在tty1虚拟终端创建,在登陆界面显示的是我们为这个Ubuntu系统创建的名字,这点需要特别注意。

        另外,即使是创建帐户,初次创建的账户基本上拥有更多的权限,而后面创建的账户却容易权限缺失,这里做法有两种,分别是使用chsh和修改/etc/sudoers文件。这里原因是后面使用sudo adduser xx创建账户时,配置的shell是sh的,而不是bash的,所以会有一些命令不能使用,所以需要使用chsh对shell进行切换到bash这个shell。当然如果已经是bash了,那么就只能修改/etc/sudoers文件了。

        其实无论是什么操作,只要是拥有了root权限,就什么都好做了,这里在普通账户中,使用sudo -i可以切换到root账户,而不用密码,但是会有些限制。但是这里需要说的是,在新版本的Ubuntu中,root账户并不需要进行什么修改就可以直接使用tty登录,但是在图形界面tty7登录却是比较麻烦。


        需要搞清楚几个概念:控制台,终端,shell,tty等。其中使用ctrl+alt+T打开的其实是tty7虚拟终端的终端模拟器,也就是使用ctrl+alt+F7跳转到的我们使用的图形界面虚拟终端。同时注意,控制台,终端是物理设备。而我们操作的tty1-tty7是虚拟终端。最后需要注意的是,使用终端模拟器,也就是ctrl+alt+T跳出的terminal界面比tty1-6可以使用的命令要少,这点需要特别注意!tty的意思是teletypewriter,简单记为虚拟终端即可。shell是连接内核与应用层的工具,一般执行命令操作,输入输出等操作。

        sh,bash,su,chsh,cat等命令。这里sh是shell的缩写,是POSIX标准的命令集,位于/bin/sh下;而bash是bourne again shell的意思,是sh的超集,位于/bin/base下;而su是super user的缩写,一般用于账户操作等。我们平常的命令一般都是在sh和base下的;chsh是用来修改配置用户的shell,是change shell的简写,可以使用cat /etc/shells查看可以使用的shell;cat命令一般用来查看文件内容,追加文件内容,文件合并,创建文件等,cat命令是concatenate的简写。

        对于账户的操作,sudo adduser xx用于创建用户;su - xx,su xx用于切换用户;给root用户设置密码使用sudo passwd root;sudo -i可以将普通账户切换到root下;



        在Ubuntu的使用中,需要特别注意,往往最初开始使用时,键盘是对应不上的,需要在system setting中选择Text Entry选项,然后在input sources to use中选择chinese,添加我们需要的键盘。



        在files中选择devices的computer选项,下面都是系统文件,我们平时操作的路径都是在这个computer文件夹下的,computer文件夹就是根目录。另外,一些只读的文件在修改之后如果要保存,需要用“:wq!”,也就是多了一个“!”,不然保存不了。

        对于Ubuntu,我们需要多了解根目录下跟个文件夹下文件的作用,例如/bin文件夹下的基本都是可执行的二进制文件;/etc文件夹是系统管理和配置文件,而其中的/etc/rc.d是启动的配置文件和脚本(在类Unix系统下,d是daemon的意思);/home是用户主目录,常见使用方式是/home/username;/lib文件夹是我们是用的动态链接共享库;/mnt是让用户临时挂在其他文件系统;/root是系统管理员主目录;/sbin是系统管理员使用的管理程序;/dev是设备特殊文件;/var某些大文件的溢出区;/proc是虚拟目录,是系统内存的映射,可以直接访问,查看系统信息;

        最后需要特别注意的是/usr文件夹,这个文件夹是最庞大的文件夹,要用到的文件和程序几乎都在这里,例如/usr/x11r6文件是存放xwindow的文件夹;/usr/bin存放众多的应用程序;/usr/sbin超级用户的一些管理程序;/usr/include是linux下开发和编译应用程序需要的头文件;/usr/lib是常见的动态链接库和软件包的配置文件;/usr/man是帮助文文档;/usr/src是源代码,linux内核源代码在/usr/src/linux下;/usr/local/bin本地增加的命令;/usr/local/lib本地增加的库;


        这里常见的路径有:

1、/etc/sudoers,这个是用于操作sudo命令的文件,我们可以通过登录root账户,然后找到

root    ALL=(ALL)       ALL

这样一行,然后添加我们需要修改sudo权限的账户,格式跟上面的类似就可以了。需要注意的是进行vi操作最后的保存需要使用:wq!。这样账户就可以自由使用sudo命令了。


2、/etc/passwd用户数据库


3、/etc/shadow这个文件夹是使用了影子口令软件的系统上的影子口令文件,影子口令将/etc/passwd的加密口令转移到/etc/shadow上,而/etc/passwd是只有root可读的,这让破译口令变得更难,以此增加安全性。


4、/etc/shells列出可以使用的shell。chsh允许用户在本文件指定范围内改变登陆的shell。提供一台机器ftp服务的服务服务进程ftpd检查用户shell是否在/etc/shells文件中,如果不是,不允许用户登录。



        另外,一般Ubuntu不允许使用root账户在登录界面登录,但是我们如果有需要的话其实是可以修改成root登陆的,修改的方法是在/etc/lightdm/lightdm.conf这个文件,注意,这个文件如果在文件夹下查看,其实是不存在的,也就是说,其实是我们创建了lightdm.conf这个文件。另外需要特别注意的是,网上使用的修改/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf这种方法其实是完全没有效果的。其实这点从/usr与/etc文件夹就可以看出来!

        然后需要让root有密码,再重新登陆,进入用户登录界面,这个时候会多出一个login的选项,里面的输入框提示输入用户名,然后我们输入root并确认之后会提示输入密码,我们输入密码确认之后,root账户就可以登陆了!


ps:在类unix中,或者说Ubuntu中,一切皆是文件!

ps:注意,root权限具有最高权限,而我们创建的第一个账户才具有sudo权限,后面的账户都是权限不全的,也就是说,sudo权限也是有限的!另外,应该说,最开始root账户本身是没有密码的,因为密码一直在变化,所以这个时候我们可以使用su -i切换到root账户。而我们可以通过sudo passwd root给root一个明确的密码。

ps:常见的操作命令有文件操作命令:cd,mkdir,mv,ls,cp,使用pwd查看当前路径;使用man命令加上需要查看的命令,可以查看该命令的使用方式;使用apt-cache search搜索软件;


        在Ubuntu中一般使用apt-get进行软件的安装和删除,但是如果需要一个软件管理的工具,可以使用synaptic新立得工具。使用aptitude命令,这个命令的使用和apt-get类似。使用synaptic可以让Ubuntu上的软件的管理变得简单,包括安装,删除等。另外,如果使用apt-get对软件进行管理,那么需要学习如何使用apt-get管理!学习管理软件!


        这里将gnome切换成xfce桌面环境应该注意,桌面环境图标会在登录界面中密码输入上面显示,同时注意,gnome和xfce是不兼容的!

        xfce安装命令sudo apt-get install xfce4或者sudo apt-get install xUbuntu-desktop,后者包含更多的软件;关键在于删除桌面环境比较麻烦。




        这里学习Ubuntu重点在于命令以及脚本的掌握!



        这里注意,在Ubuntu中,root权限最高,然后是我们首次创建的账户,这个账户权限是administrator,然后再创建的用户是标准账户,权限是standard。我们可以使用这些账户给root账户设置密码,然后使用root登录,这里guest游客账户不具备这些功能。另外,需要注意,standard的账户如果需要具有administrator的sudo权限,需要在/etc/sudoers中添加自己的信息,格式可以参考里面root的格式!


        使用gedit命令可以打开文件进行编辑,gedit是Ubuntu默认的文本编辑器,类似于windows的notepad,但是我们已可以使用vi,vim或者nano命令进行编辑,但是应该明确vi,vim,nano一般用于脚本的编辑,而gedit是文本编辑。另外nano命令是一个简单的脚本编辑器,而vi,vim更为强大而复杂;


        对于命令,常见的操作命令有文件操作命令:cd,mkdir,mv,ls,cp,使用pwd查看当前路径;ifconfig显示系统的网络;locate命令会提前创建数据库,将系统的文件档案归档,然后搜索的时候是搜索数据库而不是真的去搜索系统文件,而这个数据库的更新时间一般是系统维护的,所以存在搜索出错的可能,但是locate命令确实比find命令快;使用gedit编辑文本,使用nano,vi,vim编辑脚本;

        对于Ubuntu,最应该开始掌握的应该是Ubuntu下,软件的管理,特别是软件的安装与卸载。在Ubuntu下,如果使用自带的命令,那么需要使用的是apt-get这个命令。另外,需要注意的是,在Ubuntu下,一切皆是文件这个概念。然后常见的使用方式有:

1、apt-cache show package获取包的相关信息

2、apt-cache search package搜索包

3、apt-get install package安装包

4、apt-get install package --reinstall重新安装包

5、apt-get -f install package修复安装,-f=--fix-missing

6、apt-get remove package删除包

7、apt-get remove package --purge删除包,包括删除配置文件等

8、apt-get update更新源

9、apt-get upgrade更新已安装的包

10、apt-get dist-upgrade升级系统

11、apt-cache depends package了解使用依赖

12、apt-cache rdepends package查看该包被那些包依赖

13、apt-get build-dep package安装相关的编译环境

14、apt-get source package下载该包的源代码

15、apt-get clean,apt-get autoclean清除无用的包

16、apt-get check检查是否有损坏的依赖包

        其实关键还是软件的删除比较麻烦而已,常规的删除过程一般是:

1、使用apt:(1)apt-get remove soft1 soft2移除式卸载;(2)apt-get --purge remove soft1 soft2或者apt-get purge remove soft1 soft2清除式卸载,也就是会同时删除配置文件等;

2、使用dpkg:(1)dpkg -r package1 package2移除式卸载;(2)dpkg -P package1 package2清除式卸载;


        注意,一般卸载使用还需要使用apt-get autoclean清除一下。但是实际上在使用中,使用apt方式卸载gnome并没有清除干净。所以如果可以的话,对于一些重要的卸载还是使用如synaptic这样的工具来卸载的好。另外需要注意对于一些下载,会有兼容性的问题,这些问题会破坏软件的使用,或者系统环境,例如ppa对于gnome就不兼容这点需要特别注意!不兼容可能会导致最后的卸载不彻底!这里需要注意!




        到这里过是我学习Ubuntu的过程,但是在这个过程中,我发现,其实相对于Ubuntu,centOS其实更适合。虽然centOS存在没有公开的代码,这是因为基于red hat引起的,但是我们在使用中实际上并不会研究到那么深。重要的是centOS比Ubuntu更加简洁,稳定,更适合服务器。最重要的是,如果要搭建VPS,那么其实使用centOS会更加适合,速度也会更快。


        相对于Ubuntu,centOS的安装有两个CD,我这里只是安装了CD1,。另外,centOS7以前的桌面使用的是gnome2的,这个桌面更加简洁,但是同时也存在一定的问题,但是相比gnome3,个人感觉简洁的gnome2更好。但是个人觉得学习centOS的话,其实还是不要使用桌面的好,因为centOS本身就是用于安装在服务器上的,而服务器上的centOS为了效率和开支等问题,实际上不需要界面。这里界面是为了最开始的了解centOS的文件结构和相关设置,命令等而先用着,最后只使用终端就可以了。

        所以,如果需要掌握centOS,那么需要掌握:1、文件结构。能够以最快的速度找到自己需要的文件的路径;2、命令,脚本。需要会写脚本,掌握linux的脚本语言;3、linux的运行原理以及操作,特别是进程,网络,服务等;4、在centOS上部署java项目;



        先说说VPS的搭建。在搭建centOS中需要注意,easy_install是setuptools里面的功能。centOS的yum,rpm对应Ubuntu的apt-get,dpkg命令。另外,setuptools类似于java的ant,是一个用来下载需要的包,打包,发布等功能的工具。setuptools是python的管理工具。这里我们用到了setuptools的easy_install功能,用于下载pip。另外,centOS一般用.rpm包来安装。

        总的来说,引导setuptools的ez_setup和随之而生的扩展后的easy_install和PyPI(python package index)一起工作,实现下载,编译,安装和管理python的包。

        VPS搭建中,安装centOS和装shadowsocks都不是问题,但是需要注意的是,让shadowsocks服务持续运行是个问题,这也涉及到了我VPS的运行效率问题。最开始使用的是nohup命令,让shadowsocks服务持续运行,但是实际上nohup命令作为系统自带的命令,它的作用其实是将shadowsocks服务做成后台服务,同时,当遇到突发状况之后,重启服务的时间会比较长,甚至不能估量重启的时间。

        在centOS中,其实最好的方式是使用supervisor。supervisor是一个进程进程监控程序,使用它,我们可以将shadowsocks进程做成daemon守护进程,然后对应突然状况,中断的状况,重启速度更快,因为supervisor是监控程序。


        对于supervisor的使用




未完成








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值