第十六章、Linux程序包管理之yum及源代码安装

目录

  • yum介绍
  • yum配置文件
  • yum的repo配置文件中可用的变量
  • yum命令的使用
  • 使用光盘作为本地yum仓库
  • 如何创建yum仓库
  • 编译安装的三步骤
  • 开源程序代码的获取方式
  • 安装后的配置

16.1、yum简介

Yum(全称为 Yellow dog Updater, Modified)是redhat系列linux系统的包管理工具。就是类似windows下安装软件那个下一步下一步的东西。由于linux的开源,所以linux下的软件有大量组件依赖。这导致了linux安装一个软件必须先安装各依赖包,yum就是帮助我们解决这个的。

yum的基础是RPM,RPM是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是RPM软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。 于是,yum基于rpm包管理,做到了能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包的功能,无须繁琐地一次次下载、安装。

16.2、yum repository是什么?

存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录:repodata);

通过配置repo文件中指定远程文件服务器的地址来安装指定的程序包,repo文件中文件服务器的格式:

ftp://
http://
nfs://
file:///指向到repodata所在目录;

16.3、yum客户端

配置文件

/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置

仓库的定义

[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/ # 指定仓库的路径
enabled={1|0} # 是否启用此仓库
gpgcheck={1|0} # 是否对程序包进行验证
gpgkey=URL # 指定程序包的签名
enablegroups={1|0} # 是否允许安装包组
failovermethod={roundrobin | priority}
当baseurl指定多个仓库时的次序,默认为:roundrobin,随机挑选;
cost=
定义多个repo时访问开销默认为1000;

16.4、yum命令的使用方法

使用格式

yum [options] [command] [package ...]

[command]列表


command is one of:
* install package1 [package2] [...]
* update [package1] [package2] [...]
* update-to [package1] [package2] [...]
* update-minimal [package1] [package2] [...]
* check-update
* upgrade [package1] [package2] [...]
* upgrade-to [package1] [package2] [...]
* distribution-synchronization [package1] [package2] [...]
* remove | erase package1 [package2] [...]
* autoremove [package1] [...]
* list [...]
* info [...]
* provides | whatprovides feature1 [feature2] [...]
* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
* makecache [fast]
* groups [...]
* search string1 [string2] [...]
* shell [filename]
* resolvedep dep1 [dep2] [...]
(maintained for legacy reasons only - use repoquery or yum provides)
* localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
* reinstall package1 [package2] [...]
* downgrade package1 [package2] [...]
* deplist package1 [package2] [...]
* repolist [all|enabled|disabled]
* repoinfo [all|enabled|disabled]
* repository-packages <enabled-repoid> <install|remove|remove-or-reinstall|remove-
or-distribution-synchronization> [package2] [...]
* version [ all | installed | available | group-* | nogroups* | grouplist |
groupinfo ]
* history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll‐
back|new|sync|stats]
* load-transaction [txfile]
* updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates | exclude-all
| check-running-kernel]
* fssnapshot [summary | list | have-space | create | delete]
* fs [filters | refilter | refilter-cleanup | du]
* check
* help [command]

16.4.1、常用方法示例

显示仓库列表

yum repolist [all | disabled] # 默认只显示以启用的repo

示例:

[root@www yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,363
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,976
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 435
localbase local base repo 9,007
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 399
repolist: 30,180

显示程序包

yum list [all | glob_exp1] [glob_exp2] [...]
yum list available| updates| installed [glob_exp1] [...]

示例:

# 1、显示以ansible开头的所有的包
[root@www yum.repos.d]# yum list ansible*
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
可安装的软件包
ansible.noarch 2.2.0.0-4.el7 epel
ansible-inventory-grapher.noarch 2.3.2-1.el7 epel
ansible-lint.noarch 3.4.1-1.el7 epel
ansible-openstack-modules.noarch 0-20140902git79d751a.el7 epel
ansible-review.noarch 0.12.2-1.el7 epel
ansible1.9.noarch 1.9.6-2.el7 epel
# 2、显示所有已经安装的包
[root@www yum.repos.d]# yum list installed

安装程序包

yum install package1 [package2] [...]
# 默认安装最新版本,如果希望安装老版本则指定版本号

示例:

# 1、安装tree命令和htop命令
[root@www yum.repos.d]# yum install tree htop

重新安装程序包

yum reinstall package1 [package2] [...]

示例:

# 重新安装tree,htop命令
[root@www yum.repos.d]# yum reinstall tree htop

升级程序包

yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...] #(降级安装)

