首先,mysql在arch上被MariaDB取代,这一点官方有说明:Archlinux 选择的 MySQL 实现被称为 MariaDB。 安装位于官方软件源的mariadb、libmariadbclient 和 mariadb-clients 软件包。 其它实现有 percona-server 和 Oracle mysqlAUR。
MariaDB
直接去APP里搜索,或者
sudo yaourt -S mariadb
安装完成后,执行下面一条语句
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
启动 mysqld 守护进程,运行安装脚本,然后重新启动守护进程:
sudo systemctl start mysqld sudo mysql_secure_installation #请按提示确实是y还是n sudo systemctl restart mysqld
Tip: 如果数据目录使用的不是 /var/lib/mysql,需要 编辑 mysqld.service 文件并将目录设置到 ExecStart 行.
MySQL 默认禁用客户端自动补全功能。要在整个系统中启用它,编辑 /etc/mysql/my.cnf,将 no-auto-rehash 替换为 auto-rehash。下次客户端启动时就会启用自动补全。
为数据库使用 UTF-8 编码
在 /etc/mysql/my.cnf 的 mysqld 下, 添加:
<pre “=””>[mysqld] init_connect = ‘SET collation_connection = utf8_general_ci,NAMES utf8’ collation_server = utf8_general_ci character_set_client = utf8 character_set_server = utf8
设置开机自启动
systemctl enable mariadb.service
为了简化管理过程,可用的管理前端有 dbeaver, mysql-workbench, Adminer 或 phpMyAdmin. mysql-workbench 和 MariaDB 并不完全兼容,但是可以执行基本任务。
我选择的是dbeaver,直接去官网下载,打开新建连接即可,图标创建和修改可以参考以前Ubuntu教程
MyEclipse(普通用户安装)
推荐直接用最新的myeclipse 2017 ci4,否则会出现很多问题,设置打不开,无法切换主题,GTK3不支持,内置浏览器无法打开,myeclipse去官网下载,破解补丁去csdn下载
Tomcat(用普通用户安装的MyEclipse启动的Tomcat不能是1024以内端口)
这个不要最新,也不要太久,现在我用的是8.5.9,有一个问题折腾了我很久,那就是以前我tomcat设置的80端口,但是现在端口未被占用,却一直提示被占用
使用命令查看
sudo netstat -nlt|grep 80
或者
sudo lsof -i:80
依旧没有发现80占用,经谷歌查阅发现:
Unix系统一直以来1024内的端口只对系统开发,就是说你得用root用户去执行,
以前我的Ubuntu正好就是用root用户安装的,所以可以正常使用80端口
经过查阅,只能使用iptables的规则转发实现80端口,网上有很多资料,可以自行查阅
Android Studio的那些坑
Android studio好装,你可以考虑用命令行,也可以考虑自己下载了放在某个地方运行
sudo yaourt -S android-studio
唯一的不同是,自己装的得自己创建图标或者链接到bin,稍微麻烦一点点
值得一提的是AVD,这个困扰了我几天的无法启动的问题,之前看不到日志,一直不知道从哪里下手,
后来看到一些文章后,发现可以用命令的方式去终端启动avd,然后发现了bug所在
/run/media/lckiss/Facility/AS/Sdk/emulator/emulator -netdelay none -netspeed full -avd Nexus_5X_API_25
前面的路径,是你的sdk目录下的emulator文件夹,后面的路径是你的avd路径,因为avd路径是隐藏的,在终端执行的时候,有可能找不到问题,所以先在avd的路径下打开终端,比如你的位置是**/avd/Nexus_5X_API_25.avd,那么你只需要在avd里打开终端,不要去Nexus_5X_API_25.avd里,而且,后面不要带上.avd
然后就可以启动了,失败后,会显示日志
这样,就可以下手了,很明显的,上面写了,什么丢失,什么问题,谷歌一番后,得知是sdk的库文件与系统的不符合
第一种方法
手动用以下命令解决
/run/media/lckiss/Facility/AS/Sdk/emulator/emulator -netdelay none -netspeed full -avd Nexus_5X_API_25 -use-system-libs
在后面加上,-use-system-libs,意思是用系统库文件,然后,可以启动了,
或者:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 /run/media/lckiss/Facility/AS/Sdk/emulator/emulator -netdelay none -netspeed full -avd Nexus_5X_API_25
指定库文件也可以
第二种解决办法
去avd manager->setting里的graphics由auto或者hardware改成software,即可,但是用软件驱动,会很卡.(不推荐)
第三种办法,替换库
网上一般都是说libstdc++.so.6这个库文件不兼容,但是我的并没有这个文件,所以不通用,但是从第一种方法看来,确实是那个文件出了问题,这一点问题没有
于是经过折腾,找到了,目录在sdk/emulator/lib64/libstdc++和lib/libstdc++而不是sdk/tools/lib64
去usr/lib64/和/lib分别找到libstdc++.so.6和libstdc++.so.6.**,然后复制到sdk对应的文件夹里,lib64对lib64,lib对lib,不出意外,你会发现你复制的要比自带的版本号高,我想这就是原因了
然后去avd manager里试吧,没毛病,搞定了.
这里几个包可以考虑安装下,mesa-libgl,mesa-demos,lib32-libgcrypt,lib32-virtualgl
另外还有一些命名问题会导致一系列错误,项目文件路径中不要有中文,_下划线,sdk目录路径不能有空格,等,最好全英文,然后会少很多问题,比如instance run
即便就是这么些小问题,依旧折腾了我一个下午.所以记录下来.
本站由以下主机服务商提供服务支持:
0条评论