linux基础

3.2 Linux常用命令

3.1.1 基本日常操作命令  

1、查看当前所在的工作目录的全路径 pwd

[test@hdp-node-01 ~]$ pwd

/home/test

 

2、查看当前系统的时间 date

[test@hdp-node-01 ~]$ date +%Y-%m-%d

2016-05-18

[test@hdp-node-01 ~]$ date +%Y-%m-%d  --date="-1 day"   #加减也可以 month | year

2016-05-17

设置时间

date -s "2016-05-23 01:01"      ## 修改时间

修改时间后,需要写入硬件bios才能在重启之后依然生效

hwclock -w

 

 

3、查看有谁在线(哪些人登陆到了服务器)

who  查看当前在线

[test@hdp-node-01 ~]$ who

root     tty1         2016-05-18 11:46

hadoop   tty3         2016-05-18 11:46

hadoop   pts/0        2016-05-18 10:57 (192.168.33.1)

 

last 查看最近的登陆历史记录

[test@hdp-node-01 ~]$ last -3

hadoop   tty3                          Wed May 18 11:46   still logged in   

root     tty1                          Wed May 18 11:46   still logged in   

hadoop   pts/0        192.168.33.1     Wed May 18 10:57   still logged in

 

4、关机/重启

## 关机(必须用root用户)

shutdown -h now  ## 立刻关机

shutdown -h +10  ##  10分钟以后关机

shutdown -h 12:00:00  ##12点整的时候关机

halt   #  等于立刻关机

 

## 重启

shutdown -r now

reboot   # 等于立刻重启

 

5、清屏

clear    ## 或者用快捷键  ctrl + l

 

6、退出当前进程

ctrl+c   有些程序也可以用q键退出

 

7、挂起当前进程

ctrl+z   ## 进程会挂起到后台

bg jobid  ## 让进程在后台继续执行

fg jobid   ## 让进程回到前台

 

8echo

相当于javaSystem.out.println(userName)

[root@localhost bbb]# a="婷婷是我的梦中情人"

[root@localhost bbb]#

[root@localhost bbb]# echo a

a

[root@localhost bbb]# echo $a

婷婷是我的梦中情人

 

3.2.2 目录操作
1 查看目录信息

ls /     ## 查看根目录下的子节点(文件夹和文件)信息

ls  -al  ##  -a是显示隐藏文件   -l是以更详细的列表形式显示

ls -l  有一个别名: ll    可以直接使用ll  <是两个L>

2 切换工作目录

cd  /home/hadoop    ## 切换到用户主目录

cd ~     ## 切换到用户主目录

cd  什么路径都不带,则回到用户的主目录

 

cd -     ##  回退到上次所在的目录

3 创建文件夹

mkdir aaa     ## 这是相对路径的写法

mkdir  /data    ## 这是绝对路径的写法

mkdir -p  aaa/bbb/ccc   ## 级联创建目录

 

4 删除文件夹

rmdir  aaa   ## 可以删除空目录

rm  -r  aaa   ## 可以把aaa整个文件夹及其中的所有子节点全部删除

rm  -rf  aaa   ## 强制删除aaa

 

5 修改文件夹名称

mv  aaa  angelababy

mv本质上是移动

mv  install.log  aaa/  将当前目录下的install.log 移动到aaa文件夹中去

 

rename 可以用来批量更改文件名

[root@localhost bbb]# ll

total 0

-rw-r--r--. 1 root root 0 May 22 15:58 1.txt

-rw-r--r--. 1 root root 0 May 22 15:58 2.txt

-rw-r--r--. 1 root root 0 May 22 15:58 3.txt

[root@localhost bbb]# rename .txt .txt.bak *

[root@localhost bbb]# ll

total 0

-rw-r--r--. 1 root root 0 May 22 15:58 1.txt.bak

-rw-r--r--. 1 root root 0 May 22 15:58 2.txt.bak

