Linux实战应用 业 ,精于勤 荒于嬉.
- Linux实战应用 解决 wsl 系统删除文件磁盘空间未得到释放
-
发表日期:2024-03-25 21:41:14 | 来源: | 分类:Linux实战应用
-
wsl 同虚拟机一样有此问题
1.先关闭wsl的Linux系统:
wsl --shutdown
2.打开磁盘收缩工具 ,cmd输入命令:
diskpart
3.先找到你的wsl系统的虚拟磁盘文件ext4.vhdx ,在diskpart 窗口里输入
select vdisk file="C:\Users\eniac\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"
4.然后输入收缩命令,等待至100%收缩完成:
compact vdisk
5.最后卸载虚拟磁盘:
detach vdisk
- Linux实战应用 Linux服务器免费高效的安全软件
-
发表日期:2023-12-17 21:57:29 | 来源: | 分类:Linux实战应用
-
ClamAV:ClamAV是一款开源的防病毒引擎,用于检测木马、病毒、恶意软件和其他威胁。它支持多种平台,包括Linux,并且具有命令行和图形用户界面。
Fail2ban:Fail2ban是一个用于监控日志文件并自动封禁恶意IP地址的工具。它可以防止暴力破解和其他恶意行为。
SELinux:SELinux(Security-Enhanced Linux)是一个为Linux内核提供强制访问控制机制的安全模块。它可以限制进程和用户对系统资源的访问,从而增强系统的安全性。
AppArmor:AppArmor是一个Linux内核的安全模块,类似于SELinux,提供强制访问控制机制来保护应用程序和系统文件。
OpenSSH:OpenSSH是一个安全的远程登录工具,支持加密通信和身份验证。它可以帮助您在远程服务器上执行命令和管理任务。
Snort:Snort是一个开源的网络入侵检测和防御系统(IDS/IPS)。它可以实时监控网络流量,检测异常行为并生成警报。
OSSEC:OSSEC是一个开源的主机入侵检测系统(HIDS)。它可以监控系统日志、文件更改、进程活动等,以检测潜在的入侵行为。
UFW (Uncomplicated Firewall): UFW是一个用户友好的前端防火墙配置工具,旨在简化iptables防火墙规则的管理。它可以轻松地启用/禁用端口和服务,并管理网络流量。
ModSecurity: 这是一个开源的Web应用防火墙(WAF),用于保护Web应用程序免受各种攻击,如SQL注入、跨站脚本(XSS)等。
Lynis: Lynis是一个系统安全审计工具。它可以在不安装额外软件的情况下对系统进行全面的安全扫描,并提供加固建议。
AIDE (Advanced Intrusion Detection Environment): AIDE是一个用于检测文件系统完整性的工具,可帮助检测未经授权的文件修改或添加。
rkhunter (Rootkit Hunter): rkhunter是一个Unix平台的系统工具,用于扫描潜在的rootkit和其他恶意软件。
Tiger: Tiger是一个安全工具,用于收集和分析Linux系统上的安全相关信息,如系统日志、网络状态、已安装的软件等。
Chkrootkit: 类似于rkhunter,Chkrootkit也是一个用于检测rootkit和其他潜在恶意软件的工具。
DenyHosts: 这是一个Python程序,设计用于自动阻止SSH的暴力攻击。当发现过多的认证失败尝试时,它会更新/etc/hosts.deny来阻止攻击源。
John the Ripper & Hashcat: 这两个工具都是用于密码破解的,可以帮助测试系统的密码强度。
Key-based Authentication for SSH: 虽然不是软件,但使用SSH密钥进行身份验证是一种增强安全性的方法,可以避免使用弱密码。
- Linux实战应用 Virtualbox虚拟机磁盘收缩
-
发表日期:2023-11-13 00:57:42 | 来源: | 分类:Linux实战应用
-
当你的虚拟机磁盘是动态大小时,不知你是否发现当你把虚拟机里的文件删除时,虚拟机磁盘可用空间变大了,而宿主机的磁盘可用空间并没有变大?那么也就是说虚拟机里曾经删除的文件其实还在占用你的磁盘空间。
原因是虚拟机里删除文件其实只是文件的状态被标注了删除,对于宿主机来说磁盘内容并没有删除。其实通俗来讲我们从电脑中删除文件都只是标注文件的删除状态,数据任然在磁盘只是不让你看到了,当写入数据时其实相当于“覆盖被删除的文件所占用的磁盘空间”。
以Linux虚拟机为例:
1. 就是创造一个空文件把磁盘写满(覆盖被删除的文件=清空磁盘空闲内容)执行命令:
dd if=/dev/zero of=temp
2.把这个文件删了
rm -f temp
3.关闭虚拟机,在宿主机系统中进入虚拟机软件安装目录执行命令:
C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe modifyvdi "D:\你要收缩的虚拟磁盘.vdi" --compact
等待结果:0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
执行完成后你会发现虚拟磁盘变小了。
如果你的宿主机磁盘够用,那么其实你可以不用管它。比如你设置的虚拟磁盘大小限制为100G,那么宿主机虚拟磁盘大小到100G时将不再增长,只要虚拟磁盘里空间没满,那么再写入的数据就是覆盖删除文件的空间了。
- Linux实战应用 crontab 定时任务
-
发表日期:2023-05-31 09:48:06 | 来源: | 分类:Linux实战应用
-
示例1
crontab -e # 编辑定时任务 输入i 进入编辑模式 45 0 * * * /home/test.sh > /dev/null # 例如 每天0点45分 执行shell脚本 00 02 * * * rm -rf /home/canquick/cache/* # 例如 每天2点 删除/home/canquick/cache/ 下的所有文件 * * * * * curl http://xxx/api.json # 每分钟请求一次接口 * * * * * php /home/canquick/run.php # 每分钟执行一次php脚本 #保存并退出 先按一下 ESC键 然后输入:wq 回车 ,和vim命令一样
- Linux实战应用 FTP服务器软件 pureftpd 创建/删除用户
-
发表日期:2023-05-31 09:32:37 | 来源: | 分类:Linux实战应用
-
示例1
pureftpd 创建用户: #创建ftp项目目录 mkdir /home/wwwroot/test2/ #创建 test2FTP 用户 目录为 /home/wwwroot/test2/ echo "test2FTP:$6$bk3nSL0iiqvTM6t0$UxciEqn1zSd5fkTD4XIDI9nRsRu5a8LOukv19oSUaDMHr4BxWCG81UilttNAloPGOwmL/7gIb8WoLl.N8fD0z/:1001:1001::/home/wwwroot/test2/./::::::::::::" >> /usr/local/pureftpd/etc/pureftpd.passwd # 实际上 是给 /usr/local/pureftpd/etc/pureftpd.passwd 文件插入一行, # 也可以vim /usr/local/pureftpd/etc/pureftpd.passwd 复制插入上一行的用户数据 把用户名和 目录地址改为新的也行 #保存设置 /usr/local/pureftpd/bin/pure-pw mkdb #给test2FTP设置密码 ,输入两遍密码 /usr/local/pureftpd/bin/pure-pw passwd test2FTP #保持设置 /usr/local/pureftpd/bin/pure-pw mkdb #然后即可以用FTP软件登录 #如果上传文件提示没权限 那么ll 命令查看一下项目目录的组和所有者是否是root #如果是root那么把组和所有者改为网站访问的用户 如www即可 #chgrp www /home/wwwroot/test2/ 修改文件夹所有者 #chown www /home/wwwroot/test2/修改文件夹用户组
- Linux实战应用 linux 目录权限详解
-
发表日期:2019-01-05 22:58:29 | 来源: | 分类:Linux实战应用
-
/**
* @crd
* c:create 创建
* r:rename 重命名/移动
* d:delete 删除;
*/
目录只有执行权限 <--x 1>
可以cd到其目录内
不可以列出目录内容
不可以crd目录内容
@note 无意义
目录只有写权限 <-w- 2>
权限不够,你什么也干不了
@note 无意义
目录只有读权限 <r-- 4>
可以列出目录内容
不能访问目录内文件的属性,会提示权限不够
不能cd进入该目录
不可以crd目录内容
@note 无意义
----------------------------
目录有写权限2和执行权限1 <-wx 3>
可以cd进入该目录
可以crd目录内容
不可以列出目录内容
@note 无意义
目录有读权限4和执行权限1<r-x 5>
可以cd进入该目录
可以列出目录内容
不可以crd目录内容
@note 可访问/列目录,但不许增加/删除/改名/移动目录内的文件,起到保护目录结构
目录有读权限4和写权限2<rw- 6> # 同<r-- 4> 结果一样
可以列出目录内容
不能访问目录内文件的属性,会提示权限不够
不可以cd进入该目录
不可以crd目录内容
@note 无意义
目录有读权限4和写权限2和执行权限1<rwx 7>
拥有最高权限
@note 注意所有者,是否存在安全风险
- Linux实战应用 解决ssh无法连接远程Ubuntu,Uuntu安装ssh-server
-
发表日期:2019-01-05 22:56:54 | 来源: | 分类:Linux实战应用
-
ssh无法连接Ubuntu原因:
Ubuntu安装完成默认情况下,只安装了ssh-client,也就是说你可以在该Ubuntu下用ssh连接其它服务器,但是没有安装ssh-server,因此你无法连接到此Ubuntu上,解决办法就是安装ssh-server。
一、安装ssh
命令:
sudo apt-get install openssh-server -y
二、查看ssh服务是否启动
命令:
sudo ps -e |grep ssh
#如果显示有sshd 这一项说明,说明ssh已经启动成功,到此结束。那么你可以远程连接ssh了。
#如果没有sshd、只有ssh-agent,说明ssh启动失败,需要配置,继续完成后续步骤。
三、启动ssh服务
sudo service ssh start 或 /etc/init.d/ssh restart
命令执行完成后,重复一次第二步,看看ssh是否启动成功。如果依旧没有启动成功,那么继续完成后续步骤。
四、修改ssh配置文件
命令:
vi /etc/ssh/ssh_config
#编辑配置文件,大约在39,40行,将这两句代码前的#取消掉保存退出。
Port 22
Protocol 2,1
五、重启Ubuntu
到这一步本人试过多次,启动、重启ssh服务依然失败,但重启一下Ubuntu就好了,。不知道这是什么鬼,但是屡试不爽,不妨试一下。
(4)ssh还不能登录上,就修改sshd的默认配置
ssh出现permission denied (publickey)问题:
修改/etc/ssh/sshd-config文件.
PubkeyAuthentication yes修改为no
- Linux实战应用 linux centos 安装配置 mysql
-
发表日期:2019-01-05 22:53:54 | 来源: | 分类:Linux实战应用
-
需要安装:
mysql.i686 5.1.73-5.el6_6 @base
mysql-libs.i686 5.1.73-5.el6_6 @base
mysql-server.i686 5.1.73-5.el6_6 @base
php-mysql.i686 5.3.3-46.el6_6 @updates
检查是否安装了这几项
yum list installed | grep mysql
安装mysql
yum install mysql-server mysql mysql-libs -y
添加php对mysql的支持(你最好先安装、apache、mysql、php 再做这件事
yum install php-mysql -y
设置mysql开机启动
chkconfig --level 3 mysqld on
修改防火墙开放3306 端口
vim /etc/sysconfig/iptables
插入:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
保存配置
/etc/rc.d/init.d/iptables save
重启服务
service iptables restart
或/etc/init.d/iptables restart
开启mysql服务,注意服务名是:mysqld,不是:mysql
service mysqld start
修改 mysql 的登录密码 为123456
mysqladmin -uroot password '123456';
尝试登录mysql
mysql -uroot -p123456
退出mysql
exit
- Linux实战应用 linux 安装lnmp Apache + mysql + php + 扩展
-
发表日期:2019-01-05 22:53:11 | 来源: | 分类:Linux实战应用
-
Apache + mysql + php + phpmyadmin + php自定义扩展 急速安装
需要的所有安装包如下
httpd.i686 2.2.15-47.el6.centos.1
httpd-tools.i686 2.2.15-47.el6.centos.1
mysql-server.i686 5.1.73-5.el6_6 @base
mysql.i686 5.1.73-5.el6_6 @base
mysql-libs.i686 5.1.73-5.el6_6 @base
php.i686 5.3.3-46.el6_6 @updates
php-cli.i686 5.3.3-46.el6_6 @updates
php-common.i686 5.3.3-46.el6_6 @updates
php-devel.i686 5.3.3-46.el6_6 @updates
php-gd.i686 5.3.3-46.el6_6 @updates
php-mbstring.i686 5.3.3-46.el6_6 @updates
php-mcrypt.i686 5.3.3-4.el6 @epel
php-soap.i686 5.3.3-46.el6_6 @updates
php-mysql.i686 5.3.3-46.el6_6 @updates
php-pdo.i686 5.3.3-46.el6_6 @updates
phpMyAdmin.noarch 4.0.10.12-1.el6 @epel
php-bcmath.i686 5.3.3-46.el6_6 @updates
php-tcpdf.noarch 6.2.11-1.el6 @epel
php-tcpdf-dejavu-sans-fonts.noarch
php-tidy.i686 5.3.3-46.el6_6 @updates
php-xml.i686 5.3.3-46.el6_6 @updates
php-php-gettext.noarch 1.0.11-12.el6 @epel
php-process.i686 5.3.3-46.el6_6 @updates
第一步、一键安装apache + mysql + php + php扩展
yum install httpd mysql-server php php-devel pcre-devel php-pear php-mbstring php-soap php-gd php-mysql -y
第二部、配置
#修改防火墙开放 80,3306端口
vim /etc/sysconfig/iptables
#在iptables中插入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
#保存配置
/etc/rc.d/init.d/iptables save
#重启服务
service iptables restart 或 /etc/init.d/iptables restart
#设置httpd、mysql开机启动
chkconfig --level 3 httpd on
chkconfig --level 3 mysqld on
#启动apache、mysql
service httpd start
service mysqld start
#修改mysql密码
mysqladmin -uroot password '123456';
#在web根目录/var/www/html 中建一个index.php
写入
<?php phpinfo(); ?>
#访问web的php探针
浏览器打开 http://ip地址/
第三步、安装mcrypt
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
yum install php-mcrypt
第四步、安装phpMyAdmin
yum install phpMyAdmin -y
#配置phpMyAdmin
vim /etc/httpd/conf.d/phpMyAdmin.conf
修改:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
.......
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
#Allow from 127.0.0.1
Allow from All #把上面这句删掉或注释了换成这句就OK了,默认是只允许本机访问phpMyAdmin
....
其它的自己看着改,不改也行,意思类同,注意安全性。尤其是[setup] ,建议设置为 Allow from 允许ip
....
#重启apache、mysql
service httpd restart
service mysqld restart
#打开phpMyAdmin
http://ip地址/phpmyadmin
-------------------------------------------------------------------
#添加Remi源
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
#启用Remi源
vim /etc/yum.repos.d/remi.repo
只修改 [remi]下面的 enabled=0 改为 enabled=1
http://rpms.famillecollet.com/
https://webtatic.com/
libjs-jquery-ui-docs libmcrypt-dev mcrypt php5-mcrypt
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
mcrypt安装:
sudo apt-get install php5-mcrypt
sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
sudo php5enmod mcrypt
service apache2 restart
这样就可以了。。。。
cp /etc/php5/mods-available /etc/php5/conf.d/mcrypt.ini
mysql默认只允许本机访问。需要开启远程权限。
sudo vim /etc/mysql/my.cnf //打开配置文件
bind-address //表示进允许这个服务器进行访问。注释掉的话都可以访问。
phpmyadmin添加用户
sudo service mysql restart
- Linux实战应用 centos 安装配置apache详细方法步骤
-
发表日期:2019-01-05 22:51:43 | 来源: | 分类:Linux实战应用
-
一、首先在系统上面查询一下是否已经安装了apache 软件【Apache软件在linux系统里的名字是httpd】
命令:
rpm -qa httpd
显示:
httpd-2.2.15-47.el6.centos.1.i686
如果有返回的信息,则会显示已经安装的软件。(我当前安装了)直接跳到第三步
如果没有则不会显示其它的信息。
二、以当前没有安装httpd为例,安装httpd
命令:
yum install httpd -y
#yum命令会自动下载并安装httpd及其依赖包
显示:
..... httpd及依赖包安装的过程,等待安装完成即可,
三、查看httpd的相关信息
命令:
yum info installed httpd
rpm -qc httpd #查询已经安装的httpd配置文件地址
rpm -qd httpd #查询已经安装的httpd的文档安装位置
rpm -qf httpd #查询已经安装的httpd属于哪个软件包
rpm -qi httpd #查询已经安装的httpd的信息
rpm -ql httpd #查询已经安装的httpd都安装到何处
rpm -qR httpd #查询已经安装的httpd所依赖的软件包及文件
#.... 其它命令 详见 rpm命令 及 yum命令
四、配置httpd
#设置httpd开机启动
chkconfig --level 3 httpd on
#修改防火墙开放 80端口
#不设置的话本地可以访问80端口(http://localhost/),但是外部无法访问80端口(http://ip地址/)
vim /etc/sysconfig/iptables
#[让vim显示行号,方便查看]打开文件后,在命令模式下输入: :set nu
#在文件中插入这句[如果不存在]:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
#重新启动防火墙服务
service iptables restart
#在web根目录/var/www/html 中建一个index.html
#启动 httpd
service httpd start
#访问web http://ip/ 如果正常访问至此apache就安装好了
#如果不能正常访问,关闭一下防火墙试试:service iptables stop,
#如果关闭了防火墙可以正常访问,那么可能是没有配置成功,重新把第四步做一遍,记得设置后保存和重启服务
五、自定义httpd设置
#自定义修改httpd配置文件 /etc/httpd/conf/httpd.conf 详见apache配置
#重启 httpd 生效
service httpd restart
CentOS 配置httpd使局域网可以正常访问
问题:
在CentOS上安装apache,配置好服务器本机可以访问,但是外部局域网IP不能访问
解决方法:
1.修改配置文件/etc/httpd/conf/httpd.conf
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
2.添加端口映射,这点是CentOS系统的安全特性,也是其适用于服务器的原因吧。
方法<1>:直接修改防火墙配置文件(/etc/sysconfig/iptables)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
方法<2>:命令修改
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
保存配置
/etc/rc.d/init.d/iptables save
重启服务
service iptables restart
或/etc/init.d/iptables restart
检查状态
/etc/init.d/iptables status
iptables开机自动启动:
开启: chkconfig iptables on
关闭: chkconfig iptables off
iptables关闭服务:
开启: service iptables start
关闭: service iptables stop
- Linux实战应用 yum命令 centos软件安装
-
发表日期:2019-01-05 22:49:41 | 来源: | 分类:Linux实战应用
-
[centos]yum
yum 命令详解:
Redhat和Fedora的软件安装命令是rpm,但是用rpm安装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级 麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于 ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。Yum 有以下特点:
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum [options] [command] [package ...]
[options] 执行选项
-e 静默执行
-t 忽略错误
-R[分钟] 设置等待时间
-h 帮助
-y 自动应答yes,当安装过程提示选择全部为"yes"
-q 不显示安装的过程
--skip-broken 忽略依赖问题
--nogpgcheck 忽略GPG验证
[command] 为所要进行的操作。
* install package1 [package2] [...] 安装包[RPM包]
yum install 全部安装
yum install package1 安装指定的安装包package1
#使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断
yum install package1 package2 package3 安装包package1、package2、package3
yum install yumex 安装yum图形窗口插件
yum install yum-fastestmirror 自动搜索最快镜像插件
* update [package1] [package2] [...][RPM包] 更新包
yum update 全部更新
yum update package1 更新指定程序包package1
* update-to [package1] [package2] [...]
* check-update 检查可更新的程序
* upgrade [package1] [package2] [...] 升级系统
yum upgrade package1 升级指定程序包package1
* upgrade-to [package1] [package2] [...]
* distribution-synchronization [package1] [package2] [...]
* remove | erase package1 [package2] [...] 卸载包[RPM包]
yum remove package1 删除软件package1,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
yum erase package1 删除软件package1
* list [...] 列出可安装和可更新的RPM包
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum list updates 列出所有可更新的软件包
yum list installed 列出全部已安装的包
yum list extras 列出全部已安装且不在资源库的包
* info [...] 可安装和可更新的RPM包信息
yum info 可安装和可更新的RPM包信息
yum info package1 显示安装包信息package1
yum info installed 已安装包的信息(-qa 参数相似)
yum info updates 列出所有可更新的软件包信息
yum info extras 列出所有已安裝但不在 Yum Repository 內的软件包信息
* provides | whatprovides feature1 [feature2] [...] [关键词]搜索特定包文件名
yum provides 列出软件包提供哪些文件
* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
#yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 清除所有
yum clearn | yum clean all 清除全部缓存目录下的软件包及旧的headers
yum clean packages 清除临时包/缓存目录下的软件包(/var/cache/yum 下文件)
yum clearn headers 清除缓存目录下的 headers/rpm头文件
yum clean oldheaders 清除缓存目录下旧的rpm头文件
* makecache
* groupinstall group1 [group2] [...]
yum groupinsall group1 安装程序组group1,程序组名有空格需要""包起来 如:yum groupinstall "Chinese Support"
* groupupdate group1 [group2] [...]
yum groupupdate group1 升级程序组group1
* grouplist [hidden] [groupwildcard] [...] 查看可能批量安装的列表
* groupremove group1 [group2] [...]
yum groupremove group1 删除程序组group1
* groupinfo group1 [...]
yum groupinfo group1 显示程序组group1信息
* search string1 [string2] [...][关键词] 搜索包
yum search string 根据关键字string查找安装包
* shell [filename]
* resolvedep dep1 [dep2] [...] 指定依赖
* localinstall rpmfile1 [rpmfile2] [...](maintained for legacy reasons only - use install) 安装本地的 RPM包
* localupdate rpmfile1 [rpmfile2] [...] (maintained for legacy reasons only - use update)
* reinstall package1 [package2] [...] [RPM包] 重新安装包
* downgrade package1 [package2] [...]
* deplist package1 [package2] [...] 列出包的依赖
yum deplist package1 查看程序package1依赖情况
* repolist [all|enabled|disabled] 显示资源库的配置
* version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]
* history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
* load-transaction [txfile]
* check
* help [command]
[package ...] 是操作的软件包对象。
yum list installed search httpd
yum info installed search httpd
-----------------------------------------------------------------------------------------------------------
yum的源文件 cd /etc/yum.repos.d/
CentOS-Base.repo 基本源文件 默认生效的
CentOS-Debuginfo.repo
CentOS-Media.repo
CentOS-Vault.repo
CentOS-fasttrack.repo
1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
2、redhat的yum在线安装需要付费,centOS不需要。
3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
4、[base]:名字可以随便起。
5、name:名字也是随便起。
6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
7、enabled:默认最后一个容器不生效,其他容器都生效。
8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
9、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。
#验证证书目录
ls /etc/pki/rpm-gpg
RPM-GPG-KEY-CentOS-6
RPM-GPG-KEY-CentOS-Debug-6
RPM-GPG-KEY-CentOS-Security-6
RPM-GPG-KEY-CentOS-Testing-6
RPM-GPG-KEY-EPEL-6
RPM-GPG-KEY-remi
光盘搭建yum源:
1.挂载光盘:
>mkdir /mnt/cdrom --建立挂载点
>mount /dev/sr0 /mnt/cdrom/ --挂载光盘
2.使网络yum源失效:
>cd /etc/yum.repos.d/ --进入yum源目录
>mv CentOS-Base.repo CentOS-Base.repo.bak --修改yum源文件后缀名,使其失效
3.使光盘yum源生效:
>vim CentOS-Media.repo
yum的配置文件 /etc/yum.conf
[root@localhost ~]$ sudo more /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
keepcache=0
debuglevel=2 #除错级别,0──10,默认是2
logfile=/var/log/yum.log yum的日志文件,默认是/var/log/yum.log。
exactarch=1 #有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。
obsoletes=1
gpgcheck=1 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。
plugins=1
installonly_limit=5
#metadata_expire=1800
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don~t keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
-----------------------------------------------------------------------------------------------------------
yum install php-gd
yum install gd-devel
yum groupinstall
#yum install samba-common //该执行会一起安装 samba-client
#yum install samba
yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install gd-devel
yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install gd-devel
yum install zlib-devel
yum install freetype-devel freetype-demos freetype-utils
yum install libpng-devel libpng10 libpng10-devel
yum install libjpeg-devel
yum install ImageMagick
yum install php-gd
yum install flex
yum install ImageMagick-devel
yum install system-config-bind
yum groupinstall "DNS Name Server" //安裝 bind 及 bind-chroot 套件
yum groupinstall "MySQL Database"
yum clean all
- Linux实战应用 rpm命令 centos软件安装
-
发表日期:2019-01-05 22:48:55 | 来源: | 分类:Linux实战应用
-
centos的软件安装大致可以分为两种类型:
[centos]rpm文件安装,使用rpm指令 类似[ubuntu]deb文件安装,使用dpkg指令
rpm命令
(一)查询系统装已经安装的软件信息
对于一个rpm包来说,都是有"-"和"."构成的,基本上有以下几部分组成: * 包名 * 版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容
-a (all) 所有的
-i (install) 安装
-l (list) 列表
-h (hash) 显示进度
-v (verbose) 显示详细信息
-e (erase) 卸载
-q (query) 查询
-d (delete) 删除/卸载
-U (upgrade) 升级
-R (Requires) 查询软件包的依赖性
-p 查询未安装的包
--nodeps 不检测依赖性
#安装、升级、卸载
rpm -ivh 包全名 安装软件包
rpm -Uvh 包全名 升级软件包,不存在的话也可以安装
rpm -e 包全名 卸载软件包
#基本查询
rpm -a | grep <包名> 获得和<包名>相关的全部软件包
rpm -qa 查询系统中已经安装的全部软件
rpm -q <包名> 查询是否存在一个软件包
rpm -qc <包名> 查询一个已安装软件的配置文件;
rpm -qd <包名> 查询一个已经安装软件的文档安装位置
rpm -qi <包名> 查询一个已安装软件包的信息
rpm -ql <包名> 查询一个已安装软件包都安装到何处
rpm -qR <包名> 查询一个已安装软件包的依赖性
rpm -qf <文件名路径> 查询一个已经安装的文件属于哪个软件包
rpm -qV <包名> 效验一个已经安装的软件包的安装文件(被修改的
#未安装查询
rpm -qcp <包全名> 查询一个未安装的软件包的配置文件;
rpm -qdp <包全名> 查询一个未安装的软件包的文档所在的位置;
rpm -qip <包全名> 查询一个未安装包的详细信息(用途、版本等信息
rpm -qlp <包全名> 查询一个未安装的包可能的安装目录及所包含的文件
rpm -qpR <包名> 查询一个未安装的软件包的依赖性
#导入签名
rpm --import 签名文件 rpm --import RPM-GPG-KEY
使用rpm -V 包名进行验证之后,验证内容中的8个返回值的信息具体内容如下:
S 文件大小改变
M 文件的类型或者文件的权限被改变
5 文件MD5校验和改变(可以理解成文件内容是否改变)
D 设备的主从代码改变
L 文件的路径改变
U 文件的所有者改变
G 文件的属组改变
T 文件的修改时间改变
#rpm包默认安装位置
/etc/ 配置文件安装目录
/usr/bin/ 可执行命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
提取未安装的RPM包中的文件
rpm2cpio <包全名> | cpio -idv <.文件绝对路径>
注:<.文件绝对路径>中的 . 代表当前路径,不能省略。文件绝对路径和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。
注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【|】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。
使用输入重定向的cpio命令格式:
cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程
- Linux实战应用 ssh 远程管理指定Linux服务器
-
发表日期:2019-01-05 22:48:27 | 来源: | 分类:Linux实战应用
-
#远程管理指定Linux服务器
ssh 用户名@ip
#下载文件
scp [-r] 用户名@ip:远程文件路径 本地路径
#上传文件
scp [-r] 本地文件 用户名@ip:上传路径
- Linux实战应用 IP地址配置 Linux网络配置方式4种
-
发表日期:2019-01-05 17:05:44 | 来源: | 分类:Linux实战应用
-
IP地址配置
Linux网络配置方式4种:
1.ifconfig命令临时配置IP地址,重启或关机之后IP地址会失效。
2.setup工具永久配置IP地址,但是只限于redhat系列的Linux系统。
3.修改网络配置文件,适用于各种版本各种系列的Linux系统,但是文件内容比较多。
4.图形界面配置,如同windows系统配置,(NO 服务器)
loopback 127.0.0.0
eth0 第一块网卡
方式一、ifconfig配置:查看和配置网络状态命令;
1.lo网卡是本地回环网卡,不插网卡一样可以ping通。
2.对我们有用的是eth0网卡,我们需要配置的就是eth0网卡
命令格式:ifconfig eth0 IP地址 netmask 子网掩码
如:ifconfig eth0 192.168.254.200 netmask 255.255.255.0
方式二、setup工具配置:(远程工具连接Linux的时候可能出现乱码,但是在本机中不会出现,因为Linux采用中文安装,就可能会出现这种情况,可以安装中文插件如zhcon)
命令行中输入setup
在使用setup配置完毕之后,必须要在命令行中输入:network restart service(作用:重启网络,使其生效)。
方式三、修改配置文件方式:
vi /etc/sysconfig/network-scripts/ipcfg-eth0//网卡信息
vi /etc/sysconfig/network//主机名文件
hostname imooc//更改主机名
hostname//查看主机名,重登录生效
vi /etc/resolv.conf//dns信息
redhat6以上的 版本,ONBOOT默认为no,不随着网络服务的启动,网卡生效。所以配完ip后,可能还是看不到eth0
网卡信息,就需要在网卡信息文件中手动更改为yes
1、如果看不到这个eth0只能看到lo的解决方法:
手动修改这个文件进行开启这个网卡使用以下命令:
vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes
注意:等号左边的字母是大定右边是小写
2、修改完之后如何退出vi的文档编辑模式?
a)改完后按ESC键,再输入冒号x——:x保存退出
b)改完后按ESC键,再输入两个大写字母 ZZ 保存退出
3、退出之后一定要重启网络才能生效 使用命令:
service network restart
UUID:装完一台计算机后,如果copy配置文件复制计算机镜像安装其他计算机,这个UUID就是相同的,造成这些计算机都不能上网,必须手动更改为不一致
主机名文件: vim /etc/sysconfig/network
主机名在linux中不像在windows中那么重要:windows要求在局域网内不能有同名的主机
默认主机名都是localhost.localdomain
但是可以更改之后便于区分 需要重启计算机后生效
hostname <主机名>临时修改,重启失效
查看当前主机名的命令:hostname
NETWORKING=yes ---> 不能为no,若为no则网络会不起作用
HOSTNAME=localhost.lcaldomain ---> 主机名,windows中局域网内主机名不能重复,但是linux可以重复。不过,建议改为更好辨认的名称。
DNS文件名: /etc/resolv.conf
nameserver 名称服务器,也就是DNS
让本机与虚拟机通信
(1)配置LInuxIP地址
setup
修改并配置IP地址
(2)启动网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
把 ONBOOT = no 改为 yes
(3)重启网络服务
service network restart
(4)修改UUID
1删除MAC地址行
vi /etc/sysconfig/network-scripts/ifcfg-eth0
2删除网卡和MAC地址绑定文件
rm -rf /etc/udev/rules.d/70-persistent-net.rules
3重启动系统
4设置虚拟机网络连接方式
5修改桥接网卡
桥接: 虚拟机和真实机利用真实的网卡进行通信 一般用来做实验可以访问局域网内的其他计算机,公网也可以
优点:配置简单,只需要两个IP在同一个网段即可
缺点:需要占用一个IP
NAT:通信使用VMnet8
虚拟机可以利用真实机的网卡上网,不能访问局域网的其他计算机,但是能够访问公网
- Linux实战应用 设置服务器静态IP
-
发表日期:2018-07-02 15:11:18 | 来源: | 分类:Linux实战应用
-
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
ONBOOT=yes
#BOOTPROTO=dhcp 关闭自动获取ip
BOOTPROTO=static 设置为静态ip地址
IPADDR=192.168.1.150 设置ip
NETMASK=255.255.255.0
NM_CONTROLLED=no
systemctl restart network.service 重启网络配置
------------------- 关于允许防火墙通过ssh,22端口-----------------
ip addr
firewall-cmd --zone=public --add-port=22/tcp --permanen //允许防火墙22端口
systemctl restart firewalld.service 重启防火墙
设置==》网卡==》桥架网卡==》确定
重启