示例:

# 练习1、升级centos7系统vim编辑器
[root@www yum.repos.d]# yum update vim-common
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-common.x86_64.2.7.4.160-1.el7 将被 升级
--> 正在处理依赖关系 vim-common = 2:7.4.160-1.el7,它被软件包 2:vim-enhanced-7.4.160-1.el7.x86_64 需要
---> 软件包 vim-common.x86_64.2.7.4.160-1.el7_3.1 将被 更新
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-1.el7 将被 升级
---> 软件包 vim-enhanced.x86_64.2.7.4.160-1.el7_3.1 将被 更新
--> 解决依赖关系完成

检查可用升级

yum check-update

卸载程序包

yum remove | erase package1 [package2] [...]
# 生产环境中不建议使用remove去卸载,会同时卸载依赖包,影响其它程序;

示例:

[root@www ~]# yum remove tree

查看程序包信息

yum info [...]

示例:

[root@www ~]# yum info htop
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
已安装的软件包
名称 :htop
架构 :x86_64
版本 :2.0.2
发布 :1.el7
大小 :207 k
源 :installed
来自源:epel
简介 : Interactive process viewer
网址 :http://hisham.hm/htop/
协议 : GPL+
描述 : htop is an interactive text-mode process viewer for Linux, similar to
: top(1).

查看指定的特性(可以是某文件)是由哪个程序包所提供

yum provides | whatprovides feature1 [feature2] [...]

示例:

[root@www ~]# yum provides /bin/htop
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
htop-2.0.2-1.el7.x86_64 : Interactive process viewer
源 :@epel
匹配来源:
文件名 :/bin/htop

清理本地缓存

yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
# 通常清理缓存时使用yum clean all

构建缓存

yum makecache

搜索

yum search string1 [string2] [...]

示例:

[root@www ~]# yum search ansible

查看指定包所依赖的程序

yum deplist package1 [package2] [...]

示例:

# 查看ansible依赖哪些包
[root@www ~]# yum deplist ansible
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
软件包:ansible.noarch 2.2.0.0-4.el7
依赖:/usr/bin/python2
provider: python.x86_64 2.7.5-48.el7
依赖:PyYAML
provider: PyYAML.x86_64 3.10-11.el7
依赖:python(abi) = 2.7
provider: python.x86_64 2.7.5-48.el7
依赖:python-httplib2
provider: python-httplib2.noarch 0.7.7-3.el7
依赖:python-jinja2
provider: python-jinja2.noarch 2.7.2-2.el7
依赖:python-keyczar
provider: python-keyczar.noarch 0.71c-2.el7
依赖:python-paramiko
provider: python2-paramiko.noarch 1.16.1-1.el7
provider: python-paramiko.noarch 1.12.4-1.el7.centos
依赖:python-setuptools
provider: python-setuptools.noarch 0.9.8-4.el7
依赖:python-six
provider: python-six.noarch 1.9.0-2.el7
依赖:sshpass
provider: sshpass.x86_64 1.05-5.el7

查看yum事务历史

yum history  [info|list|packages-list|packages-info|summary|addon-info|redo|undo|roll‐back|new|sync|stats]

示例:

