Ubuntu常用操作(待补充)

1、查看安装的所有软件

dpkg -l
edg:dpkg -l | grep ftp

2、查看软件安装的路径

dpkg -L | grep ftp
or
whereis ftp

3、查看软件版本

aptitude show
edg:aptitude  show ftp

4、dpkg方式安装

说明 :DPKG包:是由Debian Linux所开发出来的包管理机制,主要应用在Debian和Unbuntu中。软件包文件后缀是 “.deb”。
注:需要先下载Linux环境下对应的软件安装包(XXX.deb),在其安装包(XXX.deb)所处位置下面打开终端运行以下命令。
sudo dpkg -i XXX.deb  

卸载:在其安装包(XXX.deb)所处位置下面打开终端运行以下命令:

apt-get remove [package]
apt-get purge [package]
apt-get autoremove [package]
apt-get clean
apt-get autoclean

5、apt-get卸载常用命令说明:

命令特点
apt-get autoremove移除没有使用的依赖高能警告:慎用本命令!!! 它会在你不知情的情况下,一股脑删除很多“它认为”你不再使用的软件;
apt-get remove [+软件包名称] 特点卸载软件(删除已安装的软件包但不会删除依赖软件包,保留配置文件)
apt-get purge / apt-get --purge remove[+软件包名称]卸载软件和配置文件(在删除软件包的同时删除相应依赖软件包)
apt-get autoclean删除/var/cache/apt/archives/下的过期deb包(删除已经卸载的软件包的.deb安装文件)
apt-get clean删除/var/cache/apt/archives/下的所有deb包(相当于清理下载的软件安装包)
命令特点
clean类似上面的命令,但它删除包缓存中的所有包。

根据以上,我们可以知道完全卸载一个软件可以按照这个流程:

5.1、删除软件及其配置文件

apt-get --purge remove <package>				

5.2、删除没用的依赖包

apt-get autoremove <package>					

5.3、清理dpkg的列表中有“rc”状态的软件包

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P	
说明:输入dpkg -l来查看软件的状态,输入dpkg -P来卸载软件。因为dpkg --remove只是删除安装的文件,但不删除配置文件。而dpkg --purge则安装文件和配置文件都删除。
常用命令

6、dpkg常用命令说明:

所谓源码包一般就是指C语言开发的源代码文件的一个压缩包(.tar.gz或.tar.bz2)。源码包的编译用到了linux系统里的编译器
gcc,利用它就可以把C语言变成可执行的二进制文件,所以如果要使用源码包安装必须先安装 gcc 编译器(可以使用 yum install -y gcc 完成安装)。
选项(在下面对应的场景会具体说明)
软件包名:指定要操做的dpkg软件包。如果操作的是未安装过的软件包,要使用包全名,而且要注意绝对路径;如果操作的是已安装过的软件包,可以在任意目录下直接使用包名,DPKG包管理利用文件数据库来维护已安装的软件信息, 如果软件安装完毕,该软件的相关信息会被写入/var/lib/dpkg/目录下的数据库文件中,一般"/var/lib/dpkg/status" 文件中存储软件状态和控制信息,"/var/lib/dpkg/info/xxx.list"文件中记录了软件安装文件清单

DPKG 软件包的命名规则为:软件包名_版本号-修订号_平台.deb
例如:typora_1.0.3_amd64.deb

命令特点
dpkg -i package.deb安装包(使用包全名)
dpkg -R /usr/local/src安装一个目录下面所有的软件包
dpkg -r package删除包(保留配置文件)
dpkg -P package删除包(包括配置文件)
dpkg -l查询所有安装过的包一般信息(也可以验证包是否被安装))
dpkg -l package查看指定包一般信息
dpkg -s package查看安装过的包的**详细信息、及包的依赖列出当前已安装的包
dpkg --info package.deb查看未被安装过的包的**详细信息、及包的依赖(使用包全名)
dpkg -L package查看包的安装位置
dpkg -S fileName查询文件属于哪个包中
dpkg --unpack package.deb解开deb包的内容
dpkg -s keyword搜索所属的包内容
dpkg -c package.deb列出deb包的内容(使用包全名)
dpkg --configure package配置包

6.1、DPKG 安装

安装命令:dpkg -i 包全名

选项
    -i:安装
    --unpack:解开软件包
    --configure:配置软件包
-i 选项所做操作包含解开软件包和配置软件包,相当于这两步操作:
dpkg --unpack 包全名
dpkg --configure 包名

6.2、DPKG 卸载

卸载命令:dpkg -r|-P 包名

选项
--r:删除已安装的软件包,但保留配置文件
    -P:删除已安装软件包,完全清除包(含配置文件)

6.3、DPKG 查询

6.3.1、查询已安装软件包列表,命令:dpkg -l [包名]
选项
    -l:查询已安装软件包列表,包含状态、版本信息
    包名:查询指定的软件包,如果省略查询全部已安装软件包。包名可使用通配符
6.3.2、列出软件包关联文件,命令:dpkg -L 包名 或 dpkg -c 包全名
选项
    -L:列出已安装软件包关联文件列表
    -c:列出未安装软件包关联文件列表
也可以通过该命令查看软件包文件安装目录位置
6.3.3、显示软件包的详细状态,命令:dpkg -s 包名
选项
    -s 或 --status:显示软件包的详细状态
