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 ## 让进程回到前台
8、echo
相当于java中System.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 打包压缩
1、gzip压缩
gzip a.txt
2、解压
gunzip a.txt.gz
gzip -d a.txt.gz
3、bzip2压缩
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 '^$'
以h或r开头的
grep '^[hr]' /etc/passwd
不是以h和r开头的
grep '^[^hr]' /etc/passwd
不是以h到r开头的
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添加到sys和root组中
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(安全外壳协议) 的缩写。
很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而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
2、halt linux系统
3、通过vmware卸载原来的网卡,再新增一块网卡
4、70-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" |
6、service 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.6的mysql版本,这个安装完成后,mysql的root密码是自动生成的,注意看提示,密码保存在哪个位置
/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、将光驱挂载到httpd的html/centos目录中
4、修改yum的repo库配置文件/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、自定义rmp包repo
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