[root@www ~]# yum history
已加载插件:fastestmirror
ID | 登录用户 | 日期和时间 | 操作 | 变更数
-------------------------------------------------------------------------------
15 | root <root> | 2016-12-29 08:33 | Update | 2
14 | root <root> | 2016-12-29 08:26 | Reinstall | 2
13 | root <root> | 2016-12-29 08:25 | Install | 2 <
12 | root <root> | 2016-12-29 08:16 | Install | 1 ><
11 | root <root> | 2016-12-26 15:07 | Install | 1 >
10 | root <root> | 2016-12-24 15:34 | Install | 1
9 | root <root> | 2016-12-24 15:32 | Install | 2
8 | root <root> | 2016-12-18 15:18 | Install | 1
7 | root <root> | 2016-12-13 11:12 | Install | 1
6 | root <root> | 2016-12-06 22:10 | Install | 4
5 | root <root> | 2016-12-05 21:48 | Install | 1
4 | root <root> | 2016-12-04 18:44 | Install | 1
3 | root <root> | 2016-12-04 18:43 | Install | 1
2 | root <root> | 2016-12-04 18:40 | Install | 1
1 | 系统 <空> | 2016-12-04 18:13 | Install | 387
history list

安装本地程序包

yum install  xxx-VERSION.release.arch.rpm

示例:

[root@www Packages]# yum install  tree-1.6.0-10.el7.x86_64.rpm

包组管理的相关命令

yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]

示例:

[root@www ~]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
可用的环境分组:
最小安装
基础设施服务器
计算节点
文件及打印服务器
MATE 桌面环境
基本网页服务器
虚拟化主机
带 GUI 的服务器
GNOME 桌面
KDE Plasma Workspaces
开发及生成工作站
[root@www ~]# yum groupinstall "Development Tools"

16.4.2、yum的命令行选项

--nogpgcheck:禁止进行gpg check
-y:自动回答为yes
-q:静默模式;
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件;

16.5、yum的repo配置文件中可用的变量

$releasever:当前os的发行版的主版本号;
$arch:平台;
$basearch:基础平台;
$YUM0-$YUM9

16.6、创建yum仓库

16.6.1、将本地光盘作为yum仓库

  1. 挂在本地光盘
  2. 编辑repo文件
  3. 查看可用仓库
