ubuntu 离线装包

1,为何要离线装包

防止有些包官方升级之后致使的不兼容,好比php5和php7,目前已经没法apt-get install php5了,php

2,装包之前你得有安装包文件,deb或者是run

deb包在哪里?html

1,方法1,若是你有一个已经安装好了的同样的环境你能够在老系统上找mysql

sudo apt-get 的包在路径 /var/cache/apt/archives下,通常会有对应的deb包sql

2,方法2,下载(这一步一样须要一台老的差很少的系统,而且安装过你想要的包)apache

apt-cache show 包名称
#这会显示有关包的详情,其中有一行Filename,拷贝内容,前面加上“http://archive.ubuntu.com/ubuntu/” 用网络访问,而后下载
最近忽然发现有些arm机器并不能在ubuntu网站上找到合适的安装包,因此须要找到它本身适用的源才能下载所需的deb包,那么本身的源怎么找呢?
cat /etc/apt/sources.list打印出源来,而后加上某个包后面的Filename的结果,就能够下载想要的deb包了

3,方法2,安装deb包文件

sudo dpkg -i xxx.deb

要注意,安装前要确认你的deb文件是否适用于你的系统,若是是ubuntu16.04装到ubuntu18.04上,估计是不行,有些包有依赖,必须按顺序来,另外dpkg装的包不会在/var/cache/apt/archives中备份json

4,目前知道的经常使用包的安装顺序(经验所得)

废话一句,dpkg安装的包在/var/cache/apt/archives中找不到备份ubuntu

建议先装mysql再装php,由于pdo须要enabled为mysqlvim

1,php7.2(sudo dpkg -i )网络

#包名称简写
php-common... php7.2-common... php7.2-json... php7.2-opcache... php7.2-readline... php7.2-cli... libapache2... php7.2_7.2... php_1%3a7.2... php7.2-curl... php7.2-mysql... php-mysql... php-curl...

2,mysqlphp7

#包名称简写
mysql-common....
mysql-client_5.7...
mysql-client-5.7...
mysql-client-core...
mysql-server-core....
sudo apt-get install libevent-core-2.1-6(这么装是由于我没有这个deb包,不知是丢失了仍是其余缘由没有)
mysql-server_5.7...
mysql-server-5.7...

装完之后直接用sudo不要密码能够登陆,若是想要改为密码验证登陆,那须要在mysql的终端中输入以下四句:

update mysql.user set authentication_string=password('你的密码') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;

3,apache2

apache很奇怪,在线安装完之后在/var/cache/apt/archives下面有四个包,可是不必定能保存多久,我在旧的机器上没有找到apache2的包文件因此没有尝试离线安装apache2

4,遇到问题,pdo驱动不工做,

解决办法:

sudo vim /etc/php/7.2/apache2/php.ini
添加两行到最后,没有分号:
extension = pdo.so
extension = pdo_mysql.so
重启apache
sudo /etc/init.d/apache2 restart 从新运行,居然能够了

感谢原做者,注意,此方法本人不熟,仅在deb离线装包适用,目前不知道是否将来有什么隐含的坑。

相关文章
相关标签/搜索