无需言 做自己 业 ,精于勤 荒于嬉.

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:上传路径


阅读全文 »

磁盘管理 ls 列出目录内容

发表日期:2019-01-05 22:46:00 | 来源: | 分类:磁盘管理

功能说明:列出目录内容。


语  法:ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I <范本样式>][-T <跳格字数>][-w <每列字符数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<标注样式>][--quoting-style=<引号样式>][--show-control-chars][--sort=<排序方式>][--time=<时间戳记>][--version][文件或目录...]


补充说明:执行ls指令可列出目录的内容,包括文件和子目录的名称。


参  数:

  -1   每列仅显示一个文件或目录名称。

  -a或--all   下所有文件和目录。

  -A或--almost-all   显示所有文件和目录,但不显示现行目录和上层目录。

  -b或--escape   显示脱离字符。

  -B或--ignore-backups   忽略备份文件和目录。

  -c   以更改时间排序,显示文件和目录。

  -C   以又上至下,从左到右的直行方式显示文件和目录名称。

  -d或--directory   显示目录名称而非其内容。

  -D或--dired   用Emacs的模式产生文件和目录列表。

  -f   此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。

  -F或--classify   在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。

  -g   次参数将忽略不予处理。

  -G或--no-group   不显示群组名称。

  -h或--human-readable   用"K","M","G"来显示文件和目录的大小。

  -H或--si   此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。

  -i或--inode   显示文件和目录的inode编号。

  -I<范本样式>或--ignore=<范本样式>   不显示符合范本样式的文件或目录名称。

  -k或--kilobytes   此参数的效果和指定"block-size=1024"参数相同。

  -l   使用详细格式列表。

  -L或--dereference   如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。

  -m   用","号区隔每个文件和目录的名称。

  -n或--numeric-uid-gid   以用户识别码和群组识别码替代其名称。

  -N或--literal   直接列出文件和目录名称,包括控制字符。

  -o   此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。

  -p或--file-type   此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。

  -q或--hide-control-chars   用"?"号取代控制字符,列出文件和目录名称。

  -Q或--quote-name   把文件和目录名称以""号标示起来。

  -r或--reverse   反向排序。

  -R或--recursive   递归处理,将指定目录下的所有文件及子目录一并处理。

  -s或--size   显示文件和目录的大小,以区块为单位。

  -S   用文件和目录的大小排序。

  -t   用文件和目录的更改时间排序。

  -T<跳格字符>或--tabsize=<跳格字数>   设置跳格字符所对应的空白字符数。

  -u   以最后存取时间排序,显示文件和目录。

  -U   列出文件和目录名称时不予排序。

  -v   文件和目录的名称列表以版本进行排序。

  -w<每列字符数>或--width=<每列字符数>   设置每列的最大字符数。

  -x   以从左到右,由上至下的横列方式显示文件和目录名称。

  -X   以文件和目录的最后一个扩展名排序。

  --block-size=<区块大小>   指定存放文件的区块大小。

  --color=<列表格式>   培植文件和目录的列表格式。

  --full-time   列出完整的日期与时间。

  --help   在线帮助。

  --indicator-style=<标注样式>   在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。

  --quoting-syte=<引号样式>   把文件和目录名称以指定的引号样式标示起来。

  --show-control-chars   在文件和目录列表时,使用控制字符。

  --sort=<排序方式>   配置文件和目录列表的排序方式。

  --time=<时间戳记>   用指定的时间戳记取代更改时间。

  --version   显示版本信息。 


常用扩展

ls -lh [dir] 详细列出dir目录下的内容 等同于 ll [dir]


阅读全文 »

磁盘管理 lndir(link directory) 连接目录内容

发表日期:2019-01-05 22:45:25 | 来源: | 分类:磁盘管理

lndir(link directory)


功能说明:连接目录内容。


语  法:lndir [-ignorelinks][-silent][源目录][目的目录]


补充说明:执行lndir指令,可一口气把源目录底下的文件和子目录统统建立起相互对应的符号连接。


参  数:

  -ignorelinks   直接建立符号连接的符号连接。

  -silent   不显示指令执行过程。 

阅读全文 »

磁盘管理 eject 卸载外接设备

发表日期:2019-01-05 22:44:45 | 来源: | 分类:磁盘管理

功能说明:卸载外接设备。


语  法:eject [-dfhnqrstv][-a <开关>][-c <光驱编号>][设备]


补充说明:若设备已挂入,则eject会先将该设备卸除再退出。