# 挂载本地光盘
[root@www ~]# mount /dev/cdrom /media/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@www ~]# ls /media/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
# 编辑repo文件
[root@www ~]# cd /etc/yum.repos.d/
您在 /var/spool/mail/root 中有新邮件
[root@www yum.repos.d]# vim localbase.repo
[localbase]
name=local yum repository
baseurl=file:///media
enbaled=1
gpgcheck=0
# 查看可用仓库
[root@www yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,363
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,976
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 435
localbase local yum repository 9,007
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 399
repolist: 30,180

16.6.2、创建指定程序包目录创建为仓库

  1. 安装createrepo命令
  2. 切换至程序包所在目录
  3. 创建repodata数据
  4. 配置repo文件
# 安装createrepo
[root@www repo]# yum -y install createrepo # 创建/yum/repo目录存放程序包
[root@www ~]# mkdir -p /yum/repo
[root@www ~]# cp /media/Packages/php* /yum/repo/
[root@www ~]# ll /yum/repo/|wc -l
28
您在 /var/spool/mail/root 中有新邮件
[root@www ~]# cd /yum/repo/
[root@www repo]# ls
php-5.4.16-36.el7_1.x86_64.rpm php-mysqlnd-5.4.16-36.el7_1.x86_64.rpm
php-bcmath-5.4.16-36.el7_1.x86_64.rpm php-odbc-5.4.16-36.el7_1.x86_64.rpm
php-cli-5.4.16-36.el7_1.x86_64.rpm php-pdo-5.4.16-36.el7_1.x86_64.rpm
php-common-5.4.16-36.el7_1.x86_64.rpm php-pear-1.9.4-21.el7.noarch.rpm
php-dba-5.4.16-36.el7_1.x86_64.rpm php-pecl-memcache-3.0.8-4.el7.x86_64.rpm
php-devel-5.4.16-36.el7_1.x86_64.rpm php-pgsql-5.4.16-36.el7_1.x86_64.rpm
php-embedded-5.4.16-36.el7_1.x86_64.rpm php-process-5.4.16-36.el7_1.x86_64.rpm
php-enchant-5.4.16-36.el7_1.x86_64.rpm php-pspell-5.4.16-36.el7_1.x86_64.rpm
php-fpm-5.4.16-36.el7_1.x86_64.rpm php-recode-5.4.16-36.el7_1.x86_64.rpm
php-gd-5.4.16-36.el7_1.x86_64.rpm php-snmp-5.4.16-36.el7_1.x86_64.rpm
php-intl-5.4.16-36.el7_1.x86_64.rpm php-soap-5.4.16-36.el7_1.x86_64.rpm
php-ldap-5.4.16-36.el7_1.x86_64.rpm php-xml-5.4.16-36.el7_1.x86_64.rpm
php-mbstring-5.4.16-36.el7_1.x86_64.rpm php-xmlrpc-5.4.16-36.el7_1.x86_64.rpm
php-mysql-5.4.16-36.el7_1.x86_64.rpm # 生成repodata数据
[root@www ~]# cd /yum/repo/
[root@www repo]# createrepo ./
Spawning worker 0 with 7 pkgs
Spawning worker 1 with 7 pkgs
Spawning worker 2 with 7 pkgs
Spawning worker 3 with 6 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@www repo]# ll repodata/
总用量 72
-rw-r--r-- 1 root root 7642 12月 29 10:23 1f2790b2f5cb011b0ee50480f1a734b1cfef3fcf8cb5c56715c56ab8b373f928-primary.xml.gz
-rw-r--r-- 1 root root 5091 12月 29 10:23 5bfd453ae038a5befb57f483a0cf16fa2b33c3efbbd5d08102750e751a9dadd6-other.xml.gz
-rw-r--r-- 1 root root 10581 12月 29 10:23 7f3365a22053bad95693995eb31c88102ba25f9c404e88123226dd19a5fdd29e-other.sqlite.bz2
-rw-r--r-- 1 root root 19721 12月 29 10:23 861e8e2872ef3faf07613bba90135feeb4128ce850085544c5e51444d9c7e731-primary.sqlite.bz2
-rw-r--r-- 1 root root 11285 12月 29 10:23 96c960d58f47cc8dd0ecee902139dae3af6c2c5242d9a063549ae54d8cd99548-filelists.sqlite.bz2
-rw-r--r-- 1 root root 6526 12月 29 10:23 ad31846122b77a0150a5eb6f3434d260d30fabd18d211351ceeb7945c310cddd-filelists.xml.gz
-rw-r--r-- 1 root root 2980 12月 29 10:23 repomd.xml # 配置repo文件
[root@www yum.repos.d]# vim local-php.repo
[localphp]
name=local php repository
baseurl=file:///yum/repo
enbaled=1
gpgcheck=0 # 查看可用仓库是否又localphp
[root@www ~]# yum repolist
已加载插件:fastestmirror
localphp | 2.9 kB 00:00:00
localphp/primary_db | 19 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 9,363
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,976
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 435
localbase local yum repository 9,007
localphp local php repository 27
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 399
repolist: 30,207

16.7、程序包编译安装

16.7.1、开源程序源代码的获取方式

  1. 官方自建站点获取;
  2. 代码托管;常用代码托管机构有:
    1. sourceforge
    2. GitHub.com
    3. code.google.com

16.7.2、编译安装前准备工作

编译C源代码

前提:提供开发工具及开发环境;

开发工具:make, gcc等;

开发环境:开发库,头文件;

通过包组提供开发组建

centos6: "development tools", "server platform development"

16.7.3、编译安装的三个步骤

第一步:./configure

1、通过选项传递参数,指定启用特性,安装路径等;执行时会参考用户的指定以及Makefile.in文件生成makefile;

2、检查各依赖到的外部环境;

3、通过—help:获取其支持使用的选项

第二步:make

根据makefile文件,构建应用程序;

第三步:make install

是一个复制文件,生成链接的过程;

建议:安装前查看INSTALL及README文件;

16.7.4、安装后的配置


# 1、导出二进制程序目录至PATH环境变量中;
编辑:/etc/profile.d/NAME.sh
export PATH=/path/to/bin:$PATH # 2、导出库文件路径
编辑:/etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录至此文件中;让系统重新生成缓存
ldconfig [-v] # 3、导出头文件
基于链接的方式实现:将安装路径下include目录软链接至/usr/include/与程序对应的名称
ln -sv /PATH/TO/APPDIR/include /usr/include/APP_NAME # # 4、导出帮助手册
编辑/etc/man.config文件
添加一个MANPATH

