目录
rpm方式
yum方式
源码编译方式
二进制安装
博客主页:大虾好吃吗的博客
专栏地址:Linux从入门到精通
优点:无需网络安装软件
缺点:无法解决软件依赖
命令如下:
rpm -ivh 安装
rpm -Uvh 升级安装,未装则安装
rpm -Fvh 更新安装,未装则不装
rpm -e 卸载(--nodeps忽略依赖,强制卸载)
rpm -q 查看软件是否安装
rpm -ql 查看软件所有的安装文件列表
rpm -qc 查看软件的配置文件
rpm -qd 查看软件的模板文件
rpm -qf 查看命令文件由哪个软件所装
优点:自动解决软件依赖 缺点:无法定制化安装
1. 安装
yum install #全部安装
yum install package1 #装指定的安装包package1
yum groupinsall group1 #安装程序组group1
2. 更新和升级
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
3. 查找和显示
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息
yum search string #根据关键字string查找安装包
4. 删除程序
yum remove | erase package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
5. 清除缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum clean, yum clean all (yum clean packages; yum clean oldheaders) #清除缓存目录下的软件包及旧的headers
6. 仅下载,并以本地文件安装。下载到本地目录,并以localinstall安装
mkdir /http-rpm
yum -y install --downloadonly --downloaddir=/http-rpm httpd
cd /http-rpm
yum -y localinstall *.rpm
优点:可以定制化软件安装 缺点:无法解决软件依赖
前提依赖:yum -y install apr* pcre*
复制httpd源码包到/usr/src目录
cd /usr/src
tar xf httpd-2.4.52.tar.gz
cd http-2.4.52
./configure --prefix=/usr/local/httpd
make
make install
优点:简化安装过程 缺点:无法解决软件依赖
案例:安装二进制mysql 5.7.20
1.复制MySQL二进制包,解压改名到/usr/local/mysql
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
2.执行下列命令安装
echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
source /etc/profile
rm -rf /var/run/yum.pid
yum remove -y mariadb-libs
useradd mysql
mkdir -p /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/data
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cat >> /etc/my.cnf << end
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
prompt=mysql>
end
cat >> /etc/systemd/system/mysqld.service << end
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
end
systemctl restart mysqld