一、前言

1.1目的

在使用Ubuntu时往往apt源会自带很多常用软件,但是大部分都是比较老的版本,本文主要是为了实现以下两个目的:

通过添加第三方的PPA源解决软件版本过低或者没有安装包的情况;

Apt使用的一些基本命令。

1.2相关文档:

PPA介绍可以参考此文章:技术|Ubuntu PPA 使用指南 https://linux.cn/article-10456-1.html

PPA的网址:https://launchpad.net/ubuntu/+ppas

二、apt命令

2.1基本用法

查询仓库汇总软件的所有版本

~# apt-cache madison nginx

![img](file:///C:\Users\hdec\AppData\Local\Temp\ksohtml33588\wps6.jpg)

~# apt-cache show nginx | grep -i version

安装指定版本:

语法: apt-get install <>=<>

~# apt-get -y install nginx=1.14-1~xenial

查询仓库中软件的所有版本及安装情况

~# apt-cache policy nginx

![img](file:///C:\Users\hdec\AppData\Local\Temp\ksohtml33588\wps7.jpg)

使用apt-get install -s模拟安装软件(不指定版本默认下载源中最新版本)

 ~# apt-get install -s apache2

2.2关于ppa的一些命令

导入ppa的源:

add-apt-repository ppa:源作者/软件名

PPA弊端

如果不将一些失效的PPA删除,就会是apt update 变慢甚至出错。所以及时删除,删除 PPA 源 命令: add-apt-repository -r ppa:user/ppa-name

更彻底的办法:

首先查询并删除不需要的key:

apt-key list #列出已保存在系统中key

![img](file:///C:\Users\hdec\AppData\Local\Temp\ksohtml33588\wps8.jpg)

apt-key del keyname #从本地trusted数据库删除key
apt-key del 1362 21EE520DDFAF0A905689B9316A7BC7917B12
apt-key update #更新本地trusted数据库,删除过期没用的key
到源的目录:cd /etc/apt/sources.list.d/,删除不需要的源地址文件
清空/var/lib/apt/lists里的文件: cd /var/lib/apt && sudo rm -rf lists && sudo mkdir lists

当然还有自己作死遇到的问题:The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY keyname

解决办法:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys keyname #删错了key重新加载回来

三、apt部署新版本的redis

3.1查看版本及软件版本

先查看apt可以下载的redis版本(如下可以下载最新的是5.5版本,已安装版本没有)

~# apt-cache policy redis-server
redis-server:
Installed: none
Candidate: 5:5.0.7-2ubuntu0.1
Version table:
*** 5:5.0.7-2ubuntu0.1 500
​ 500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe amd64 Packages
​ 500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe amd64 Packages
5:5.0.7-2 500
​ 500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 Packages

查看Ubuntu的版本

~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

3.2查找PPA源

去PPA上https://launchpad.net/ubuntu/+ppas查找可用的redis源

在搜索栏上输入redis进行查找

![img](file:///C:\Users\hdec\AppData\Local\Temp\ksohtml33588\wps9.jpg)

可以看到这个源的作者是redislabs,而且有符合focal版本的源,最新为7.0.4版本

![img](file:///C:\Users\hdec\AppData\Local\Temp\ksohtml33588\wps10.jpg)

3.3添加ppa源

有sources.list配置添加和add-apt-repositor命令添加两种方法:

方法一:sources.list配置添加

在/etc/apt/sources.list文件中添加以下配置:

deb http://ppa.launchpad.net/redislabs/redis/ubuntu trusty main
deb-src http://ppa.launchpad.net/redislabs/redis/ubuntu trusty main

​ 更新apt源

~# apt-get update

方法二:命令添加

添加add-apt-repository命令

~# apt-get install python-software-properties		#Ubuntu12.04以下
~# apt-get install software-properties-common #Ubuntu12.10版本以上

添加ppa源(会自动添加符合自己版本的源)

~# add-apt-repository ppa:redislabs/redis-server

更新apt源

~# apt-get update

再次查看可下载版本:

~# apt-cache policy redis-server
redis-server:
Installed: 6:7.0.4-1rl1~focal1
Candidate: 6:7.0.4-1rl1~focal1
Version table:
*** 6:7.0.4-1rl1~focal1 500
​ 500 https://packages.redis.io/deb focal/main amd64 Packages
​ 100 /var/lib/dpkg/status
6:7.0.4-1rl1~focal1 500
​ 500 http://ppa.launchpad.net/redislabs/redis/ubuntu focal/main amd64 Packages
6:7.0.3-1rl1~focal1 500
​ 500 https://packages.redis.io/deb focal/main amd64 Packages
6:7.0.2-1rl1~focal1 500
​ 500 https://packages.redis.io/deb focal/main amd64 Packages
......

由于缓存需要时间,过一段时间旧版本的才会被下载

~# apt-cache madison redis
redis | 6:7.0.4-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.4-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.4-1rl1~focal1 | http://ppa.launchpad.net/redislabs/redis/ubuntu focal/main amd64 Packages
redis | 6:7.0.3-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.3-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.2-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.2-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.1-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.1-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.0-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.0-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:6.2.7-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:6.2.7-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:6.2.6-3rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:6.2.6-3rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:6.2.6-2rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:6.2.6-2rl1~focal1 | https://packages.redis.io/deb focal/main all Packages

3.4安装redis

下载默认版本(默认为最新的)

~# apt-get install -y redis-server

下载指定版本

~# apt-get install -y redis-server=7.0.4-1rl1~focal1

查看下载情况

~# apt-cache policy redis
redis:
Installed: 6:7.0.4-1rl1~focal1
Candidate: 6:7.0.4-1rl1~focal1
Version table:
*** 6:7.0.4-1rl1~focal1 500
​ 500 https://packages.redis.io/deb focal/main amd64 Packages
​ 500 https://packages.redis.io/deb focal/main all Packages
​ 100 /var/lib/dpkg/statu

3.5 redis优化

编辑配置文件添加redis密码为:guest

sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /etc/redis/redis.conf
sed -i "561i maxmemory-policy allkeys-lru" /etc/redis/redis.conf
sed -i "481i requirepass guest" /etc/redis/redis.conf
cat << EOF >> /etc/redis/redis.conf
rename-command FLUSHALL ""
rename-command FLUSHDB ""
EOF

修改参数

echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
sysctl -p

启动redis并加入开机自启

~# systemctl start redis-server && ~# systemctl enable redis-server
~# systemctl status redis-server
~# ps -ef|grep redis
redis 153598 1 0 Aug31 ? 00:03:02 /usr/bin/redis-server 0.0.0.0:6379

完成

Ubuntu系统apt添加第三方PPA源的更多相关文章

  1. [Ubuntu] apt 添加第三方库

    1. 方法一:直接在 /etc/apt/sources.list 添加第三方库. $ sudo vi /etc/apt/sources.list 在其中添加: deb http://archive.s ...

  2. ubuntu - 14.04,常用PPA源(第三方提供的deb格式安装文件)!!

    说明: 1,下面所有PPA源的执行命令,均为在shell中执行的命令,需要依次执行! 2,下面所有测试方法,均为在shell中执行的命令!! PPA源: 一,Oracle JDK:Oracle公司提供 ...

  3. 为 Ubuntu/Anaconda/pip 添加国内下载源

    背景 正在看 tensorflow-lite 压缩模型的部分,结果 tutorial 一上来就要卸旧版安装 tf-nightly (新版?反正小白下就vans了) 然而好不容易才编译好源码舍不得删.又 ...

  4. Ubuntu系统下添加程序启动器

    Ubuntu系统上安装的软件,有的会自动创建快捷方式,在程序中可以搜索到,而有的安装后不会在应用程序中出现,如Eclipse.Spring Tool Suite或是绿色软件等,那么怎么手动创建快捷方式 ...

  5. Ubuntu 16.04添加阿里云源/163源

    添加国内源有个好处,比如下载软件时直接时国内的服务器,速度有保证. 以下是操作方法: 1.备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list. ...

  6. Ubuntu 16.04添加阿里云源

    转自:http://www.cnblogs.com/EasonJim/p/7119156.html 添加国内源有个好处,比如下载软件时直接时国内的服务器,速度有保证. 以下是操作方法: 1.备份 su ...

  7. 怎样在Qsys系统中添加第三方IP核

    1.新建Quartus II工程 2.新建Qsys系统 3.如果没有我们需要添加的IP,需要自己额外添加 4在我们新建的Quartus工程里面新建一个文件夹,命名为ip; 5.将我们已经下载好的IP文 ...

  8. ubuntu系统中添加DNS服务器地址后诡异消失的解决办法

    今天查看了一下自己电脑里的ubuntu14.04系统,发现无法上网,于是ping了一下百度,出现unknown host,查了一下/etc/resolv.conf中的DNS地址,却发现我之前的修改被清 ...

  9. ubuntu系统下,下载Android源码

    博主电脑的Windows的  是用的vmware装的ubuntu kylin.vmware随便找都能找到尽量安装最新版本号的,而unbuntu在官方站点下载即可了,安装vmware的时候建议关闭安全类 ...

随机推荐

  1. Kolla部署Pike版本的OpenStack-allinone云平台

    1 openstack 概述 openstack概述 : OpenStack是一个NASA美国国家航空航天局和Rackspace合作研发 的,以Apache许可证授权,并且是一个自由软件和开放源代码项 ...

  2. NC16597 [NOIP2011]聪明的质监员

    NC16597 [NOIP2011]聪明的质监员 题目 题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 \(n\) 个矿石,从 \(1\) 到 \(n\) 逐一编号,每个矿 ...

  3. 一文讲明白K8S各核心架构组件

    目录 一.写在前面 二.K8S为我们提供了怎样的能力 三.架构 3.1.MasterNode 3.2.WorkerNode 四.核心组件 4.1.ApiServer 4.1.1.概述 4.1.2.是集 ...

  4. do-while循环和三种循环的区别

    循环语句3--do...while do...while循环格式 初始化表达式① do{ 循环体③ 步进表达式④ }while(布尔表达式②); 执行流程 执行顺序:①③④>②③④>②③④ ...

  5. Java实现ATM架构设计

    云ATM架构设计 说明 https://www.processon.com/view/link/62ca68ee5653bb74ddcdd582 点击连接可查看项目流程图,帮助小伙伴们开发 启动程序( ...

  6. Hadoop集群搭建(完全分布式版本) VMWARE虚拟机

    Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...

  7. Jmeter-记一次自动化造数引发的BeanShell写入excel实例

    一.前言 最近工作和生活说忙也忙,说不忙也不忙,但就是已经感觉很长时间没有get新的技术技能了,就是一丢丢的那种也没有,哈哈哈,今天就来讲一下最近get到的小技能吧. 工作中,由于某个需求需要几百条数 ...

  8. TCP协议调试工具TcpEngine V1.3.0使用教程

    简介   这里说的TCP协议调试定义是在开发长连接TCP协议应用时,为了验证代码流程或查找bug,需要与对端交互数据过来,当需要时可以暂停发送:单条发送:跳过发送:正常发送:发送时修改数据等.   T ...

  9. 【Github开源项目体验】- ZFile 基于 Java 的在线网盘

    [Github开源项目体验]- ZFile 基于 Java 的在线网盘 在线云盘.网盘.OneDrive.云存储.私有云.对象存储.h5ai.上传.下载 date: 2022-08-02 addres ...

  10. 不安装运行时运行.NET程序

    好久没写文章了,有些同学问我公众号是不是废了?其实并没有.其实想写的东西很多很多,主要是最近公司比较忙,以及一些其他个人原因没有时间来更新文章.这几天抽空写了一点点东西,证明公众号还活着. 长久以来的 ...