6.3.4、搜索含有指定文件的软件包,命令:dpkg -S 文件名
选项
    -S 或 --search:搜索含有指定文件的软件包。文件名可使用通配符
6.3.5、搜索系统中损坏的软件包,命令:dpkg -C

7、源码包安装

7.1、注意事项

什么情况下选择源码包安装?
如果软件包是给大量客户提供访问的,建议源码包安装,因为源码包效率更高,如LAMP环境搭建;如果软件包是给Linux底层使用或者少量客户访问,建议使用rmp包安装,因为rmp包简单,不容易出错
源码包从哪里来?
rpm 包是光盘中直接包含的或者yum源服务器提供,一般不需要单独下载;而源码包是通过官方网站下载的,使用时需要单独下载。
同一个软件是否可以用软件包方式安装后,同时又用源码包再安装一遍?
答案是可以的,因为两种方式的软件安装位置不同,所以安装时相互不会有影响,但是需要注意,两个同时启动时需要修改端口,否则会端口冲突。一般情况下不会同一个软件安装两边,多装一个只会浪费资源

7.2、安装步骤

下载源码包
    源码包格式一般为 xxx.tar.gz或 xxx.tar.bz2。
    示例: wget https://archive.apache.org/dist/httpd/httpd-2.2.15.tar.gz
解压缩
    一般习惯把下载的源码包解压缩到 /usr/local/src/ 目录下。
    示例:tar -zxvf httpd-2.2.15.tar.gz -C /usr/local/src/
进入解压目录
    示例:cd /usr/local/src/httpd-2.2.15/
编译前准备,命令:./configure --prefix=安装目录
    --prefix=安装目录:指定安装目录。如果不指定,默认情况下会安装在 /usr/local/包名/bin, /usr/local/包名/lib 等目录下,安装文件比较分散不利于删除
    configure 指令是每个源码包都自带的脚本程序(即解压目录下一个名为"configure"的脚本文件),非系统指令执行时必须指明路径,即"./"表明是当前路径下。执行该指令主要有如下作用:
        安装之前检测系统环境是否符合安装要求
        定义需要的功能选项。如通过 “–prefix=安装目录” 指定安装目录,其他更多功能选项可以通过 “./configure --help” 来查看
        创建 Makefile 文件并把系统环境检测结果和定义的功能选项写入该文件,后续的编译和安装都需要依赖这个文件的内容
    示例:./configure --prefix=/usr/local/apache2
编译,命令:make
    make 会调用 gcc 编译器,并读取 Makefile 文件中的信息进行系统软件编译。编译的目的就是把源码程序转变为能被 Linux 识别的可执行文件,这些可执行文件保存在当前目录下。编译过程较为消耗时间,需要耐心等待
报错清空编译内容(非必须步骤),命令:make clean
    如果在执行 “./configure” 或者 “make” 命令时报错,解决报错问题后,需要重新执行命令时一定要先执行一下 “make clean” 命令,它会清空 Makefile 文件和编译产生的 “.o” 头文件
安装,命令:make install
    这个才是真正的安装,一般会输出程序的安装位置。如果忘记指安装目录,则可以把这个命令的执行过程保存下来,以备将来删除软件使用

注意:1.执行 ./configure命令时可能会提示缺少 gcc等依赖程序,所以需要使用 yum 等方式先安装依赖程序即可
2.并不是所有的源码包安装一定是执行"./configure"、“make”、“make install” 这三个命令,只有极少数源码包安装命令可能有些不同,比如 mysql 版本 5.5 以后的源码包安装时,使用 “cmake” 命令替代了 “./configure”。一般源码包解压后都有安装的说明文档,安装之前可以先阅读以下说明文档。
3.一般去第三方官网下载源码包时,也会提供已经编译好的二进制包,这种二进制包里面包括了已经经过编译可以马上运行的程序,所以解压后直接进入 “xxx/bin/” 目录找到相关命令直接运行即可。

7.3、卸载

通过源码包安装时如果指定了安装目录,比如 “./configure --prefix=/usr/local/apache2”,卸载时只需要删除整个安装目录就可以了 “rm -rf /usr/local/apache2”,而且是100%卸载,不会像windows那样经常会残留那多注册表之类的垃圾。
如果源码包安装时没有指定安装目录,那么安装软件生成的文件会分别存储在 /usr/local/ 下的 bin、lib、etc 等目录下,删除起来就比较麻烦一点了。所以建议源码包安装一定要指定安装目录,方便卸载。

8、core文件生成

8.1、 查看是否打开了coredump

ulimit -c

可以使用下面命令修改

ulimit -c 1024
ulimit -c unlimited    //大小不受限

但是这个只是针对当前这个连接,如果想要永久修改可以修改配置文件:
vim /etc/profile,然后添加上面的命令ulimit - c unlimited.然后执行source /etc/profile或者重启使刚刚的配置可以生效。

8.2、 设置core文件存储路径

打开文件 /etc/sysctl.conf ,添加以下内容:

kernel.core_pattern = /var/core/core_%e_%p   
kernel.core_uses_pid = 0   //是否加上pid
cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c %d %P %E

ubuntu的服务apport.service。自动生成崩溃报告,官方为了自动收集错误的。这个玩意会导致core_pattern的设置不能一直有效,只要这个服务存在,系统重新启动后就会把core_pattern改为一个特定的值,直接导致coredump无法生成。

8.3、 修改/etc/default/apport

修改/etc/default/apport文件,enabled 设置为0。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值