参  数:

  [设备]   设备可以是驱动程序名称,也可以是挂入点。

  -a<开关>或--auto<开关>   控制设备的自动退出功能。

  -c<光驱编号>或--changerslut<光驱编号>   选择光驱柜中的光驱。

  -d或--default   显示预设的设备,而不是实际执行动作。

  -f或--floppy   退出抽取式磁盘。

  -h或--help   显示帮助。

  -n或--noop   显示指定的设备。

  -q或--tape   退出磁带。

  -r或--cdrom   退出光盘。

  -s或--scsi   以SCSI指令来退出设备。

  -t或--trayclose   关闭光盘的托盘。

  -v或--verbose   执行时,显示详细的说明。 


阅读全文 »

磁盘管理 edquota(edit quota) 编辑用户或群组的配额

发表日期:2019-01-05 22:43:51 | 来源: | 分类:磁盘管理

edquota(edit quota)


功能说明:编辑用户或群组的配额。


语  法:edquota [-p <源用户名称>][-ug][用户或群组名称...] 或 edquota [-ug] -t


补充说明:edquota预设会使用vi来编辑使用者或群组的quota设置。


参  数:

  -u   设置用户的quota,这是预设的参数。

  -g   设置群组的quota。

  -p<源用户名称>   将源用户的quota设置套用至其他用户或群组。

  -t   设置宽限期限。 

阅读全文 »

磁盘管理 du(disk usage) 显示目录或文件的大小

发表日期:2019-01-05 22:43:01 | 来源: | 分类:磁盘管理

du(disk usage)


功能说明:显示目录或文件的大小。


语  法:du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]


补充说明:du会显示指定的目录或文件所占用的磁盘空间。


参  数:

  -a或-all   显示目录中个别文件的大小。

  -b或-bytes   显示目录或文件大小时,以byte为单位。

  -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

  -D或--dereference-args   显示指定符号连接的源文件大小。

  -h或--human-readable   以K,M,G为单位,提高信息的可读性。

  -H或--si   与-h参数相同,但是K,M,G是以1000为换算单位。

  -k或--kilobytes   以1024 bytes为单位。

  -l或--count-links   重复计算硬件连接的文件。

  -L<符号连接>或--dereference<符号连接>   显示选项中所指定符号连接的源文件大小。

  -m或--megabytes   以1MB为单位。

  -s或--summarize   仅显示总计。

  -S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。

  -x或--one-file-xystem   以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

  -X<文件>或--exclude-from=<文件>   在<文件>指定目录或文件。

  --exclude=<目录或文件>   略过指定的目录或文件。

  --max-depth=<目录层数>   超过指定层数的目录后,予以忽略。

  --help   显示帮助。

  --version   显示版本信息。 


 

常用扩展


du -sh [dir] dir目录的总大小 

du -ah [dir] 递归方式显示dir极其所有子代目录及文件的大小


阅读全文 »

磁盘管理 dirs 显示目录记录

发表日期:2019-01-05 22:41:34 | 来源: | 分类:磁盘管理

功能说明:显示目录记录。


语  法:dirs [+/-n -l]


补充说明:显示目录堆叠中的记录。


参  数:

  +n   显示从左边算起第n笔的目录。

  -n   显示从右边算起第n笔的目录。

  -l   显示目录完整的记录。 


常用扩展


dirs -l 当前所在目录的完整路径


阅读全文 »

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

虚拟机可以利用真实机的网卡上网,不能访问局域网的其他计算机,但是能够访问公网


阅读全文 »

MYSQL 查询下一个自增id

发表日期:2018-07-18 23:18:41 | 来源: | 分类:MYSQL


$sql = "SELECT AUTO_INCREMENT AS next_id FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_NAME= 'user'";
$d = $model->query($sql);
print_r($d['next_id']);


阅读全文 »

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 重启防火墙

设置==》网卡==》桥架网卡==》确定

重启


阅读全文 »

磁盘管理 df(disk free) 显示磁盘的相关信息

发表日期:2018-03-02 11:23:48 | 来源: | 分类:磁盘管理

功能说明:显示磁盘的相关信息。


语  法:df [-ahHiklmPT][--block-size=<区块大小>][-t <文件系统类型>][-x <文件系统类型>][--help][--no-sync][--sync][--version][文件或设备]


补充说明:df可显示磁盘的文件系统与使用情形。


