Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。 软件的安装 Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。 对于第一种,安装方法如下: 1 .首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。 #cp xxx.tar.gz /root 2 .由于该文件是被压缩并打包的,应对其解压缩。命令为: #tar xvzf filename.tar.gz 如果是filename.tar.bz2格式的,应该是tar jxvf filename.tar.bz2来解压 3. 执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。 4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为: #./configure 如果您想把软件安装到指定目录,应该用#./configure --prefix=/您自己指定的目录,比如我想把一个mlterm安装到/opt/mlterm目录中,应该如下输入 #./configure --prefix=/opt/mlterm 5.检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为: #make。 6.成功编译后,键入如下的命令开始安装: #make install 7.安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令: #make clean #make distclean 至此,软件的安装结束。 对于第二种,其安装方法要简单得多。 同第一种方式一样,将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下: #rpm -i filename.i386.rpm rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。 软件的卸载 1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令: #rpm -q -a 即可查询到当前系统中安装的所有的软件包。 2. 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令: #rpm -e [package name] 即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载: #rpm -e [package name] -nodeps 忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用 如果想知道rpm包安装到哪里了呢? 应该用 #rpm -ql [package name] 3.如何卸载用源码包安装的软件? 最好是看README和INSTALL ;一般的情况下都有说,但大多软件没有提供源码包的卸载方法;我们可以找到软件的安装点删除。主要看你把它安装在哪了。 比如: 如果安装软件时,指定个目录。这个问题也不会难; 比如用源码包安装gaim 的 #./configure --prefix=/opt/gaim #make #make install 如果安装mlterm #./configure --prefix=/opt/mlterm #make #make install 把源码包安装的软件,都指定安装在 /opt目录中,这样不就知道了; […]
View Details来自:http://tech.v01.cn/Linuxchangjianwenti/changyongruanjiananzhuangyucao/2012/0119/70.html 一、使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断; 删除的命令是,yum remove ~,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。 其中~ 代表软件名 1.用YUM安装软件包命令:yum install ~ 2.用YUM删除软件包命令:yum remove ~ 二、用yum查询想安装的软件 我们常会碰到这样的情况,想安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。我们可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。 有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。 1.使用YUM查找软件包 命令:yum search ~ 2.列出所有可安装的软件包 命令:yum list 3.列出所有可更新的软件包 命令:yum list updates 4.列出所有已安装的软件包 命令:yum list installed 5.列出所有已安装但不在Yum Repository 內的软件包 命令:yum list extras 6.列出所指定软件包 命令:yum list ~ 7.使用YUM获取软件包信息 命令:yum info ~ 8.列出所有软件包的信息 命令:yum info 9.列出所有可更新的软件包信息 命令:yum info updates 10.列出所有已安裝的软件包信息 命令:yum info installed 11.列出所有已安裝但不在Yum Repository 內的软件包信息 命令:yum info extras 12.列出软件包提供哪些文件 命令:yum provides~ 三、清除YUM缓存 yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all […]
View Details1、如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包。 2、在系统下使用命令安装gnome图形界面程序 在安装Gnome包之前,需要检查一下安装源(yum)是否正常,因为需要在yum命令来安装gnome包。 第一步:先检查yum 是否安装了,以及网络是否有网络。如果这两者都没有,先解决网络,在解决yum的安装。 (配置步骤可以查看我的博客文章-centOS-配置网络地址-的步骤来实现 ) 第二步:在命令行下 输入下面的命令来安装Gnome包。
1 |
# yum groupinstall "GNOME Desktop" "Graphical Administration Tools" |
第三步:更新系统的运行级别。
1 |
# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target |
第四步:重启机器。启动默认进入图形界面。
1 |
# reboot |
3、系统启动后直接进入图形界面 from:https://www.cnblogs.com/c-xiaohai/p/6509641.html
View Details近日,需要满足测试需求,进行大数据并发测试时,报出【HTTP 错误 500.0 – Internal Server Error E:\PHP\php-cgi.exe – FastCGI 进程超过了配置的活动超时时限】 解决办法: IIS7->FastCGI设置->双击"php-cgi.exe"->"活动超时" 项默认是设置为70(秒),改为600(10分钟,此处根据需求设置可以略高~) 注意这个是全局那边设置的不是针对单个网站设置 打开IIS7.5, 点击 "FastCGI设置", 双击之前配置IIS支持PHP设置的php-cgi.exe, "活动超时" 项设置的长一些,默认是30,这里的单位是秒,可以设置为1200(即:20分钟) 针对iis 7.5 网站站点设置的方式: 在网站的高级设置里面,单击连接限制,默认为120秒,这里面更改的是每个站点的 from:http://www.jb51.net/article/39436.htm
View DetailsHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\shutdownwithoutlogon 改为0即可。
View Details今日在安装PHP环境时出现下列问题 于是乎去网站搜索并下载了MSVCR110.dll。解压后,将MSVCR110.dll放在了C:\\windows\SysWOW64(64位系统,32系统放在C:\WINdows\system32)下面,然后window+R(启动运行),输入cmd,在输入regsvr32 msvcr110.dll,以为问题得以解决,然而又出现下列问题 后又"咨询下了百度",问题才得以解决。解决步骤如下: 1.下载Visual C++ Redistrbutable for Visual Studio 2012 Update 4. 地址: http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 ,进入该网页 2.选择语言:中文简体,然后点击下载 3.根据电脑系统(32位,64位)选择适合自己的版本。 4.点击Next,出现新建下载任务,点击下载就OK了。 5.下载完后,运行下载的exe文件。 6.在运行PHP环境就没问题了。 from:http://www.cnblogs.com/-scl/p/4198746.html
View Details前言 在上篇文章中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序,本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程,来保证我们的程序在异常或者是电脑重启的时候仍然能够正常访问。 如果你以后用准备使用 asp.net core来开发项目的话,程序并且部署到 Linux 上的话,那么此篇文章你值得收藏。 如果你觉得对你有帮助的话,不妨点个【推荐】。 目录 什么是守护进程 Supervisor 介绍 Supervisor 安装 Supervisor 配置,常用命令 Supervisor UI管理台 什么是守护进程 在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在linux中,每个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。但是守护进程却能突破这种限制,它脱离于终端并且在后台运行,并且它脱离终端的目的是为了避免进程在运行的过程中的信息在任何终端中显示并且进程也不会被任何终端所产生的终端信息所打断。它从被执行的时候开始运转,直到整个系统关闭才退出。 此处的创建守护进程,是指发布在Linux上 asp.net core 程序的dotnet xxx.dll命令的宿主进程创建一个守护进程。 在 Linux 上有很多可以管理进程的工具,我们使用 Supervisor 来做这个事情。 原因有两点: 1、它是微软官方文档推荐的,降低学习成本。 2、它并不一定是最好的,但一定是文档最全的。 Supervisor 介绍 Supervisor是采用 Python(2.4+) 开发的,它是一个允许用户管理 基于 Unix 系统进程的 Client/Server 系统,提供了大量功能来实现对进程的管理。 官方文档:http://supervisord.org/ Supervisor 安装 在 masOS 中直接使用brew工具进行安装即可: brew install supervisor 在 linux 中使用以下命令进行安装: ubuntu sudo apt-get install supervisor centos yum install supervisor python pip install supervosor easy_install supervisor 安装完成之后:
1 2 |
mac:~ yangxiaodong$ brew install supervisor Warning: supervisor-3.2.1 already installed |
Supervisor 配置,常用命令 安装完成之后,在 /ect/supervisor/conf.d/ 目录下新建一个配置文件(touch HelloWebApp.conf),取名为 HelloWebApp.conf […]
View Details本文用图文的方式记录了我自己搭建centos+asp.net core + docker + jexus + nginx的整个过程,希望对有同样需求的朋友有一定的参考作用。 本文主要内容如下: centos7安装 yum镜像 docker镜像 docker安装 dotnetcore安装 Docker安装dotnetcore镜像 asp.net core 创建与发布 docker中部署asp.net core jexus转发 nginx转发 1.centos7安装 a.下载centos的iso文件,比如:CentOS-7-x86_64-Everything-1611.iso b.虚拟机安装,比如:hyper-v c.手动分区: /boot 至少1G,建议2G(很多东西会装在里面,别信网上说的100M足够的话了,设置大点) /swap 2倍内存大小 / 10G吧 /home 10G以上吧 /var 至少1G,建议5G(docker很容易装满) d.软件预装,选择:带UI的Server 2.yum镜像 a.访问阿里云http://mirrors.aliyun.com b.找到你要装的OS,点右边“help”进入安装指南 c.根据指南,安装镜像(执行命令的时候请加上sudo,如果你不是root) 1 2 3 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3.docker镜像 a. 打开开发者中心https://dev.aliyun.com/search.html b.右上角“注册/登陆” c.登陆后,右上角有一个“管理中心” d.进入管理中心,点击“加速器” 开始前先参照这个帖子《CentOS禁止packagekit离线更新服务的办法》http://www.cnblogs.com/zjoch/p/6500480.html处理,否则出现如下错误 按提示完成镜像设置 1 2 3 4 5 6 7 8 9 10 11 12 sudo curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh – 以下命令一行一行输入 sudo mkdir […]
View Details前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在Linux中,对 Asp.Net Core 的程序进行发布和部署。 有关如何在 Jexus 中进行部署,请参见本人的另一篇文章: http://www.cnblogs.com/savorboard/p/dot-net-linux-jexus.html 目录 新建一个 WebApp 项目 发布到 Linux,Mac OS 使用 Nginx 进行反向代理 新建一个 WebApp 项目 在 Asp.Net Core 项目中,我们使用 dotnet new -t WebApp 命令和创建一个新的空的 Web 应用程序。 以下是我在 Mac 中的截图: 主要是用以下几个命令: mkdir HelloWebApp 这个命令是创建一个名为 HelloWebApp 的文件夹。 dotnet new -t Web 这个命令是使用 Web 模板来新建一个 WebApp 的 Mvc 应用程序。 新建了应用程序之后,使用dotnet restore 和 dotnet run 命令来测试一下我们的应用程序。 可以看到已经成功运行了。 我们打开浏览器输入 http://localhost:5000,来看一下效果。 ps: Safari 下面,浏览器地址栏看不到端口号,实际上是5000端口。 发布到 Linux,Mac OS 如果发布应用程序,我们需要使用 dotnet publish命令,通过使用 --help 参数可以看到一些可以使用的命令参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
-f|--framework <FRAMEWORK> Target framework to compile for -r|--runtime <RUNTIME_IDENTIFIER> Target runtime to publish for -b|--build-base-path <OUTPUT_DIR> Directory in which to place temporary outputs -o|--output <OUTPUT_PATH> Path in which to publish the app --version-suffix <VERSION_SUFFIX> Defines what `*` should be replaced with in version field in project.json -c|--configuration <CONFIGURATION> Configuration under which to build --native-subdirectory Temporary mechanism to include subdirectories from native assets of dependency packages in output --no-build Do not build projects before publishing |
我们直接运行dotnet publish 使用默认的发布路径,当看到Published 1/1 projects successfully的时候,说明已经发布成功了。 接着进入到 bin 文件夹下的Debug 文件夹下的netcoreapp1.0 文件夹,然后会看到有一个 publish 的文件夹。这就是默认发布生成的文件夹,在这个文件夹中可以看到我们程序所有依赖的程序集文件。 发布之后 publish 文件夹里面的子文件夹有必要说明一下。
1 2 3 4 5 |
appsettiong.json 应用程序的配置文件 refs 应用程序引用的.net fx系统程序集 runtimes 运行时环境,可以看到里面的文件夹包含 win7、linxu,mac os 等,说明我们这个应用程序是跨平台的。 views 这个文件夹存放的就是我们的 mvc 的视图文件。 wwwroot 文件夹,存放的是前端使用的 js 库,css 样式表,和图片等。 |
然后我们把工作目录切换到发布的 publish 文件夹。使用dotnet […]
View DetailsNginx 502 Bad Gateway 的错误已经遇到好几次了,这里做一下记录,备忘哈哈。 会有好多种情况出现502错误,下面我们分情况来说一下。 一、fastcgi缓冲区设置过小 出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误。 2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream 查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。 网上查找了一下解决方法,在国外网站看到了一个增加缓冲区的方法,彻底解决了Nginx 502 Bad Gateway的问题。方法如下: 1 2 3 4 5 6 http { … fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; … } 请根据服务器已经网站的情况自行增大上述两个配置项。 二、代理缓冲区设置过小 如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端处理,后端返回的header太大,nginx处理不过来就会导致502。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 server { listen 80; server_name *.lxy.me; location / { ###############添加这3行 proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; ###############添加这3行 proxy_set_header […]
View Details