ArchLinux和ArchLinuxARM在国内的镜像服务器
ArchLinux在国内有不少的镜像服务器,163和sohu都有,还有好多官方收录的镜像服务器。ArchLinuxARM在国内的镜像服务器不多,而且境外的镜像服务器也不稳定,有的时候会给你个速度还说的过去的服务器,有的时候那速度就是惨不忍睹。最近发现清华的这个镜像服务器不错,既有ArchLinux的,也有ArchLinuxARM的,地址如下:http://mirror.tuna.tsinghua.edu.cn/。
测试了一下,下载个百兆的更新,分分钟的事情。mirrorslist文件在/etc/pacman.d下面。
ArchLinux上开启SSH的Tunnel
最近单位的网络的飞鱼星打开了,很多网站上不去,于是想在家里的树莓派2上把SSH的Tunnel打开。
修改起来是很简单,用vi /etc/ssh/sshd_config编辑sshd的配置文件,找到AllowTcpForwarding yes这一行,然后去掉注释,然后保存。
这时候重启就树莓派就好了。
树莓派1和树莓派2的性能对比(6):Server Benchmark
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark
树莓派1和树莓派2的性能对比(5):Real World PHP & MySQL BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(7) – Server Benchmark
Pi | Pi2 | |
PHP version | 5.6.6 | |
MySQL version | 5.5.5-10.0.17-MariaDB-log | |
Server Software | Apache/2.4.12 (Unix) PHP/5.6.6 | |
Server Benchmark | ||
test_1_create_dir | 0.0017 seconds | 0.0009 seconds |
test_1_small_page | 0.4914 seconds | 0.1713 seconds |
test_1b_small_page | 0.4885 seconds | 0.1394 seconds |
test_1c_small_page | 0.4882 seconds | 0.1392 seconds |
test_1d_small_page | 0.4898 seconds | 0.1392 seconds |
test_1e_small_page | 0.4889 seconds | 0.1397 seconds |
test_2_create_tempfile | 0.0016 seconds | 0.0008 seconds |
test_2_medium_page | 1.3283 seconds | 0.4323 seconds |
test_2b_medium_page | 1.3281 seconds | 0.4348 seconds |
test_2c_medium_page | 1.3297 seconds | 0.4374 seconds |
test_2d_medium_page | 1.3283 seconds | 0.4361 seconds |
test_2e_medium_page | 1.3318 seconds | 0.4373 seconds |
test_3_large_page | 3.9221 seconds | 1.3041 seconds |
test_3_write | 0.1565 seconds | 0.0558 seconds |
test_3b_large_page | 3.9231 seconds | 1.3027 seconds |
test_3c_large_page | 3.9270 seconds | 1.3016 seconds |
test_3d_large_page | 3.9473 seconds | 1.3015 seconds |
test_3e_large_page | 3.9296 seconds | 1.3024 seconds |
test_4_append | 0.1028 seconds | 0.0383 seconds |
test_4_huge_page | 6.2111 seconds | 2.0126 seconds |
test_4b_append | 0.0999 seconds | 0.0376 seconds |
test_4b_huge_page | 6.1738 seconds | 2.0134 seconds |
test_4c_huge_page | 6.2370 seconds | 2.0141 seconds |
test_4d_huge_page | 6.2073 seconds | 2.0137 seconds |
test_4e_huge_page | 6.2364 seconds | 2.0114 seconds |
test_5_fileinfo | 0.3223 seconds | 0.1466 seconds |
test_6_read_1024 | 1.9919 seconds | 0.5921 seconds |
test_6b_read_512 | 1.9095 seconds | 0.5338 seconds |
test_6c_read_256 | 2.5433 seconds | 0.7696 seconds |
test_6d_read_128 | 4.1118 seconds | 1.1324 seconds |
test_6e_read_64 | 7.1683 seconds | 2.0073 seconds |
test_6f_read_32 | 12.9881 seconds | 3.5275 seconds |
test_6g_read_16 | 28.5116 seconds | 7.2687 seconds |
test_7_read_8 | 33.9870 seconds | 9.7546 seconds |
test_9_readdir | 1.6711 seconds | 0.6747 seconds |
test_arithmetic | 0.0060 seconds | 0.0015 seconds |
test_array_operators | 0.0101 seconds | 0.0028 seconds |
test_bitwise | 0.0013 seconds | 0.0005 seconds |
test_casting | 0.0283 seconds | 0.0066 seconds |
test_chr_fixed | 0.0482 seconds | 0.0116 seconds |
test_chr_hardcoded | 0.0093 seconds | 0.0032 seconds |
test_chr_var | 0.0407 seconds | 0.0107 seconds |
test_comment_loop | 0.0022 seconds | 0.0014 seconds |
test_compare | 0.0020 seconds | 0.0009 seconds |
test_compare_false | 0.0002 seconds | 0.0001 seconds |
test_compare_invert | 0.0003 seconds | 0.0001 seconds |
test_compare_strict | 0.0004 seconds | 0.0001 seconds |
test_compare_unstrict | 0.0008 seconds | 0.0003 seconds |
test_connect_db | 0.0587 seconds | 0.0172 seconds |
test_constants | 0.0039 seconds | 0.0011 seconds |
test_crc32 | 0.0027 seconds | 0.0007 seconds |
test_db_setup | 0.6793 seconds | 0.1770 seconds |
test_del_file | 0.0014 seconds | 0.0008 seconds |
test_del_tempdir | 0.0010 seconds | 0.0004 seconds |
test_distinctcolumn | 1.8773 seconds | 0.6269 seconds |
test_do_while | 0.0097 seconds | 0.0051 seconds |
test_do_while_break | 0.0021 seconds | 0.0011 seconds |
test_empty | 0.0003 seconds | 0.0001 seconds |
test_empty_loop | 0.0024 seconds | 0.0014 seconds |
test_fetcharray | 1.3069 seconds | 0.4140 seconds |
test_fetchassoc | 1.1749 seconds | 0.3709 seconds |
test_fetchlength | 1.1717 seconds | 0.3643 seconds |
test_fetchrow | 1.1665 seconds | 0.3681 seconds |
test_fieldflags | 3.4805 seconds | 1.0895 seconds |
test_foreach | 0.0433 seconds | 0.0153 seconds |
test_get_class | 0.0030 seconds | 0.0008 seconds |
test_global_scalar_assign | 0.0014 seconds | 0.0006 seconds |
test_global_string_assign | 0.0077 seconds | 0.0029 seconds |
test_if_constant | 0.0004 seconds | 0.0002 seconds |
test_increment | 0.0029 seconds | 0.0010 seconds |
test_is_array | 0.0010 seconds | 0.0003 seconds |
test_is_object | 0.0010 seconds | 0.0003 seconds |
test_is_type | 0.0032 seconds | 0.0009 seconds |
test_isset | 0.0003 seconds | 0.0001 seconds |
test_line | 0.0004 seconds | 0.0002 seconds |
test_local_array_assign | 0.0342 seconds | 0.0096 seconds |
test_local_boolean_assign | 0.0021 seconds | 0.0007 seconds |
test_local_float_assign | 0.0021 seconds | 0.0007 seconds |
test_local_hash_assign | 0.0019 seconds | 0.0007 seconds |
test_local_integer_assign | 0.0020 seconds | 0.0007 seconds |
test_local_object_assign | 0.0020 seconds | 0.0006 seconds |
test_local_scalar_assign | 0.0031 seconds | 0.0010 seconds |
test_local_string_assign | 0.0078 seconds | 0.0025 seconds |
test_maxget | 0.9734 seconds | 0.3113 seconds |
test_md5 | 0.0040 seconds | 0.0014 seconds |
test_microtime | 0.0163 seconds | 0.0043 seconds |
test_mt_rand | 0.0016 seconds | 0.0005 seconds |
test_numfields | 2.5441 seconds | 0.7369 seconds |
test_numrows | 2.5617 seconds | 0.7237 seconds |
test_ord | 0.1501 seconds | 0.0443 seconds |
test_ordered_functions | 0.0234 seconds | 0.0101 seconds |
test_ordered_functions_references | 0.0228 seconds | 0.0098 seconds |
test_page1a | 0.2641 seconds | 0.0792 seconds |
test_page1b | 0.2585 seconds | 0.0781 seconds |
test_page1c | 0.2621 seconds | 0.0779 seconds |
test_page1d | 0.2613 seconds | 0.0781 seconds |
test_page1e | 0.2598 seconds | 0.0781 seconds |
test_page2a | 0.7814 seconds | 0.2352 seconds |
test_page2b | 0.7866 seconds | 0.2332 seconds |
test_page2c | 0.8034 seconds | 0.2333 seconds |
test_page2d | 0.7826 seconds | 0.2341 seconds |
test_page2e | 0.7810 seconds | 0.2342 seconds |
test_page3a | 1.1535 seconds | 0.3559 seconds |
test_page3b | 1.1828 seconds | 0.3559 seconds |
test_page3c | 1.1847 seconds | 0.3560 seconds |
test_page3d | 1.1614 seconds | 0.3560 seconds |
test_page3e | 1.1867 seconds | 0.3562 seconds |
test_page4a | 1.5888 seconds | 0.4892 seconds |
test_page4b | 1.5672 seconds | 0.4886 seconds |
test_page4c | 1.5672 seconds | 0.4895 seconds |
test_page4d | 1.5980 seconds | 0.4899 seconds |
test_page4e | 1.5838 seconds | 0.4891 seconds |
test_preg_match | 0.0111 seconds | 0.0028 seconds |
test_rand | 0.0015 seconds | 0.0005 seconds |
test_references | 0.0004 seconds | 0.0002 seconds |
test_rowcount | 0.5033 seconds | 0.1234 seconds |
test_sha1 | 0.0073 seconds | 0.0016 seconds |
test_sort | 4.1689 seconds | 1.2160 seconds |
test_sort2 | 4.1101 seconds | 1.3251 seconds |
test_sort3 | 4.2083 seconds | 1.2172 seconds |
test_string_append | 0.0058 seconds | 0.0021 seconds |
test_strlen | 0.0010 seconds | 0.0003 seconds |
test_sumcolumn | 1.0162 seconds | 0.3223 seconds |
test_switch | 0.0070 seconds | 0.0034 seconds |
test_time | 0.0016 seconds | 0.0005 seconds |
test_unordered_functions | 0.0266 seconds | 0.0112 seconds |
test_variable_variables | 0.0032 seconds | 0.0009 seconds |
test_while | 0.0091 seconds | 0.0056 seconds |
test_write | 0.6625 seconds | 0.1705 seconds |
test_write2 | 0.7029 seconds | 0.1888 seconds |
test_write3 | 0.7162 seconds | 0.1961 seconds |
test_write_cleanup | 0.0103 seconds | 0.0040 seconds |
Score(higher is better) | 144 | 484 |
树莓派1和树莓派2的性能对比(5):Real World PHP & MySQL BenchMark
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(6) – Real World PHP & MySQL BenchMark
Pi | Pi2 | |
PHP version | 5.6.6 | |
MySQL version | 5.5.5-10.0.17-MariaDB-log | |
Server Software | Apache/2.4.12 (Unix) PHP/5.6.6 | |
Real World PHP & MySQL BenchMark | ||
test_page1a | 2.3365 seconds | 0.7525 seconds |
test_page1b | 2.3499 seconds | 0.7534 seconds |
test_page1c | 2.3339 seconds | 0.7531 seconds |
test_page1d | 2.3447 seconds | 0.7529 seconds |
test_page1e | 2.3353 seconds | 0.7529 seconds |
test_page2a | 6.4310 seconds | 1.8929 seconds |
test_page2b | 6.3900 seconds | 1.8923 seconds |
test_page2c | 6.4243 seconds | 1.8913 seconds |
test_page2d | 6.4153 seconds | 1.8927 seconds |
test_page2e | 6.4204 seconds | 1.8924 seconds |
test_page3a | 9.0395 seconds | 2.6444 seconds |
test_page3b | 9.3039 seconds | 2.6462 seconds |
test_page3c | 8.9621 seconds | 2.6440 seconds |
test_page3d | 8.9731 seconds | 2.6467 seconds |
test_page3e | 8.9627 seconds | 2.6429 seconds |
test_page4a | 12.5272 seconds | 3.7309 seconds |
test_page4b | 12.3040 seconds | 3.7344 seconds |
test_page4c | 12.7825 seconds | 3.7329 seconds |
test_page4d | 12.3229 seconds | 3.7370 seconds |
test_page4e | 12.4328 seconds | 3.7291 seconds |
Score(higher is better) | 198 | 665 |
树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(5) – Real World PHP BenchMark
Pi | Pi2 | |
PHP version | 5.6.6 | |
MySQL version | 5.5.5-10.0.17-MariaDB-log | |
Server Software | Apache/2.4.12 (Unix) PHP/5.6.6 | |
Real World PHP BenchMark | ||
test_1_small_page | 1.1907 seconds | 0.5099 seconds |
test_1b_small_page | 1.1620 seconds | 0.3424 seconds |
test_1c_small_page | 1.1608 seconds | 0.3422 seconds |
test_1d_small_page | 1.1648 seconds | 0.3435 seconds |
test_1e_small_page | 1.1701 seconds | 0.3411 seconds |
test_2_medium_page | 3.2147 seconds | 1.0279 seconds |
test_2b_medium_page | 3.2330 seconds | 1.0329 seconds |
test_2c_medium_page | 3.3178 seconds | 1.0358 seconds |
test_2d_medium_page | 3.3654 seconds | 1.0369 seconds |
test_2e_medium_page | 3.3518 seconds | 1.0372 seconds |
test_3_large_page | 9.9856 seconds | 3.1942 seconds |
test_3b_large_page | 10.2158 seconds | 3.1947 seconds |
test_3c_large_page | 9.9806 seconds | 3.1957 seconds |
test_3d_large_page | 10.2136 seconds | 3.1958 seconds |
test_3e_large_page | 10.2217 seconds | 3.1928 seconds |
test_4_huge_page | 15.8610 seconds | 4.9444 seconds |
test_4b_huge_page | 15.5103 seconds | 4.9461 seconds |
test_4c_huge_page | 15.8390 seconds | 4.9671 seconds |
test_4d_huge_page | 15.6031 seconds | 4.9714 seconds |
test_4e_huge_page | 15.6240 seconds | 4.9754 seconds |
Score(higher is better) | 297 | 941 |
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(4) – Synthetic Read/Write BenchMark
Pi | Pi2 | |
PHP version | 5.6.6 | |
MySQL version | 5.5.5-10.0.17-MariaDB-log | |
Server Software | Apache/2.4.12 (Unix) PHP/5.6.6 | |
Synthetic Read Write BenchMark | ||
test_1_create_dir | 0.0014 seconds | 0.0010 seconds |
test_2_create_tempfile | 0.0015 seconds | 0.0009 seconds |
test_3_write | 0.2340 seconds | 0.1246 seconds |
test_4_append | 0.1555 seconds | 0.0863 seconds |
test_4b_append | 0.1521 seconds | 0.0840 seconds |
test_5_fileinfo | 0.4854 seconds | 0.2825 seconds |
test_6_read_1024 | 4.3047 seconds | 1.2699 seconds |
test_6b_read_512 | 4.4377 seconds | 1.1854 seconds |
test_6c_read_256 | 6.0634 seconds | 1.7323 seconds |
test_6d_read_128 | 9.6558 seconds | 2.6062 seconds |
test_6e_read_64 | 14.4697 seconds | 4.5069 seconds |
test_6f_read_32 | 24.8038 seconds | 7.7512 seconds |
test_6g_read_16 | 52.2430 seconds | 15.5660 seconds |
test_7_read_8 | 74.0824 seconds | 21.8323 seconds |
test_9_readdir | 2.4713 seconds | 1.0116 seconds |
test_del_file | 0.0014 seconds | 0.0008 seconds |
test_del_tempdir | 0.0010 seconds | 0.0004 seconds |
Score(higher is better) | 124 | 413 |
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(3) – Synthetic MySQL BenchMark
Pi | Pi2 | |
PHP version | 5.6.6 | |
MySQL version | 5.5.5-10.0.17-MariaDB-log | |
Server Software | Apache/2.4.12 (Unix) PHP/5.6.6 | |
Synthetic MySQL BenchMark | ||
test_db_setup | 1.3504 seconds | 0.4811 seconds |
test_distinctcolumn | 6.0972 seconds | 2.0539 seconds |
test_fetcharray | 3.4702 seconds | 1.0954 seconds |
test_fetchassoc | 3.1557 seconds | 1.0263 seconds |
test_fetchlength | 3.1741 seconds | 1.0148 seconds |
test_fetchrow | 3.1540 seconds | 1.2152 seconds |
test_fieldflags | 13.0071 seconds | 3.5117 seconds |
test_maxget | 2.8478 seconds | 0.8929 seconds |
test_numfields | 8.9720 seconds | 2.2549 seconds |
test_numrows | 10.1692 seconds | 2.2571 seconds |
test_rowcount | 1.0088 seconds | 0.2399 seconds |
test_sort | 15.3296 seconds | 4.1467 seconds |
test_sort2 | 16.1388 seconds | 4.1016 seconds |
test_sort3 | 15.2947 seconds | 4.1456 seconds |
test_sumcolumn | 2.8440 seconds | 0.9381 seconds |
test_write | 1.3475 seconds | 0.3367 seconds |
test_write2 | 1.3922 seconds | 0.3848 seconds |
test_write3 | 1.4473 seconds | 0.3876 seconds |
test_write_cleanup | 0.0107 seconds | 0.0044 seconds |
Score(higher is better) | 145 | 524 |
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
两代树莓派硬件的主要区别是,主频高了一些,cpu变成了4核,ram变成了1GB。
上次树莓派1和Cubieboard对比的地址为:树莓派和Cubieboard对比测试(2) – Synthetic PHP BenchMark
Pi | Pi2 | |
PHP version | 5.6.6 | |
MySQL version | 5.5.5-10.0.17-MariaDB-log | |
Server Software | Apache/2.4.12 (Unix) PHP/5.6.6 | |
Synthetic PHP BenchMark | ||
test_arithmetic | 0.2261 seconds | 0.1105 seconds |
test_array_operators | 0.2856 seconds | 0.1700 seconds |
test_bitwise | 0.0383 seconds | 0.0216 seconds |
test_casting | 1.3268 seconds | 0.3272 seconds |
test_chr_fixed | 1.8898 seconds | 0.5745 seconds |
test_chr_hardcoded | 0.4025 seconds | 0.1578 seconds |
test_chr_var | 1.8833 seconds | 0.5317 seconds |
test_comment_loop | 0.1064 seconds | 0.0676 seconds |
test_compare | 0.1038 seconds | 0.0417 seconds |
test_compare_false | 0.0056 seconds | 0.0033 seconds |
test_compare_invert | 0.0084 seconds | 0.0041 seconds |
test_compare_strict | 0.0084 seconds | 0.0052 seconds |
test_compare_unstrict | 0.0307 seconds | 0.0145 seconds |
test_constants | 0.1514 seconds | 0.0500 seconds |
test_crc32 | 0.1210 seconds | 0.0352 seconds |
test_do_while | 0.4012 seconds | 0.2534 seconds |
test_do_while_break | 0.0931 seconds | 0.0541 seconds |
test_empty | 0.0057 seconds | 0.0038 seconds |
test_empty_loop | 0.1062 seconds | 0.0676 seconds |
test_foreach | 1.9737 seconds | 0.8063 seconds |
test_get_class | 0.1385 seconds | 0.0381 seconds |
test_global_scalar_assign | 0.0477 seconds | 0.0266 seconds |
test_global_string_assign | 0.3587 seconds | 0.1446 seconds |
test_if_constant | 0.0131 seconds | 0.0090 seconds |
test_increment | 0.1622 seconds | 0.0494 seconds |
test_is_array | 0.0365 seconds | 0.0123 seconds |
test_is_object | 0.0396 seconds | 0.0124 seconds |
test_is_type | 0.1358 seconds | 0.0442 seconds |
test_isset | 0.0076 seconds | 0.0045 seconds |
test_line | 0.0099 seconds | 0.0065 seconds |
test_local_array_assign | 0.8565 seconds | 0.3604 seconds |
test_local_boolean_assign | 0.0727 seconds | 0.0316 seconds |
test_local_float_assign | 0.0731 seconds | 0.0319 seconds |
test_local_hash_assign | 0.0685 seconds | 0.0314 seconds |
test_local_integer_assign | 0.1053 seconds | 0.0319 seconds |
test_local_object_assign | 0.0809 seconds | 0.0280 seconds |
test_local_scalar_assign | 0.1006 seconds | 0.0448 seconds |
test_local_string_assign | 0.2859 seconds | 0.1169 seconds |
test_md5 | 0.1953 seconds | 0.0662 seconds |
test_microtime | 0.6788 seconds | 0.2107 seconds |
test_mt_rand | 0.0649 seconds | 0.0216 seconds |
test_ord | 6.4353 seconds | 2.2288 seconds |
test_ordered_functions | 1.0930 seconds | 0.4972 seconds |
test_ordered_functions_references | 0.9427 seconds | 0.4826 seconds |
test_preg_match | 0.4483 seconds | 0.1258 seconds |
test_rand | 0.0735 seconds | 0.0223 seconds |
test_references | 0.0108 seconds | 0.0072 seconds |
test_sha1 | 0.2715 seconds | 0.0810 seconds |
test_string_append | 0.2736 seconds | 0.0996 seconds |
test_strlen | 0.0459 seconds | 0.0127 seconds |
test_switch | 0.3535 seconds | 0.1650 seconds |
test_time | 0.0618 seconds | 0.0256 seconds |
test_unordered_functions | 1.1314 seconds | 0.5539 seconds |
test_variable_variables | 0.1076 seconds | 0.0407 seconds |
test_while | 0.4435 seconds | 0.2794 seconds |
Score(higher is better) | 410 | 1082 |
树莓派2上玩ArchLinux+LAMP(3):安装MariaDB、Apache和PHP
系列文章:
(1)TF卡制作环境:http://just4fun.cn/?p=725
(2)TF卡制作:http://just4fun.cn/?p=727
MariaDB是在Oracle收购MySQL以后,社区做的开源分支。目前ArchLinux已经把MariaDB作为了MySQL的默认替代,我们这里也以MariaDB作为替代。MariaDB和MySQL协议兼容,内部应用也保持原样,所以除了在安装的时候不一样以外,后面的步骤的都类似。Apache和PHP就不说了,大家都懂的。
1.安装和配置MariaDB
(1)首先使用pacman –Syu升级系统上的现有的组件。
(2)接着执行pacman –S mariadb。这个命令会安装MariaDB服务器端、客户端命令行工具和客户端库。
(3)使用systemctl enable mysqld.service命令启用MariaDB服务。使用systemctl start mysqld.service立即启动MariaDB。
(4)启动以后,使用mysql_secure_intallation命令启用安全配置向导。按照向导回答问题就好。具体问题代表什么请自己查询MariaDB或者MySQL的资料。
(5)如果你不需要开启root的远程访问,这个时候你的MariaDB就已经安装好了。如果你需要开启root的远程访问,那请往下继续。
(6)执行mysql –u root –p,之后会提示你输入密码。密码是刚才安全向导中设置过的。除非你没设置。
(7)先执行use mysql;然后执行grant all privileges on *.* to ‘root’@’%’ with grant option;
(8)再执行grant all privileges on *.* to ‘root’@’%’ identified by ‘mypass’ with grant option;需要注意的是不要缺少最后面的分号。上面mypass是针对远程时候root的密码,可以改成自己的。可以单独设立。执行两边是因为第一遍生成了一个没有密码的账号,第二个开启密码。
(9)之后exit退出,就全部OK了。
2.安装配置Apache和PHP
把Apache和PHP一起写是因为可以利用pacman提供依赖管理,在安装PHP的时候,自动安装好Apache。
(1)执行pacman –S php-apache安装apache和php的所有组件。
(2)执行vi /etc/httpd/conf/httpd.conf配置apache
用
LoadModule mpm_prefork_module modules/mod_mpm_perforl.so
替换
LoadModule mpm_event_module modules/mod_mpm_event.so
这是archlinux的wiki中要求的,原因我没去研究。
再在最后部分添加
LoadModule php5_module modules/libphp5.so
Include conf/extra/php5_module.conf
这会将php5的相关配置包含到httpd.conf中。
(3)执行vi /etc/php/php.ini配置php
我这里保持默认就可以了
3.测试
测试其实非常简单,写一个phpinfo页面就好了。
树莓派2上玩ArchLinux+LAMP(2):TF卡制作
系列文章:
(1)TF卡制作环境:http://just4fun.cn/?p=725
前一篇写了怎么搞环境,这一节就开始做卡。这一节介绍的内容,对于制作树莓派1和树莓派2的ArchLinuxARM的Root FS,都是一样的。
在准备开始前需要准备好一个好用的读卡器。我之前就被一个不好用的读卡器折腾了一晚上才做好一个卡,不然算上下载的话,10分钟也足够了。
下面开始制作过程:
(1)启动之前我们做好的虚机,确保网络是通的。
(2)使用wget http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/rpi/ArchLinuxARM-2015.02-rpi-2-rootfs.tar.gz 下载当前最新版的rootfs,树莓派1可以使用ArchLinuxARM-2015.02-rpi-rootfs.tar.gz 。这两个不能混用,因为树莓派1的ARM处理器是arm5指令集,树莓派2是arm7指令集。也就是说二进制代码不一样。
(3)在电脑上插好带有TF卡的读卡器,然后在vbox虚机的窗口的菜单:设备->分配USB设备菜单里,选择读卡器设备。这时电脑会安装一个vbox的usb设备,资源管理器里面磁盘也会消失,虚机里面会有新设备提示。
(4)确保用ls –l /dev/sd* 能看到新的sdb,在进行下一步。
(5)使用fdisk /dev/sdb进行分区。o命令先清除掉原有分区记录,n命令在创建第一个分区,id默认1,起始扇区默认使用2048,结束扇区使用+100M。在用t命令,将这个分区类型修改为c。再用n命令创建第二个分区,id默认2,起始扇区和结束扇区默认。之后用w命令写入分区信息。
(6)这时在用ls –l /dev/sdb*,应该可以看到sdb1和sdb2。
(7)使用mkfs.vfat /dev/sdb1格式化第一个分区,然后mkdir boot创建这个分区的挂载目录,用mount /dev/sdb1 boot挂载第一个分区。
(8)使用mkfs.ext4 /dev/sdb2格式化第二个分区,然后mkdir root创建这个分区的挂载目录,使用mount /dev/sdb2 root挂载第二个分区。
(9)使用bsdtar –xpf ArchLinuxARM-2015.02-rpi-2-rootfs.tar.gz –C root 命令将rootfs解压缩到root目录。为确保缓存内的数据被写入,可以再执行一个sync命令。
(10)再执行mv root/boot/* boot,把rootfs里面boot内的文件全部剪贴到boot分区的目录。
(11)这时就可以执行umount boot root了。执行完毕拔读卡器就好。
这时你就可以把TF卡查到树莓派2上面开始测试了。插上电源,连好网线,可以直接ping一下alarmpi这个主机名。如果Ping不到的话,可以到家中路由器的dhcp管理里面看看名为alarmpi的名字对应的ip是什么。
树莓派2上玩ArchLinux+LAMP(1):TF卡制作环境
之前写过树莓派官网不再提供ArchLinuxARM的img下载,我们可以直接从ArchLinuxARM网站下载树莓派或者树莓派2的Root FS,相应的也就不想再需要在把img刷到TF卡以后在调整分区大小。那么我就来总结一下制作TF卡的过程。第一步需要先准备制卡环境。
img文件有其方便的一面,比如img文件有win32的制作程序,我们在现有的windows环境制作就好了。但是改为Root FS之后,就需要准备一个Linux环境来制作TF卡。
由于大多数人不一定有现成Linux环境,或者不想装双系统,或者现有Linux环境使用麻烦,所以我们这里介绍一个使用VirtualBox(下面一律简称为vbox)安装ArchLinux环境来制作。我之前就是有一个Ubuntu的vbox虚机,但是制作的时候不管是不是使用sudo,都会提示我权限不足,索性Ubuntu虚机删掉,安装一个全新的ArchLinux虚机。
我之前写过在D630上安装ArchLinux,其实做vbox的虚机,与之过程类似,但是由于制作TF卡的要求比较低,我们可以简化这个过程,然后加上必要工具安装的过程。下面就是安装过程:
(1)先下载Virtual Box的最新版本。地址:https://www.virtualbox.org/wiki/Downloads。只要不是太旧的版本就好,因为太旧的版本不支持挂载USB设备。当前版本是4.3.22。
(2)下载最新的ArchLinux的iso文件。当前版本是2015.2。这里推荐从http://mirrors.tuna.tsinghua.edu.cn/下载。这里是清华学生网管协会的镜像网站,不管是ArchLinux还是ArchLinuxARM都有镜像,速度还不错。
(3)在安装好Virtual Box以后,在里面创建一个ArchLinux虚机,32位的就好,内存建议1G以上,不过估计512MB就足够了。
(4)为虚机挂载之前下载的ArchLinux的iso之后启动,会进入到ArchLinux的LiveCD环境,先ping一下外网,看是不是网络已经通了。我们的这个环境创建,会直接从网络来完成安装。一般只要不是vbox虚机的网络配置有问题,应该是直接可以ping通的,ArchLinux已经默认支持虚机里面的虚拟网卡了。
(5)我们使用ls –l /dev/sd*命令,应该可以看到sda和sdb。sda是LiveCD的根系统,已经分区。sdb是虚机的硬盘,还没有分区。
(6)我们直接使用fdisk /dev/sdb格式化虚机的硬盘。先用n命令创建一个分区,默认使用分区id为1,使用默认起始扇区2048,结束位置使用+4G,在用t命令将这个分区类型改为83。这个分区是作为swap分区。
(7)接着我们在用n命令创建第二个分区,id默认为2,起始扇区和结束扇区都是默认,类型也不需要改变。这个分区是用作根存储。然后使用w命令保存分区信息。
(8)使用mkswap /dev/sdb1命令来格式化这个交换分区,然后使用swapon /dev/sdb1起用这个交换分区。
(9)使用mkfs.ext4 /dev/sdb2命令来格式化这个分区。然后用mount /dev/sdb2 /mnt将挂载到文件系统上。
(10)编辑LiveCD上的/etc/pacman.d/mirrorlist文件。这里面是pacman的镜像列表,我们只留下清华这个系统,或者163的镜像。vi编辑器怎么使用这里就不介绍了。
(11)在编辑完以后,使用pacstrap –i /mnt base来向刚才创建的分区灌入Root FS,按照屏幕提示操作就好。整个过程我这里大约花了不到10分钟,这个时间会根据带宽和选择的镜像不同,时间长短也不同。
(12)在上一步结束之后,使用genfstab –U –p /mnt >> /mnt/etc/fstab命令,来生成新系统上的fstab文件,这里面会包括之前我们创建的交换分区。
(13)接下来执行arch-chroot /mnt /bin/bash来启用新的shell环境,这个时候已经切换到我们之前做好Root FS的sdb2来作为我们的文件系统根。显示新的提示符之后,标示执行成功。
(14)之后编辑/etc/locale.gen文件,只留下en_US.UTF-8即可,然后执行locale-gen命令。
(15)执行echo LANG=en_US.UTF-8 > /etc/locale.conf来生成locale.conf。这一步和上一步,都是来生成系统使用的语言和编码。如果之后这个系统会被用来跑桌面系统,同时还使用中文环境,可以把zh_CN.UTF-8加上。
(16)执行 ln –s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime。这会为时区设置创建一个软连接到北京时间。
(17)执行hwclock –systohc -utc来将vbox虚机的bios时间改为格林威治时间。这个是ArchLinux建议的设置。由于我们已经设置了时区信息,所以系统显示时间还是会使用北京时区来显示的。
(18)执行echo myhostname >/ect/hostname来设置当前虚机的机器名。
(19)执行mkinitcpio –p linux来创建ramdisk环境。
(20)使用passwd来修改新系统的密码。
(21)使用pacman –S syslinux命令,安装syslinux。syslinux是新系统的bootloader。安装成功以后执行syslinux-install_update –i –a -m这会更新新系统硬盘分区启动扇区信息。
(22)修改/boot/syslinux/syslinux.cfg文件,这里面是syslinux加载内核文件的配置信息。我们的新系统,在自己启动以后,根文件系统的分区名字会变成sda2,所以把里面加载内核文件的路径位置的分区改为sda2。
(23)这个时候执行exit命令,回到之前的shell环境。执行成功后,提示符会变成原来的样子。
(24)执行umount –R /mnt,然后执行reboot。
(25)看到系统关闭的时候,在vbox的虚机菜单中,将之前挂载的iso去掉,使之从虚机自己的虚拟硬盘启动。
(26)重启后,使用root账号用之前修改的密码登录。
(27)可以ping一下外网看看网络是不是通的,如果没有通,执行ip link看看提示信息。如一般情况会有两个网卡,一个是lo,这个是换回软网卡,一个是enp0s3。或者是和enp0s3类似的名字。这个就是我们网卡的设备名字,使用dhcpcd enp0s3来启动这个网卡上面的dhcp client。如果想每次自动启用dhcpcd或者使用静态域名,请查询ArchLinux的Wiki。在提示信息过后,回到提示符以后,可以再试试ping一下。
(28)网络连通以后,使用pacman –S dosfstools命令,安装格式化dos分区的命令集。这是因为我们的树莓派和树莓派2的TF卡会有一个100M的fat分区。
到此,这个虚机环境已经可以为我们来制作树莓派和树莓派2上面的TF卡了。当然如果你要是玩其他跑ArchLinuxARM的板子的话,例如:Cubieboard1/2/3,也可以使用这个环境来制作TF卡。
树莓派和树莓派2的ArchLinuxARM的影像文件
之前我发货一篇《修改树莓派ArchLinux分区的大小》,现在这篇文章过时了。
原因是树莓派网站不在提供ArchLinuxARM的img文件,响应的ArchLinuxARM网站也不以img格式来发布新版本。ArchLinuxARM直接提供了RootFS包,需要找一个Linux的机器对tf卡进行分区,再将RootFS解压缩到tf卡。这样就不再需要重新调整分区大小了。
今天树莓派2已经到手,顺手下载了树莓派、树莓派2、Cubieboard、Cubieborad2的ArchLinuxARM的2015.2的包,找时间做一个纵向的大评测。今天不上照片了,照片还在手机里……
ArchLinuxARM 2015.2的Pi和Pi2的内核是3.18.2,sun4i和sun7i的内核是3.4.103。这个纵向大测试会相当的值得期待。
话说当初在用Cubieboard做评测的时候,ArchLinuxARM的内核还是3.0.58,据说是因为Allwiner不出新驱动……现在看A10芯片还是沾了A20芯片的光,才有新内核可用。树莓派不存在这个问题,内核都是最新的,话说是不是过段时间就有Kernel 4用了呢?
期待啊~~~
要不要再做一次两代树莓派之间的性能对比呢?
2015-2-2树莓派2开始发售了,ArchLinuxARM的Pi2版本也在2015-2-8发布了,PHPSpead还是原来的老样子,版本没有啥变化,还是1.0 BETA。从网站的访问分析,有不少访客都是根据搜索和固定连接过来的,不少固定连接都是链接到性能对比页。2年过去了,纠结要不要再做一个性能对比呢……
ArchLinux USB安装盘制作
前段时间收了一个集成显卡的D630,翻箱倒柜又找了2G的内存,凑足4G内存,自带的120G的7200转硬盘,正好装个Arch来玩。说实话,D630除了壳子塑料以外,集显的机器真的是码农利器,想当年用的那几台都不是自己的,用过就归还了,这次在水木的版里看到出的,600块钱就收来玩了。一个是玩Linux,一个是玩串口给台子写频,杠杠的。
手头没找到空的刻录盘,研究了一下怎么制作ArchLinux的USB安装盘。在ArchLinux的Wiki里面找了一下,找到一个USB Flash Installation Media的说明。因为这是D630是第一台专职Linux机器,所以就研究了一下这文档里面在Windows下怎么做的内容。
Windows下有三个方法,归根节点还是两个方法,一个是使用专门的启动U盘制作工具,一个是使用dd。Windows下的专门工具他推荐的是Universal USB Installer ,这个工具好处是不需要安装,也不大,带配置向导,界面也不复杂,还能自动帮你下载iso。但是我测试不好用,不知道是里面的syslinux的版本太老还是什么情况,反正是用我新下载的archlinux 2014.04.01的iso制作的U盘卡在了syslinux的步骤。
dd这个方法和linux上基本一致,那文档里分成了两个方法,一个是安装cygwin,一个是直接下载windows版的dd。我是直接下载来一个windows版的dd,马上就有专门的linux机器了,谁还玩cygwin啊,呵呵。下载地址
命令也很简单:dd if=archlinux-2014.04.01-dual.iso of=\\.\g: bs=4M
其中\\.\g:标示这是我的G盘。如果你的杀毒软件正在扫描U盘的话,那么写入U盘可能失败,没事,等会儿再试就好。写入完成以后,U盘上会有两个分区,一个64兆的fat32,还有一个是rootfs。rootfs一般不会沾满你的U盘,除非你的U盘1G大小都没有。
剩下的就没有什么了,插到D630启动就好,如果直接启动到硬盘了,那就重启修改BIOS启动顺序就好。
在ArchLinux上命令行直接设置主机名
最近想给项目做个Subversion来管理代码,于是从桌子下面翻出来Raspberry Pi来,搞了个最新的ArchLinux安装了上去。安装Subversion之前,肯定先是改主机名和IP。翻了一下相关文档,都是直接修改/etc/hostname文件内容的方式,这和ArchLinux的方向明显是不符的,于是查阅了Arch的Wiki,总结到Blog上。因为Arch的激进性,我也没办法担保文档中讲述的内容的一直有效,但愿两年内有效吧。
Arch中查看主机名的命令是hostnamectl。因为它带ctl后缀,所以它确实是当下最新的和最时髦的。不带参数,直接执行的时候如下图:
如果你想要使用这个命令来修改主机名,那么格式为 hostnamectl set-hostname yourhostname。
这个写脚本的时候,比那种改文件名的方式要美观。但是我从来不写脚本。
Cubieboard下ArchLinux的sun4i-gpio独立驱动程序包
本来是想给Arch做的,结果Arch升级到3.0.57-2之后自带了,该修Script.bin就可以了。这个留给用其他版本的朋友吧。不保证能在其他非3.0的版本的内核上使用。另外,也需要修改script.bin。
解压缩以后会有一个sun4i-gpio的目录,进去以后make clean在make modules。如果有错的话,自己修改Makefile。ko安装成功以后,会有/sys/devices/virtual/misc/sun4i-gpio存在。
在ArchLinux里面使用mjpg-streamer
首先需要摄像头能驱动起来,驱动起来的标志是存在/dev/videoX这类的设备。然后使用paman安装mjpg-streamer。安装好之后在/usr/share/mjpeg-streamer里面会有一个start.sh脚本,修改未注释的那行开头的./。如果你的摄像头是JPEG模式的话,应该就能开始工作了。如果提示格式错误,如下修改:
mjpg_streamer -o "output_http.so -w ./www" –input "input_uvc.so –device /dev/video0 –fps 5 –resolution 640×480 –yuv"
一般情况需要改一下,因为目前YUV模式输出的摄像头比较多。看到入这个图显示的时候,mjpg-streamer应该就已经跑起来了。
按照上面提示的端口访问网站,就能访问到一个网站,里面有浏览器访问的例子。如果遇到不能显示,建议换个浏览器试试。下图是我从网页里面截取的我这里的图。
在Cubieboard的ArchLinux下驱动RTL8188eu无线网卡
原来图省事买了一个水星(Mercury)MW150US网卡,因为Cubieboard和Archlinux都内置RTL8129cu的驱动,结果买回来lsusb发现不是8129cu芯片,是8188eu的芯片。如果你用lsusb看到0bda:8179,那么恭喜你你也中标了。这两个芯片管脚兼容,但是驱动不太一样。在网上找到一个大神利用杨梅派2的驱动修改树莓派下Archlinux驱动的博客(地址),我也照他的过程编译出了Cubieboard下Archlinux的驱动。
我在百度盘上共享了我修改的源码包(地址)。如果在Cubieboard的ArchLinux下,只需先“pacman –S base-devel”之后,再解压缩进入目录执行“make && make install”就自动生成并部署了8188eu.ko。之后modprobe或者修改/etc/modules-load.d都可以了。
关于《为Cubieboard的TF卡安装Archlinux》的修订
本篇对于《为Cubieboard的TF卡安装Archlinux》进行修正。
修正的内容是在将最后umount之前,多执行一步“cp /tmp/arch/boot/uImage /tmp/boot”。这一步主要是用archlinux带的内核替换sunxi_hwpack中的内核。这两个内核都可以正常使用,没有什么额外的影响,但是驱动模块无法正常使用,需要自己重新编译。
这个问题是在cubieboard上无法驱动摄像头以后,才发现的fat分区中的内核与ko版本不一致的问题。上面那一个操作可以避免不一致。
近期评论