参  数:

  -a或--all   包含全部的文件系统。

  --block-size=<区块大小>   以指定的区块大小来显示区块数目。

  -h或--human-readable   以可读性较高的方式来显示信息。

  -H或--si   与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes。

  -i或--inodes   显示inode的信息。

  -k或--kilobytes   指定区块大小为1024字节。

  -l或--local   仅显示本地端的文件系统。(默认)

  -m或--megabytes   指定区块大小为1048576字节。

  --no-sync   在取得磁盘使用信息前,不要执行sync指令,此为预设值。

  -P或--portability   使用POSIX的输出格式。

  --sync   在取得磁盘使用信息前,先执行sync指令。

  -t<文件系统类型>或--type=<文件系统类型>   仅显示指定文件系统类型的磁盘信息。

  -T或--print-type   显示文件系统的类型。

  -x<文件系统类型>或--exclude-type=<文件系统类型>   不要显示指定文件系统类型的磁盘信息。

  --help   显示帮助。

  --version   显示版本信息。

  [文件或设备]   指定磁盘设备。 


 

常用扩展


df -hT 详细列出磁盘的文件系统使用情况


阅读全文 »

集速公告 关于集速网

发表日期:2018-03-02 11:23:07 | 来源: | 分类:集速公告

集速网起源

2013年2月 注册了 canquick.com ,当时注册这个域名一是因为喜欢这个名字,二是因为之前开发了一个PHP轻框架,取名就叫做CanQuick,也用在了两个线上项目里。当时本以为会用这个域名做该框架的官网,后来没有那么做,再后来我觉得这个PHP框架有很多不足我也不是搞框架的厂商没时间长期维护,加上工作性质就不可能大量时间研究,因此决定暂时不用也不继续更新该框架,当然我不会放弃这个PHP框架,并且现在也有了更好的思路。只是无限期延后推出一个颠覆性的新版本。


2014年11月决定工作之余开发一个人博客,偶尔写写日记或是技术笔记。2014年11月15日夜,开发大体完成。“杨耀东的博客  www.canquick.com”,一直没有提交搜索引擎,因为没有这个必要,只有自己用而已,其实更多的是一个极度个人的私密日记本,每个人都有自己的心事,没有人可以倾诉,总要有个属于自己的地方去说点心里话。(当然有这个功能,未登录不显示)

----------2018-3-2 补充文章------------

备案域名时,不知网站该起什么名字好,根据canquick字意:可以快速/轻巧;音译:侃快客,想来想去字意好记,音译比较有创意。最后决定用字意,(可以快速/轻巧)开始有考虑过极速网,后和同事小悦悦聊,给个建议:集速网,我觉得比较好,于是就这样决定。

---------------------------------------

很久以来没有更新内容和登录了,但是域名和服务器始终在续费没有停。一直沉浸在不断的工作和学习中,很难有时间去整理自己领会的知识。

---------------------------------------

随着职业发展,我逐步开始寻求领域的突破,现在特别想把自己会的东西整理一下。后续会抽空开始做。

---------------------------------------

去年自己的服务器到期了,所以迁移了服务器,顺便把这个站重写了一下。前台界面沿用了,后台代码重写了一下,有时候想把站做大气点,好看点,也写过一个比较棒的门户,但是也懒得弄了,因为没有那么多内容,也没人维护而且个人的也不是商业的,目前的想法核心还是博客粘贴一下以前的技术笔记。当然这些都不是重点,重点是后台比前台强多了,写一些验证性的功能。这几天着实无聊,想着上来粘了几十篇以前写的笔记,反正是很多了懒得整理。还有很多有意思的功能不适合粘代码。看吧,等我有空了整理分项把图片云,建站系统,邮件平台,项目管理系统,聊天系统,低代码平台,api接口平台等整理产品化建子站或开源了。写过太多有意思的东西了还是得发挥价值才对。这两天整理了电脑上数十个自己曾经写的项目,好在都还能跑起来。

2022.8.6补充

---------------------------------------

阅读全文 »

磁盘管理 cd(change directory) 切换目录

发表日期:2018-03-02 11:12:18 | 来源: | 分类:磁盘管理


cd(change directory)


功能说明:切换目录。


语  法:cd [目的目录]


补充说明:cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。 


 

常用扩展


cd ~ 切换至家目录

cd .. 返回上级目录

cd [目录开头字母] 按tab键自动补全目录名或提示目录名,若不提示则不存在该开头字母的子目录


阅读全文 »

全部博文(1582)
集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。