Linux程序包管理之yum及源代码安装的更多相关文章

  1. 十七、程序包管理之yum和编译安装

    YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户 ...

  2. Linux程序包管理初步-yum的使用

    何为yum? yum:由yellow dog研发,全称Yellowdog Update Modifier 是rhel系列系统上rpm包管理器的前端工具,可用来自动解决依赖关系,从而更好的实现程序包的安 ...

  3. 【程序包管理】Linux程序包管理之yum源安装

    yum源安装是我们工作中常用的一种方式,它是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RP ...

  4. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  5. linux基础之程序包管理(rpm,yum)

    一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...

  6. Linux 程序包管理-YUM

    前端工具YUM管理程序包:  rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问题 ...

  7. Linux 程序包管理-RPM

    程序简介:  POSIX(Portable Openratin System)跨平台系统:不同操作系统平台的标准C库(glibc)都是遵循POSIX规范的,这样基于标准库开发程序的源代码可以夸平台编译 ...

  8. Linux程序包管理初步-rpm的使用

    在Linux系统上,一般而言,对于程序包管理器来说分为三类: debian:dpt,dpkg;             (程序包后缀.deb) rhel:rpm (程序包后缀.rpm) suse:rp ...

  9. Linux程序包管理.md

    rpm 简介 RPM包管理员(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器.RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身 ...

随机推荐

  1. fir.im Weekly - 揭秘 iOS 面向协议编程

    本期 fir.im Weekly 重点推荐关于 iOS 面向协议编程相关文章,还有 iOS 多线程安全.Swift 进阶.Android MVVM 应用框架.Android 蓝牙实践等技术文章分享和工 ...

  2. Angular页面传参的四种方法

    1. 基于ui-router的页面跳转传参 (1)在Angular的app.js中用ui-route定义路由,比如有两个页面, 一个页面(producers.html)放置了多个producers,点 ...

  3. salesforce 零基础学习(五十七)Test 类中创建TestUser帮助类

    我们写Test Class的时候往往都需要指定一个uesr去run test method. TestUserHelper类如下: public class TestUserHelper { publ ...

  4. Hyper-V1:创建和管理虚拟机

    Hyper-V是微软的管理虚拟机(Virtual Machine)的服务,在安装Hyper-V功能之后,系统自动安装可视化的虚拟机管理工具:Hyper-V Manager.在同一台物理机上,能够使用H ...

  5. 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

    1.表单验证插件Validation   2.表单插件Form   3.动态事件绑定插件livequery 可以为后来的元素绑定事件   类似于jQuery中的live()方法     4.jQuer ...

  6. AngularJS 脏检查深入分析

    写在开头 关于Angular脏检查,之前没有仔细学习,只是旁听道说,Angular 会定时的进行周期性数据检查,将前台和后台数据进行比较,所以非常损耗性能. 这是大错而特错的.我甚至在新浪前端面试的时 ...

  7. CSS3与页面布局学习总结(五)——Web Font与Sprite

    一.web font web font是应用在web中的一种字体技术,在CSS中使用font-face定义新的字体.先了解操作系统中的字体: a).安装好操作系统后,会默认安装一些字体,这些字体文件描 ...

  8. Rafy 领域实体框架 - 公司内部培训视频

    本月给公司内部一个项目做架构重构,其中使用到了 Rafy 框架.所以我培训了 Rafy 领域实体框架的使用方法,过程中录制了视频,方便其他同事查看.现在把视频放到园里来分享下,有兴趣的朋友可以看看,有 ...

  9. Visual Studio问题集锦:coloader80.dll未正确安装

    问题 今天在修改之前的一个项目的时候报了一个错,大概内容如下: 有一个 Visual Studio 的 DLL 文件(coloader80.dll)未正确安装.请通过"控制面板"中 ...

  10. ABP总体介绍

    ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点, ...