-rw-r--r--. 1 root root 0 May 22 15:58 3.txt.bak

 

 

3.2.3 文件操作
1 创建文件

touch  somefile.1       

## 创建一个空文件

 

 

echo "i miss you,my baby" > somefile.2     

## 利用重定向>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,如果指定的文件不存在,则会创建出来

 

echo "huangxiaoming ,gun dan" >> somefile.2    

 ## 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容

2 vi文本编辑器

1、最基本用法

vi  somefile.4

1/ 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容

2/ i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容

3/ 编辑完成之后,按Esc键退出编辑模式,回到一般模式;

4/ 再按,进入底行命令模式”,输入wq命令,回车即可保存退出

 

2、常用快捷键

一些有用的快捷键(在一般模式下使用):

a  在光标后一位开始插入

A   在该行的最后插入

I   在该行的最前面插入

gg   直接跳到文件的首行

G    直接跳到文件的末行

dd    删除一行

3dd   删除3

yy    复制一行

3yy   复制3

p     粘贴

u     undo

ctrl + r   redo

 

v  进入字符选择模式,选择完成后,按y复制,按p粘贴

ctrl+v  进入块选择模式,选择完成后,按y复制,按p粘贴

shift+v  进入行选择模式,选择完成后,按y复制,按p粘贴

 

3、查找并替换

(在底行命令模式中输入)

1显示行号

:set nu

2 隐藏行号

:set  nonu

3 查找关键字

:/you       ## 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)

 

4 替换操作

:s/sad/bbb    查找光标所在行的第一个sad,替换为bbb

:%s/sad/bbb      查找文件中所有sad,替换为bbb

:1,$s/hadoop/root/g 将第一行到最后一行的hadoop替换为root

:1,$s/hadoop/root/c 将第一行到最后一行的hadoop替换为root(有提示)

 

 

 

3 拷贝/删除/移动

cp  somefile.1   /home/hadoop/

rm /home/hadoop/somefile.1

rm -rf /home/hadoop/somefile.1

mv /home/hadoop/somefile.1  ../

 

 

4 查看文件内容

cat    somefile    一次性将文件内容全部输出(控制台)

 

分页查看文件的命令:

more   somefile     可以翻页查看, 下翻一页(空格)    上翻一页(b)   退出(q

less   somefile      可以翻页查看,下翻一页(空格)    上翻一页(b),上翻一行()  下翻一行(↓)  可以搜索关键字(/keyword

跳到文件末尾: G

跳到文件首行: gg

退出less :  q

 

tail -10  install.log  查看文件尾部的10

tail +10  install.log  查看文件 10-->末行

tail -f install.log    f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件

tail -F install.log    F按照文件名来跟踪

 

head  -10  install.log   查看文件头部的10

 

5 打包压缩

1gzip压缩

gzip a.txt

 

2、解压

gunzip a.txt.gz

gzip -d a.txt.gz

 

3bzip2压缩

bzip2 a

 

4、解压

bunzip2 a.bz2

bzip2 -d a.bz2

 

5打包:将指定文件或文件夹

tar -cvf bak.tar  ./aaa

/etc/password追加文件到bak.tar(r)

tar -rvf bak.tar /etc/password

 

6、解压

tar -xvf bak.tar

 

7打包并压缩

tar -zcvf a.tar.gz  aaa/

 

8、解包并解压缩(重要的事情说三遍!!!)

tar  -zxvf  a.tar.gz

 

解压到/usr/

tar  -zxvf  a.tar.gz  -C  /usr

 

9、查看压缩包内容

tar -ztvf a.tar.gz

zip/unzip

 

10、打包并压缩成bz2

tar -jcvf a.tar.bz2

 

11、解压bz2

tar -jxvf a.tar.bz2

 

3.2.4 查找命令
1 常用查找命令的使用

1、查找可执行的命令所在的路径:

which ls

2、查找可执行的命令和帮助的位置:

whereis ls

3、从某个文件夹开始查找文件

find / -name "hadooop*"

find / -name "hadooop*" -ls

5、查找并删除

find / -name "hadooop*" -ok rm {} \;

find / -name "hadooop*" -exec rm {} \;

6、查找用户为hadoop的文件

find  /usr  -user  hadoop  -ls

7、查找用户为hadoop的文件夹

find /home -user hadoop -type d -ls

8、查找权限为777的文件

find / -perm -777 -type d -ls

 

 

**、显示历史命令

history

 

2 grep命令

1/ 基本使用

查询包含hadoop的行

grep hadoop /etc/password

grep aaa  ./*.txt

 

2/ cut截取以:分割保留第七段

grep hadoop /etc/passwd | cut -d: -f7

 

3/ 查询不包含hadoop的行

grep -v hadoop /etc/passwd

 

4/ 正则表达包含hadoop

grep 'hadoop' /etc/passwd

 

5/ 正则表达(点代表任意一个字符)

grep 'h.*p' /etc/passwd

 

6/ 正则表达以hadoop开头

grep '^hadoop' /etc/passwd

 

7/ 正则表达以hadoop结尾

grep 'hadoop$' /etc/passwd

 

正则表达式的简单规则:

.  : 任意一个字符

a* : 任意多个a(零个或多个a)

a? : 零个或一个a

a+ : 一个或多个a

.* : 任意多个任意字符

\. : 转义.

o\{2\} : o重复两次

 

查找不是以#开头的行

grep -v '^#' a.txt | grep -v '^$'

 

hr开头的

grep '^[hr]' /etc/passwd

 

不是以hr开头的

grep '^[^hr]' /etc/passwd

 

不是以hr开头的

grep '^[^h-r]' /etc/passwd

3.2.5 文件权限的操作
1 linux文件权限的描述格式解读

drwxr-xr-x      (也可以用二进制表示  111 101 101  -->  755

 

d:标识节点类型(d:文件夹   -:文件  l:链接)

r:可读   w:可写    x:可执行

第一组rwx## 表示这个文件的拥有者对它的权限:可读可写可执行

第二组r-x:  ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行

第三组r-x:  ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

 

 

2 修改文件权限

chmod g-rw haha.dat ## 表示将haha.dat对所属组的rw权限取消

chmod o-rw haha.dat ## 表示将haha.dat对其他人的rw权限取消

chmod u+x haha.dat ## 表示将haha.dat对所属用户的权限增加x

chmod a-x haha.dat        ## 表示将haha.dat对所用户取消x权限

 

 

也可以用数字的方式来修改权限

chmod 664 haha.dat   

就会修改成   rw-rw-r--

如果要将一个文件夹的所有内容权限统一修改,则可以-R参数

chmod -R 770 aaa/

3 修改文件所有权

<只有root权限能执行>

chown angela  aaa ## 改变所属用户

chown :angela  aaa ## 改变所属组

chown angela:angela aaa/ ## 同时修改所属用户和所属组

 

 

 

补充:

r:  对文件来说,是可读取内容;  对文件夹来说,是可以ls

w:  对文件来说,是可修改文件的内容;对文件夹来说,是可以在其中创建或者删除子节点

x: 对文件来说,是能否运行这个文件;对文件夹来说,是能否cd进入这个目录

 

 

3.2.6 基本的用户管理

需要我们掌握的:

添加一个用户:

1、   useradd spark

2、   passwd spark     根据提示设置密码;

即可

 

删除一个用户:

userdel -r spark     加一个-r就表示把用户及用户的主目录都删除

 

 

1 添加用户

添加一个tom用户,设置它属于users组,并添加注释信息

分步完成:useradd tom

          usermod -g users tom

      usermod -c "hr tom" tom

一步完成:useradd -g users -c "hr tom" tom

 

设置tom用户的密码

passwd tom

 

2 修改用户

修改tom用户的登陆名为tomcat

usermod -l tomcat tom

 

tomcat添加到sysroot组中

usermod -G sys,root tomcat

 

查看tomcat的组信息

groups tomcat

 

3 用户组操作

添加一个叫america的组

groupadd america

 

jerry添加到america组中

usermod -g america jerry

 

tomcat用户从root组和sys组删除

gpasswd -d tomcat root

gpasswd -d tomcat sys

 

america组名修改为am

groupmod -n am america

 

4 为用户配置sudo权限

root编辑 vi /etc/sudoers

在文件的如下位置,为hadoop添加一行即可

root    ALL=(ALL)       ALL     

hadoop  ALL=(ALL)       ALL

 

然后,hadoop用户就可以用sudo来执行系统级别的指令

[hadoop@shizhan ~]$ sudo useradd huangxiaoming

 

 

3.2.7 系统管理操作
1 挂载外部存储设备

可以挂载光盘、硬盘、磁带、光盘镜像文件等

1/ 挂载光驱

mkdir   /mnt/cdrom      创建一个目录,用来挂载

mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/     将设备/dev/cdrom挂载到 挂载点 :  /mnt/cdrom

 

2/ 挂载光盘镜像文件(.iso文件)

mount -t iso9660 -o loop  /home/hadoop/Centos-6.7.DVD.iso /mnt/centos

注:挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到/etc/fstab配置文件中,如下:

/dev/cdrom              /mnt/cdrom              iso9660 defaults        0 0

/root/CentOS-6.7-x86_64-bin-DVD1.iso    /mnt/centos     iso9660 defaults,ro,loop        0 0

 

3/ 卸载 umount

umount /mnt/cdrom

 

** 存储空间查看

df -h

2 统计文件或文件夹的大小

du -sh  /mnt/cdrom/packages   ## 统计指定路径下的所有子目录和文件的大小

df -h    查看磁盘的剩余空间

 

3 系统服务管理

service --status-all   # 查看系统所有的后台服务进程

service sshd status   # 查看指定的后台服务进程的状态

service sshd stop

service sshd start

service sshd restart

 

配置后台服务进程的开机自启

chkconfig httpd on  ## httpd服务开机自启

chkconfig httpd off  ## httpd服务开机不要自启

[root@localhost ~]# chkconfig httpd off

[root@localhost ~]# chkconfig --list | grep httpd

httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

[root@localhost ~]# chkconfig --level 35 httpd on

[root@localhost ~]# chkconfig --list | grep httpd

httpd           0:off   1:off   2:off   3:on    4:off   5:on    6:off

 

 

 

 

 

4 系统启动级别管理

vi  /etc/inittab

 

# Default runlevel. The runlevels used are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode     ##  没有图形界面的全功能的多用户的启动级别

#   4 - unused

#   5 - X11           ##  有图形界面的启动级别

#   6 - reboot (Do NOT set initdefault to this)

#

id:3:initdefault:         ##  配置默认启动级别

## 通常将默认启动级别设置为:3

5 进程管理

top

free

ps -ef | grep ssh

kill -9 2358     ## 将指定进程号的进程杀死

 

注意:grep搜索关键词的时候会把自己也搜索出来,对比以下两种写法

[root@localhost ~]# ps -ef | grep sixunhuan

root       2857   2465 30 02:41 pts/0    00:00:07 sh sixunhuan.sh

root       2874   2858  0 02:42 pts/1    00:00:00 grep sixunhuan

[root@localhost ~]# ps -ef | grep sixunhuan | grep -v grep

root       2857   2465 34 02:41 pts/0    00:00:25 sh sixunhuan.sh

[root@localhost ~]# kill -9 2857

 

 

3.2.8 SSH免密登陆配置
1 SSH工作机制

1、相关概念

SSH Secure Shell(安全外壳协议) 的缩写。

很多ftppoptelnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。

 

SSH的具体实现是由客户端和服务端的软件组成的

服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

 

2、认证机制

从客户端来看,SSH提供两种级别的安全验证。

v 第一种方式(基于口令的安全验证

只要你知道自己帐号和口令,就可以登录到远程主机。

 

v 第二种方式(基于密钥的安全验证

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

2 密钥登陆方式配置

 

假如 A  要登陆  B

A上操作:

1/ 首先生成密钥对

ssh-keygen   (提示时,直接回车即可)

2/ 再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys

ssh-copy-id   B

 

 

3.2.9 网络管理
1 主机名配置

1/ 查看主机名

hostname

2/ 修改主机名(重启后无效)

hostname hadoop

 

3/ 修改主机名(重启后永久生效)

vi /ect/sysconfig/network

 

2 IP地址配置

修改IP地址

1/ 方式一:setup

root输入setup命令,进入交互式修改界面

 

2/ 方式二:修改配置文件

(重启后永久生效)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

3/ 方式三:ifconfig命令

(重启后无效)

ifconfig eth0 192.168.12.22

 

3 域名映射

/etc/hosts文件 用于在通过主机名进行访问时做ip地址解析之用

所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的ip地址配置在/etc/hosts文件中

[root@angelababy01 ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.33.11   angelababy01

192.168.33.12   angelababy02

192.168.33.13   angelababy03

 

 

 

 

4 网络服务管理

1/ 后台服务管理

service network status    查看指定服务的状态

service network stop     停止指定服务

service network start     启动指定服务

service network restart   重启指定服务

service --status-all       查看系统中所有的后台服务

 

2/ 设置后台服务的自启配置

chkconfig   查看所有服务器自启配置

chkconfig iptables off   关掉指定服务的自动启动

chkconfig iptables on   开启指定服务的自动启动

 

5 系统中网络进程的端口监听情况

netstat -nltp

 

** 补充:Linux的网卡坏了怎么办

1、先删掉旧网卡

vi /etc/udev/rules.d/70-persistent-net.rules

 

2halt linux系统

3、通过vmware卸载原来的网卡,再新增一块网卡

470-persistent-net.rules 里面会自动生成那块新网卡的硬件信息

5、编辑网卡的配置文件/etc/sysconfig/network-script/ifcfg-eth0

删掉其中的UUID    HWADDR

并且修改IP配置等,如下:

DEVICE="eth0"

BOOTPROTO=none

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.33.20

PREFIX=24

GATEWAY=192.168.33.1

DNS1=192.168.33.1

NAME="System eth0"

 

6service network restart    重启网络服务即可

 

 

 

04/ Linux上常用软件安装

4.1 Linux系统软件安装方式

Linux上的软件安装有以下几种常见方式:

1、二进制发布包

软件已经针对具体平台编译打包发布,只要解压,修改配置即可

 

2、RPM发布包

软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装

 

3、Yum在线安装

软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上存在的rpm软件,并且会自动解决软件安装过程中的库依赖问题

(注:类似于maven

 

4、源码编译安装

软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署

 

4.2 JAVA软件安装——JDK安装

1、上传jdk压缩包

通过sftp工具上传即可

2、解压jdk压缩包

tar -zxvf jdk-7u67-linux-x64.gz -C /usr/local/

3、修改环境变量PATH

vi /etc/profile

在文件最后加两行:

export JAVA_HOME=/usr/local/jdk1.7.0_67

export PATH=$PATH:$JAVA_HOME/bin

4、让环境变量生效

source /etc/profile

即可

 

4.3 JAVA软件安装——Tomcat安装

tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /usr/local/

cd /usr/local/apache-tomcat-7.0.47/bin/

./startup.sh

 

4.4 RPM方式软件安装——MySql数据库安装

4.4.4 desktop版的centos中安装mysql

没有上述那么麻烦,基本上都不缺依赖,过程如下:

 

1、先装server

rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

发现了包冲突,执行删除包的命令解决:

rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps

然后继续重新安装server

rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

一定要确保server安装成功!!!

 

2、再装client

rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

 

3、启动server

service mysql start

检查启动是否成功:

service mysql status  或者  查看端口:netstat -nltp  看是否有进程在监听3306

 

4、用客户端连接到mysql-server上进行root密码的修改

注:在server安装时已经生成了一个随机的root密码 ,查看: cat /root/.mysql_secret

然后,运行一个脚本来交互式地修改root密码即可:/usr/bin/mysql_secure_installation

 

 

 

 

 

 

4.4.1 mini版的centos安装mysql服务

可以用yum方式来安装,此处演示在本地使用rpm包安装

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

 

1、报错——缺少依赖包perl

error: Failed dependencies:

 perl is needed by MySQL-server-5.1.73-1.glibc23.i386

解决:yum install -y  perl-devel

 

2、报错——缺少依赖包libc.so.6

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

error: Failed dependencies:

libc.so.6 is needed by MySQL-server-5.1.73-1.glibc23.i386

解决:yum install -y libc.so.6

 

3、报错——缺少依赖包 libgcc_s.so.1

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

error: Failed dependencies:

        libgcc_s.so.1 is needed by MySQL-server-5.1.73-1.glibc23.i386

解决:yum install -y libc.so.1

 

 

4、报错——依赖包冲突

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

conflicts with file from package mysql-libs-5.1.73-5.el6_6.x86_64

解决:

卸载依赖的冲突包: rpm -e mysql-libs-5.1.73-5.el6_6 --nodeps

 

5、安装完成——注意提示信息

再次执行安装

[root@mini ~]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm

Preparing...                ########################################### [100%]

   1:MySQL-server         ########################################### [100%]

 

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

 

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h mini password 'new-password'

 

Alternatively you can run:

/usr/bin/mysql_secure_installation

 

 

** 补充:

如果发生rpm包冲突conflict,怎么处理

首先,找到有哪些包冲突

rpm -qa | grep mysql

然后,卸载冲突的包

rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps

 

 

 

 

 

4.4.2 安装mysql客户端程序

 

1、用rpm命令安装客户端

[root@mini ~]# rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm

error: Failed dependencies:

        libncursesw.so.5 is needed by MySQL-client-5.1.73-1.glibc23.i386

报错缺依赖,解决之:

yum install -y libncursesw.so.5    ## yum本地源需要更换光盘为dvd2

 

再次执行安装

[root@mini ~]# rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm

Preparing...                ########################################### [100%]

   1:MySQL-client           ########################################### [100%]

 

4.4.3 修改mysql用户root密码

安装完成后,先确定mysql服务进程是否启动

netstat -nltp

如果有mysql,会监听3306端口

如果没有,则手动启动

service mysql start

1、按照前面的提示,修改密码

[root@mini ~]# /usr/bin/mysql_secure_installation

进入交互式提示设置,按提示操作即可

 

 

补充:在资料中又给了一个5.6mysql版本,这个安装完成后,mysqlroot密码是自动生成的,注意看提示,密码保存在哪个位置

/root/.mysql_secret

安装完成后,直接用这个生成的随机密码即可登录mysql

进入mysql后当然可以使用sql来修改root的密码

mysql>set password=password("root");    

mysql>flush privileges;

 

4.5.4 开启mysql的远程登录权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

 

 

4.5 YUM方式软件安装

4.5.1 从网络源使用yum安装软件

yum install mysql

4.5.2 使用本地Yum源安装软件

yum仓库服务器本质上就是一台http服务器,服务器的目录中放置了rpm包,及rpm包的索引信息文件,即可为yum客户端提供rpm文件下载

 

 

既然如此,则完全可以在“本地”制作私有的yum库来为内网中的linux提供yum安装源

 

 

4.5.3 制作私有yum源的两种方式
1、制作基于本地磁盘路径的yum

本地yum源,即yum源就在系统的本地目录中,所以连web服务器都不用,只要准备好rpm库存放路径及相关索引配置信息即可

示例:将Centos-DVD.iso盘制作成一个本地yum

 

2、制作基于内网web服务器的yum

总结:

1、在一台机器上部署一个httpd web服务器,确保httpd运行成功

2、将光盘镜像文件插入虚拟机的光驱

3、将光驱挂载到httpdhtml/centos目录中

4、修改yumrepo库配置文件/etc/yum.repos.d/centos-local-web.repo,如下:

[c6-local-web]

name=CentOS-local-web

baseurl=http://angelababy01/centos6

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

5、接下来,就可以用yum安装库中拥有的任何软件了

yum  install  -y  tomcat6.x86_64

 

 

详解版:

1、先安装一个http服务器: 首选httpd

先找一下我们要的包在仓库中有没有

yum list | grep httpd

yum install -y httpd

 

2、安装完成后,检查httpd的运行状态

service httpd status

 

3、在httpd服务的web目录中放入rpm

比如,将centos安装光盘中的rpm库放入:

mkdir /var/www/html/centos

cp  -r /mnt/cdrom/*   /var/www/html/centos/

注:上面这种方式比较浪费空间,可以不用拷贝,其实只要创建一个软连接即可

ln -s /mnt/cdrom   /var/www/html/centos

 

4、用浏览器访问一下httpd服务,看是否能看到rpm

http://mini1/centos

 

5、配置yum客户端repo地址文件

将本地http服务器加入repo地址

首先,将内置的源全部disable

cd /etc/yum.repos.d/

rename .repo .repo.bak *

然后,新建一个repo源,

vi  innet.repo

[innet]

name=innet

baseurl=http://192.168.33.20/centos

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

~

 

接下来,检查我们自定义的源是否生效

[root@shizhan01 yum.repos.d]# yum repolist

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

innet                                                                        | 4.0 kB     00:00     

innet/primary_db                                                             | 4.6 MB     00:00     

repo id                                         repo name                                     status

innet                                           innet                                         6,575

repolist: 6,575

 

再接下来,就可以使用yum像从公网安装软件一样在内网服务器上下载软件进行安装了

yum install -y 你要的软件

 

 

3、自定义rmprepo

1、在http服务器的web目录/var/www/html下建一个文件夹用来存放rpm

mkdir /var/www/html/myrpms

cp  ~/MySQL-*  /var/www/html/myrpms

 

 

2、然后执行命令生成索引信息:

cd /var/www/html/myrpms

createrepo ./

 

3、如果提示命令找不到

[root@mini ~]# createrepo

-bash: createrepo: command not found

则安装该命令

[root@mini ~]# yum install -y createrepo

 

4、命令安装成功后,再次执行

[root@mini html]# createrepo ./

Spawning worker 0 with 2 pkgs

Workers Finished

Gathering worker results

 

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

 

5、可以看到生成的索引信息

 

 

6、通过yum客户端查看

yum list | grep MySQL

 

 

 

 

4.6 C语言软件源码编译安装——redis服务器安装

用源码工程来编译安装

1/ 到官网下载最新stable

2/ 解压源码并进入目录  tar -zxvf redis-2.8.19.tar.gz  -C  ./redis-src/

3/  make

如果报错提示缺少gcc,则安装gcc :  yum install -y gcc

如果报错提示:Newer version of jemalloc required

则在make时加参数:make MALLOC=libc

 

4/ 安装redis,指定安装目录,/usr/local/redis

make PREFIX=/usr/local/redis install

 

6/ 拷贝一份配置文件到安装目录下

切换到源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下

cp redis.conf /usr/local/redis/

 

7/ 启动redis

cd /usr/local/redis

bin/redis-server redis.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值