1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Linux Gazette Table of Contents LG #50</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000" >
<center>
<A HREF="http://www.linuxgazette.com/">
<H1><IMG SRC="../gx/newlogo.jpg" ALT="LINUX GAZETTE" border="0"></H1></A>
<H2>February 2000, Issue 50
Published by <I>Linux Journal</I></H2>
<A HREF=../lg_frontpage.html>Front Page</A> |
<A HREF=../lg_frontpage.html>Back Issues</A> |
<A HREF=../lg_faq.html>FAQ</A> |
<A HREF=../mirrors.html>Mirrors</A> |
<A HREF=http://www.linuxgazette.com/wgindex.html>Search</A>
</center>
<!--=================================================================-->
<table>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<table>
<tr>
<td VALIGN="top"><H1><font color="#BB0000">Visit Our Sponsors:</font></H1></td></tr>
<!-- *** BEGIN sponsors *** -->
<TR><TD>
<A HREF="http://www.linuxjournal.com"><IMG ALT="Linux Journal" SRC="../gx/ljtop.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.cygnus.com"><IMG ALT="Cygnus Solutions" SRC="../gx/sponsors/cygnus.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.vmware.com"><IMG ALT="VMware" SRC="../gx/sponsors/vmware.jpg" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.infomagic.com"><IMG ALT="InfoMagic" SRC="../gx/infologo.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<!-- *** END sponsors *** -->
</table>
</td>
<!--==================================================================-->
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000" NOSAVE><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=1 HEIGHT=1 WIDTH=1%></TD>
<td VALIGN=top>
<H1><font color="#BB0000">Table of Contents:</font></H1>
<!-- *** BEGIN toc *** -->
<UL>
<LI> <a HREF="lg_mail50.html">The MailBag</A>
<UL>
<LI> <a HREF="lg_mail50.html#help">Help Wanted & Article Ideas</A>
<LI> <a HREF="lg_mail50.html#gen">General Mail</A>
</UL>
<LI> <a HREF="lg_bytes50.html">News Bytes</A>
<UL>
<LI> <a HREF="lg_bytes50.html#distro">Distro News</A>
<LI> <a HREF="lg_bytes50.html#general">News in General</A>
<LI> <a HREF="lg_bytes50.html#software">Software Announcements</A>
</UL>
<LI> <a HREF="lg_answer50.html">The Answer Guy</A> , <EM>by James T. Dennis</EM>
<LI> <a HREF="lg_tips50.html">More 2-Cent Tips</A>
<LI> <a HREF="andreiana.html">Web Applications with Database Connectivity: getting started</A> , <EM>by Marius Andreiana</EM>
<LI> <a HREF="advani.html">Interview with Mike Cowpland, Corel Corporation</A> , <EM>by Prakash Advani</EM>
<LI> <a HREF="collinge.html">HelpDex</A> , <EM>by Shane Collinge</EM>
<LI> <a HREF="ferrari.html">Creating A Linux Certification Program, Part 8</A> , <EM>by Ray Ferrari</EM>
<LI> <a HREF="guckes.html">From Pico to Nano</A> , <EM>by Sven Guckes</EM>
<LI> <a HREF="lamb.html">Linux Site O' The Month: Unix Guru Universe</A> , <EM>by Sean Lamb</EM>
<LI> <a HREF="nielsen.html">Large Objects and Perl DBI</A> , <EM>by Mark Nielsen</EM>
<LI> <a HREF="nielsen2.html">Creating Installation CDs from various Linux Distributions</A> , <EM>by Mark Nielsen and Krassimir Petrov</EM>
<LI> <a HREF="pollman.html">Sharing Your Home</A> , <EM>by JC Pollman and Bill Mote</EM>
<LI> <a HREF="rogers.html">Source file management in a complex networked environment</A> , <EM>by James M. Rogers</EM>
<LI> <a HREF="silva.html">Developing Web Applications - Part III</A> , <EM>by Anderson Silva</EM>
<LI> <a HREF="silva2.html">Artificial Intelligence and Linux (2nd Edition)</A> , <EM>by Anderson Silva</EM>
<LI> <a HREF="lg_backpage50.html">The Back Page</A>
<UL>
<LI> <a HREF="lg_backpage50.html#authors">About This Month's Authors</A>
<LI> <a HREF="lg_backpage50.html#notlinux">Not Linux</A>
</UL>
</UL>
<!-- *** END toc *** -->
<IMG ALT="Help Dex" SRC="../gx/collinge/HelpDex.gif"
WIDTH="78" HEIGHT="50" ALIGN="left">
<FONT COLOR="red" SIZE="+1"><EM>New cartoon series!</EM></FONT>
<BR CLEAR="all">
<!-- P> <FONT COLOR=red FACE=arial,helvetica>New feature!</FONT><BR>
The <A HREF=../ftpfiles.txt>current file sizes and modification
dates</A> for the FTP files is now available in a listing linked from the
Front Page. -->
</td>
</tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif"
ALT="-------------------------------------------------------------"
HSPACE=30 VSPACE=2 HEIGHT=1 WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table>
<!--=============================================================-->
<P>
<table>
<tr><td>
<A HREF="issue50.txt.gz">TWDT 1 (gzipped text file)</A><BR>
<A HREF="issue50.html">TWDT 2 (HTML file)</A><BR>
are files containing the entire issue: one in text format, one in HTML.
They are provided
strictly as a way to save the contents as one file for later printing in
the format of your choice;
there is no guarantee of working links in the HTML version.
</td></tr>
<!--==================================================================-->
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<center>
<I>Linux Gazette</I><img alt="[tm]" src="../gx/tm.gif">,
<A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com/</A><BR>
This page maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com"> gazette@ssc.com</A>
<P>
<H5>Copyright © 1996-2000 Specialized Systems Consultants, Inc.</H5>
</center>
</td></tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table>
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table width="100%" cellpadding=7><tr><td>
<H2><a NAME="mail"><IMG SRC="../gx/mailbox.gif" ALIGN=MIDDLE ALT=" ">
The Mailbag!</a> </H2>
Write the Gazette at <A HREF="mailto:gazette@ssc.com"> gazette@ssc.com</A>
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#help">Help Wanted -- Article Ideas</a>
<li><a HREF="#gen">General Mail</a>
</ul>
</td></tr></table>
</center>
<a name="help"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="maroon">Help Wanted -- Article Ideas</font></H3></center>
<P>
Answers to these questions should be sent directly to the e-mail address of
the inquirer with or without a copy to gazette@ssc.com. Answers that are
copied to <I>LG</I> will be printed in the next issue in the Tips column.
<P> <STRONG>Before asking a question, please check the
<A HREF=../lg_faq.html><I>Linux Gazette</I> FAQ</A> to see if it has been
answered there.</STRONG>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon Jan 31 13:43:03 PST 2000
<BR>From: <I>Linux Gazette</I> Editor <<A HREF="mailto:gazette@ssc.com">gazette@ssc.com></A>
<BR>Subject: Transmeta
<BLOCKQUOTE> <EM>
[I'd like to see an </EM>LG<EM> article analyzing Transmeta's
announcement, the Crusoe chip, and what it means for Linux. Is there
anybody in the field of mobile computing or hardware who would care
to write such an article?
The Transmeta announcement itself is covered in the
<A HREF="lg_bytes50.html#transmeta">News Bytes</A> section. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 09:11:57 -0700 (MST)
<BR>From: Neil Zanella <<A HREF="mailto:nzanella@tulip.math.ualberta.ca">nzanella@tulip.math.ualberta.ca></A>
<BR>Subject: Digital Cameras
<P> Hello,
<P> It would be nice if the next issue of the gazzette had an
article on using digital cameras with Linux.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 31 Dec 1999 09:23:13 -0500
<BR>From: Brian Cox <<A HREF="mailto:brincare@bellsouth.net">brincare@bellsouth.net></A>
<BR>Subject: Modems
<P> I am a new user to Linux (Red Hat 6.0). I am currently dual booting
between Windows 95 and Linux and I have a 56K winmodem install. I have not
been able to get this modem to work under Linux. Can you suggest a good modem
to upgrade to? Preferably one that will work under both my Linux and Windows
installations.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 31 Dec 1999 12:12:09 -0500
<BR>From: krishens <<A HREF="mailto:krishens@lynxus.com">krishens@lynxus.com></A>
<BR>Subject: Users required to enter root-password? Red Hat 6.1
<P> I have just installed version 6.1 and set up my modem to dial out to my ISP.
However, when I log on as a user and press KDE>Internet>kppp a pop-up box
opens up and wants me to enter the root-password! This does not seem right. is
there a way to avoid having to enter the root pass word when logged on as a
non-root user?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 1 Jan 2000 14:11:05 +0800
<BR>From: Chang Jiang <<A HREF="mailto:changj10@hotmail.com">changj10@hotmail.com></A>
<BR>Subject: About Linux-Win98 interconnect
<P> Dear sir:
<P> I realy got some troubles with Samba and need your help. After
read every associated docs in the Samba documents and SMB-HOWTO,
problem is there yet.
<P> I'm trying to interconnect Win98 with Linux. My Linux is Redhat
5.2 with the Samba version 1.9.18p10. My Samba is started as deamons,
that is, usind "smbd -D" and "nmbd -D".
<P> After I set "encrypt = yes", I can use "smbclient -L WIN98PC" to
access the Win98's share directories. But although I can see Linux PC,
I cann't access Linux from the Win98, no matter set "security = user"
or "security = share". When I do that, always got a "invilad
password". So does using "net view" and "net use" command under DOS
prompt. By the way, I had use "smbpasswd" to generate smbpasswd for
each smb user.
<P> While I can login Linux with smbclient on the Linux PC itself. So
do on the Win98 PC's Linux system(My Win98 PC is dual bootable). I use
the RPM to remove the Samba and install again, nothing changed.Then
What can I do?
<P> Here is the <A HREF="misc/mail/jiang.txt">smb.conf</A> file.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 01 Jan 2000 22:01:45 -0700
<BR>From: Richard Flynn <<A HREF="mailto:rflynn@uswest.net">rflynn@uswest.net></A>
<BR>Subject: Display support
<P> I am trying to run Linux on a system with a NEC Multisync monitor.
Where can I find a driver Or what monitor should I use.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 2 Jan 2000 01:52:41 -0800 (PST)
<BR>From: Alexandre I.Gorelov, SFU/TRIUMF, tel. (604)-222-1047, ext. 64-89 <<A HREF="mailto:iaeg@alph04.triumf.ca">iaeg@alph04.triumf.ca></A>
<BR>Subject: Pentium-II Xeon and calculation speed
<P> Hi guys,
here I'm trying to get a little bit of help with my computer.
I'm doing a very time expensive calculations using FORTRAN programs,
compiled with g77 under Red Hat 6.1. First, on dual Pentium-II/400MHz
and Pentium-III/450MHz computers I noticed, that when program size
(RSS in top) is getting biger that approximately 600K computation speed
dramatically decreasing by factor two. This slowing down agrees with
the bus speed (100MHz) and L2 cache (512K, 200MHz). So, I've decided
that the reason lies in the cache sped/size and bought (pretty cheap)
dual Pentium-II/450MHz Xeon computer with 2MB L2 cache per proccessor
that suppose to run at 450MHz and 512M SDRAM on SuperMicro mainboard.
Unfortunately I did not find any difference in performance of this
computer and still much cheaper dual Pentium-II/400MHz. Why is it?
May be, Red Nat 6.1 somehow must be told explicitely about cache size?
But I did not find any such option...
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 02 Jan 2000 19:16:11 -0500
<BR>From: walter muller <<A HREF="mailto:waltermullerorlando@worldnet.att.net">waltermullerorlando@worldnet.att.net></A>
<BR>Subject: connecting w98 and linux boxs
<P> I have one monitor and would like to connect my w98 desktop with my
linux desktop, what software do you recommend?
thank you
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 03 Jan 2000 06:53:13 -0500
<BR>From: Rick Smith <<A HREF="mailto:rsmith13@tampabay.rr.com">rsmith13@tampabay.rr.com></A>
<BR>Subject: Tracing spoofed packets.
<P> Sir,
<P> I have received a lot of spoofed packets to tcp port 139 (Net bios)
within the last week. Also, most all probes I get to "known" Net Bus
and Back Orifice ports, are spoofed. I would like to be able to trace
these packets back to the true source. How do I go about doing this?
What software do I need? What methods are used? (I don't plan to
retaliate, just inform the proper authorities.) Seems to me, that this
would make an excellent article for Linux Journal or the Gazette.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 03 Jan 2000 12:45:07 PST
<BR>From: Ted Wood <<A HREF="mailto:ted_wood@hotmail.com">ted_wood@hotmail.com></A>
<BR>Subject: Norton Ghost/LILO problem
<P> I'm trying to create a dual boot image with Redhat and NT Workstation. I'm
using Norton ghost version 6 to create the image. It will ghost fine but
after ghosting, lilo comes up as "LI" only. The problem is fixable by
booting to the Linux floppy and rerunning Lilo which rewrites the mbr.
After that everything is great, but why won't Lilo work properly the first
time? I've searched Symantec's page and I've tried the switches but they
all result in the same problem. Please Help!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 3 Jan 2000 16:23:38 -0500
<BR>From: David Morris <<A HREF="mailto:DMorris@dolfin.com">DMorris@dolfin.com></A>
<BR>Subject: Anti Virus programs for linux Red Hat 6
<P> Hi!
<P> Is there a "definative" anti virul program for Linux?
Any info appreciated!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 04 Jan 2000 15:46:01 +0530
<BR>From: Pradish Mathews <<A HREF="mailto:pmathews@softhome.net">pmathews@softhome.net></A>
<BR>Subject: Bug in Lockpasswd !!!
<P> I have the Red Hat 6.1 version and the Lockpasswd utility is not working
properly.
Once i lock the account i am not able to unlock it.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 04 Jan 2000 05:19:29 -0800
<BR>From: CvdBelt <<A HREF="mailto:CvdBelt@goplay.com">CvdBelt@goplay.com></A>
<BR>Subject: HelpWanted!
<P> Hi Gazette Readers!
<P> I've installed RedHat Linux 6.0. If I want to create a bootdisk in
RedHat setup, my system crashes. If you can help me, please send an
e-mail to: CvdBelt@goplay.com
<P> Thank you in advance!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 4 Jan 2000 17:57:33 +0330
<BR>From: amin Zia <<A HREF="mailto:Help@mmm.gov.ir">Help@mmm.gov.ir></A>
<BR>Subject:
<P> Dear Sir:
<P> I'm looking for a way to get the users' information on my netware 4.11 from a linx
machine. the information, including password, will be used for dial-up user authentication. Would you please let me know if it is possible.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 5 Jan 2000 10:30:09 -0300
<BR>From: Luis Bogliolo <<A HREF="mailto:luisb@gbs.com.ar">luisb@gbs.com.ar></A>
<BR>Subject: I habe a problem
<P> I have a problem.
I am trying to install in a linux Red Hat relase 6.0 Publishers Editor (Hedwind) a badge ethernet Intel InBusiness 10/100 and it is not recognized for the linux.
The pc in which I work is a PII of 266 Mhz with 32 Mb ram, Possesses a badge of cable modem, and a modem of 56Kbps.
I would Thank to who could offer me information of a solution.
<P> Happy New Year, Luis A. Bogliolo
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 05 Jan 2000 09:31:41 -0500
<BR>From: rbruce <<A HREF="mailto:cva92@centurytel.net">cva92@centurytel.net></A>
<BR>Subject: Sound Card Problem
<P> I'm a very linux newbie. I have RH6.1. I can play music CD's and hear
system beeps for KICQ.
I'm using the KDE desktop. I have already tried sndconfig. I have system
sounds enabled.
The sound card is a Sound Blaster 16 System sounds just wont work.
Any ideas?
<P> Richard
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 5 Jan 2000 13:04:24 -0700
<BR>From: Akins Bobby Civ 28CS/SCBB <<A HREF="mailto:bob.akins@ellsworth.af.mil">bob.akins@ellsworth.af.mil></A>
<BR>Subject: XTerms
<P> To Whom It May Concern,
<P> Can you tell me where to find information on setting up Linux
Server/Client machines to act like server and thin clients. My goal is
one powerful server with several smaller terminals using software off
the server.
<P> Thanks in advance.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 06 Jan 2000 00:03:52 -0500
<BR>From: Darren Lehman <<A HREF="mailto:dlehman@azerty.com">dlehman@azerty.com></A>
<BR>Subject: Subject: X won't start
<P> I Have Reacently Installed LINUX on an Dell OptiPlex GX110 PentiumIII
that I bought. I can boot up an login into root but when i issue the
command the
command startx to get X to star this is what i get:
<P> execve failed for /ect/X11/X (errno 2)
<P> and then 6
<P> _X11TransSocketUNIXConnect: Can't Connect: errno = 2
<P> then
<P> Giving up
<P> and Finally I wonderered if anyone could help a LINUX newbie.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 6 Jan 2000 17:26:01 +0800 (HKT)
<BR>From: Samuel Lam <<A HREF="mailto:samuell@silver.hkabc.net">samuell@silver.hkabc.net></A>
<BR>Subject: Linux + Win98 Lan
<P> Hello.
<P> Linux Redhat 6.1 and config to use Squid on the Lan.A modem PPP dail up to
ISP and NOT with fixed IP.
<P> Win98 client on the LAN can get the http_service from squid.
But win98 cannot use Telent or ICQ
Could someone tell me how to open the port or how to let the modem fully
share on the LAN.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 06 Jan 2000 16:43:00 +0100
<BR>From: Fisayp <<A HREF="mailto:fisayo@steineng.net">fisayo@steineng.net></A>
<BR>Subject: Help Wanted On Domain Hosting Config
<P> Please what are the necessary steps to take to host a domain and web
site on a Linux system (Redhat)
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 08 Jan 2000 22:17:46 +0000
<BR>From: George Foussias <<A HREF="mailto:gfoussia@netcom.ca">gfoussia@netcom.ca></A>
<BR>Subject: Linux and the MessagePad2000
<P> Hi everyone,
<P> I know it's possible to get Linux onto a PalmPilot, but I was wondering
if anyone knows of or has heard of a port for the Apple MessagePad (aka
the Newton). Any comments or suggestions are greatly appreciated.
<P> Thanx
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
7 Jan 00 10:29:24 MST
<BR>From: Research & Development Gruop x <<A HREF="mailto:r_and_d_group@usa.net">r_and_d_group@usa.net></A>
<BR>Subject: X Windows Configuration Problem
<P> Res. Sir
<P> I regularly visit your site. First of all I must appricate your efforts to
assist users to solve their problems. ed.
<P> I have got a project on Red Hat Linux, Oralce 8i and Apache Web Server
platform.
<P> I have installed Red Hat Linux 6.1 on my pc. However I am finding it
difficult to setup my monitor. The X Window is not working at all( Commnad
Line is working Properly). I kindkly request you to help me to solve the
problem. I have tried to use Generic monitor and Video Card. Still it could
not help.
<P> My Hardware configuration is
<PRE>
Card : SiS 620 with 8 MB Shared Memory on board
Monitor : Samtron 45Bn
Monitor Synchronisation :
Horizonal : 30-55 KHz
Vertical : 50-120 Hz
</PRE>
<P> As I have to complete the project in given time constraint, i request you to
guide me as early as possible.
<P> Waiting for your replay.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 10 Jan 2000 12:27:59 -0600
<BR>From: Wagner Perlino (EDB) <<A HREF="mailto:wagner.perlino@edb.ericsson.se">wagner.perlino@edb.ericsson.se></A>
<BR>Subject: Win95-Linux small network with null modem
<P> I am trying to build a small network at home with one Linuxbox and another
Win95/Win98 box. I have no printer, but I would like to share files and use
my Linuxbox as a gateway to the internet so that both boxes can use one
single dial-up connection AT THE SAME time. Is there any link or suggestion
for this type of connection ?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 10 Jan 2000 19:19:30 -0300
<BR>From: Carlos Germán Siufi <<A HREF="mailto:csiufi@puntoar.net.ar">csiufi@puntoar.net.ar></A>
<BR>Subject: Router problem
<P> I had two networks. One at the main office (192.168.1.0) and the other
at the branch (192.168.2.0). I used two CISCO 800 ROUTERS to connect
them. I can use tcp/ip normally ("ping", "ftp", "http" from one host to
another remote host).
<P> My problem is:
<P> I can't see the remote PCs in Windows Explorer at the office. I
configured a Linux server with DNS, Mail, Ftp but It still doesn't
work. At the office I'm running IPX (there is a Netware 3.11 server) and
TCP/IP protocols. Any idea?
<P> Germán.
<P> PD: Sorry my english.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 11 Jan 2000 12:32:01 -0300
<BR>From: Gabriel Ramiro Ferro <<A HREF="mailto:gferro@gamma.com.ar">gferro@gamma.com.ar></A>
<BR>Subject: Desde Argentina
<P> Perdón pero no manejo el ingles, lo que deseara es que me informen como
adquirir los CD de Linux en forma gratuita
Desde ya muchas gracias.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 11 Jan 2000 21:56:55 +0100
<BR>From: Ivo Naninck <<A HREF="mailto:inaninck@linuxfan.com">inaninck@linuxfan.com></A>
<BR>Subject: Printing MS documents on Novell printer
<P> Hello Gazette,
<P> Can you please put the following question in your next Gazette?
<P> On my Linux box (Mandrake 6.1) I already have the Novell Netware Client
up and running.
I can print textfiles from the command line to a HP Laserjet 4Plus
printer which lives
in a Novel NDS tree. However, some people like(?) to send me Microsoft
Word and Excell
documents. When I send these kind'o files straight to the printer, they
come out real
funny :-(
I have Staroffice-5.1, with which I can read those files, but SO doesn't
(AFAIK) have
the ability to print to the kind of printer I must deal with.
Any idea is very welcome!
<P> -- <BR>
Best regards, Ivo Naninck.
<P> 1st graffitiist: QUESTION AUTHORITY!
<P> 2nd graffitiist: Why?
<PRE>
~
:wq!
</PRE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 12 Jan 2000 00:23:56 +0100
<BR>From: Jos vd Snepscheut <<A HREF="mailto:snepscheut@hetnet.nl">snepscheut@hetnet.nl></A>
<BR>Subject: vgetty and .rmd files
<P> Hello,
<P> Is there a way to convert .rmd files (made by vgetty) into .wav files.
<P> thanks, Jos (newbe)
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 12 Jan 2000 09:59:39 -0500
<BR>From: abc <<A HREF="mailto:abc@abc.com">abc@abc.com></A>
<BR>Subject: Partiton Magic 5.0 and Linux Installation
<P> Hi !
<P> I am not quite familiar with Linux installation and stuck at this point.
<P> I have a new DELL with 13 GB hard-disk running windows98 second edition.
<P> I bought Partition Magic 5.0 to create couple logical drives and Linux
Native and Swap Partitions.
<P> I am trying to install RedHat 5.2 using a bootable disk and a CD -ROM.
<P> For some reason, neither disk-druid nor fdisk (in-built) recognizes my
Logical Partitions.
<P> On the Blue screen (driver information) it says:
<PRE>
/hda1 <size> Win95 FAT 32
/hda2 <size = 13 GB - size of C drive> 0x0f (blank in type field)
</PRE>
<P> That means, the installation process does not know there are couple of
Logical Drives and also a Linux Native and a Swap Partitons. What does
0x0f type means ?
<P> fdisk however shows there are partitions on MS-DOS propmt but
installation program can not recognize them !
<P> Is there anything I am doing wrong ? Any suggestions ?
<P> Thanks<BR>
-H
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 13 Jan 2000 17:54:09 +0200
<BR>From: Dina Yazbeck <<A HREF="mailto:dina.yazbeck@spacecom1.com">dina.yazbeck@spacecom1.com></A>
<BR>Subject: Question
<P> I am basically trying to host a domain and have all the e-mails of
the users of this domain (remotedomain.com) sent to one particular
Mailbox (such as remotedomain@myisp.net). This is straightforward.
Assuming that the remote domain machine (LINUX) polls the ISP
server. What is the procedure to use to retrieve this mail and
distribute it to the respective mailboxes of the users?
Do I have to use procmail?
Is fetchmail sufficient for distributing the mail?
Waiting for your reply.
<P> Thank you.
<P> Note: I am new to the Linux world; for that reason, please include
details.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 06 Jan 1998 05:41:58 +1300
<BR>From: M Murugan <<A HREF="mailto:Admin@easybrowsing.com">Admin@easybrowsing.com></A>
<BR>Subject: How to encrypt in linux ..
<P> Sir
<P> I would like to encrypt the loginname in my linux-boot-dial floppy.
<P> Is there any command like ASC(x) or chr(x) as in VisualBasic other than
tr.
<P> Thanks in advance
<BLOCKQUOTE> <EM>
[Why do you need to encrypt your login name? The password is already
encrypted. In any case, everybody knows the most powerful login is
"root", so you would not be gaining any security. If you are concerned
about people cracking your account, change your password.
<P> Also, nothing prevents somebody from sticking their own boot floppy
in with their own passwords on it. The only way to prevent this is to
keep the computer in a locked room. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 14 Jan 2000 15:38:17 -0500
<BR>From: Kevin Jon Schlossberg <<A HREF="mailto:spark@bladeforums.com">spark@bladeforums.com></A>
<BR>Subject: ? about "logrotate" on RedHat 5.2...
<P> Hi there!
I'm a linux newbie, and I'm hoping that you'll be able to answer my
questions, as I'm kind of lost.
<P> We're currently running RedHat 5.2 on our server, and are using Apache as
our webserver program. We've got about 30 or so websites running off the
same machine, each with it's own Apache webserver. Our reasons for doing
so is to prevent 1 website from taking out all of the rest if that
particular process dies.
<P> Since each website has it's own Apache server running, each site has it's
own access_log file. Anyhow, a few of the websites have proven to be more
popular than we thought they would be, and are generating about 1 Gb of
logfiles every 7 days or so. Considering that we only have 9.1 gB of hard
disk space, we've decided that it would probably be a smart idea to start
rotating the logfiles each week.
<P> I've been looking at the logrotate program that's included with RedHat
Linux, and I'm a bit confused as to how it operates, and was hoping that
you could tell me if what I'm thinking will work.
<P> In the file /etc/logrotate.d/apache it lists
<PRE>
#/var/log/httpd/access_log {
# postrotate
# /usr/bin/killall -HUP httpsd
# endscript
#}
</PRE>
<P> As what I'm guessing the default logrotation would be.
<P> Since my configuration has the access_log files located at
<PRE>
/logs/account1/access_log
/logs/account2/access_log
/logs/account3/access_log
/logs/account4/access_log
....
/logs/accountX/access_log
</PRE>
<P> I'm going to guess that I need to change
<PRE>
/var/log/httpd/access_log
</PRE>
to
<PRE>
/logs/accountX/access_log for each accountX
</PRE>
<P> Here's the crux of my problem though - the section that states
<PRE>
# postrotate
# /usr/bin/killall -HUP httpsd
# endscript
</PRE>
<P> is worrying me because I dont want to send multiple /usr/bin/killall -HUP
httpsd signals over and over again if it's not neccessary.
<P> Can I put the /usr/bin/killall -HUP httpsd command in the
/etc/cron.daily/logrotate file so that instead of
<PRE>
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
</PRE>
<P> it instead says
<PRE>
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
/usr/bin/killall -HUP httpsd
</PRE>
<P> and have the /etc/logrotate.d/apache file read:
<PRE>
/logs/account1/access_log {
}
/logs/account2/access_log {
}
/logs/account3/access_log {
}
/logs/account4/access_log {
}
/logs/accountX/access_log {
}
</PRE>
<P> for each accountX that I have?
<P> Thanks for any assistance that you can give....
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 14 Jan 2000 16:02:38 -0500 (EST)
<BR>From: Mark Borg <<A HREF="mailto:mborg@mail.com">mborg@mail.com></A>
<BR>Subject: Question on motherboard support
<P> Hello,
Some time ago I upgraded my machine from 486-33Mhz to PIII 500Mhz.
I bought a PC-Chips M741LMRT motherboard which has on-board VGA,
sound and modem. Linux installed ok on it and is really fast
(boots up in less than 20 seconds!!), but X windows configuration
is crashing when trying to detect the on-board VGA (I belive it's
a SiS 5595 chipset). I am only getting 320x200 mode. When I
amended the config file manually to get an 800x600 true-color mode,
X loads, paints the background and hangs up. Anyone has used
such motherboards? Or are there any patches for this motherboard?
Regards
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 15 Jan 2000 16:38:55 +0530
<BR>From: Kumar V <<A HREF="mailto:datasol@vsnl.com">datasol@vsnl.com></A>
<BR>Subject: Urgent Help Wanted
<P> Dear
Support Manager
<P> We are installing Linux Kernel 2.2 with Redhat 5.2 in our Intel Pentium III @ 500 MHz system, with 256MB SDRAM which has integrated SiS 6236 AGP card with 8 MB Video Memory and Realtek 8139 Ethernet Adapter.
<P> We are using SCSI hard disk with Adaptec Controller Card. We are facing heavy problems in getting recognized for SiS 6326 card in the installation of XWindows. The supported hardware list doesn't show the list of the above SiS 6326 Card. Please let me know how we can solve the problem and also let me know where i could download the drivers to make SiS 6326 card work in Xwindows and to support maximum resolution and Color Depth.
<P> Please help me out where i could download the drivers and the procedure for making the SiS 6326 card work in Xwindows.
<P> Hope you will reply to me immediately.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 16 Jan 2000 12:58:56 -0800 (PST)
<BR>From: Wei Huang <<A HREF="mailto:pardxa@yahoo.com">pardxa@yahoo.com></A>
<BR>Subject: help
<P> sir,
I need some help.
<P> Question1,
<P> I wrote a <A HREF="misc/mail/huang.c.txt">program</A> of showing the contents
of other program on the platform of LINUX,the compiler is g++, but got problems
in statement 1 and statement 2.
<P> First,I want to show the sentence in statement 1
ahead of the body of file being showed,but it can't
appear in the proper position.I mean I want the
program running like this:
<PRE>
This is the body of file
FILE BODY...
This is the body of file
FILE BODY...
</PRE>
<P> but it running like this:
<PRE>
FILE BODY...
FILE BODY...
This is the body of file
This is the body of file
</PRE>
<P> I don't why,how can it be corrected.
Second,I had believed the statement 2 is illegal in
grammar.Because if you define an array, char
buffer[BufferSize] ,the BufferSize indicate the number
of elements in array and should be a constant or at
least be a const variable,and it can't be a variable,
otherwise the program cann't be compiled. But the fact
is this program is compiled smoothly and functions
normally. What is wrong?
<P> Question 2,
I write a <A HREF="misc/mail/huang2.c.txt">c program</A>.
<P> But when compiling, gcc reports that all the functions
with "vga_" profix are undefined,what is the problem?
I had included "vga.h" in my programe as indicated in
"man" help on the usage of either "vga_" function.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 17 Jan 2000 14:32:33 +0530 (IST)
<BR>From: Kenneth Conception <<A HREF="mailto:kenneth@darya.nio.org">kenneth@darya.nio.org></A>
<BR>Subject: None
<P> Hi,
I have a computer with a 810 chipset on which i loaded redhat 6.1.
This version does not have the required display card drivers.Pls advice
me.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 17:04:04 +0100
<BR>From: Michael Schmitz <<A HREF="mailto:mschmitz@sema.de">mschmitz@sema.de></A>
<BR>Subject: /sbin/dump crashes when doing incremental backup
<P> Since upgrading from RedHat 6.0 to 6.1 /sbin/dump crashes when trying
to do incemental backups:
<PRE>
madeira:[/tmp]# /sbin/dump -1 -f /dev/null /dev/sda1
DUMP: Date of this level 1 dump: Tue Jan 18 17:00:38 2000
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/sda1 (/usr) to /dev/null
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 710739 tape blocks on 18.27 tape(s).
DUMP: Volume 1 started at: Tue Jan 18 17:00:39 2000
DUMP: dumping (Pass III) [directories]
DUMP: SIGSEGV: ABORTING!
DUMP: SIGSEGV: ABORTING!
Segmentation fault
madeira:[/tmp]# DUMP: SIGSEGV: ABORTING!
DUMP: SIGSEGV: ABORTING!
DUMP: SIGSEGV: ABORTING!
</PRE>
<P> Does anybody have an idea of what might be the problem?
<P> This is what's installed:
<PRE>
dump-0.4b4-11
e2fsprogs-1.17-1
glibc-2.1.2-12
</PRE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 08:04:20 -0800
<BR>From: knowmd <<A HREF="mailto:knowmd@worldnet.att.net">knowmd@worldnet.att.net></A>
<BR>Subject: modoms
<P> need information on compatible modems to run with redhat 5.2 with
pentium 233
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 15:42:13 -0500
<BR>From: Christopher Hennessey <<A HREF="mailto:chennessey.STU_PO.FPLC@fplc.edu">chennessey.STU_PO.FPLC@fplc.edu></A>
<BR>Subject: Law student with questions about Licensing and Linux
<P> My name is Chris Hennessey and I am currently a first year law student at Franklin Pierce Law Center located in Concord, NH. Franklin Pierce is a law school renowned for its intellectual property program and it strives to educate students entering fields in the forefront of technology. I have been elected as a class representative for the Licensing Executive Society and have a strong interest in the field of software licensing. I am particularly interested in the "copy-left" movement in the software industry and I know that Linux is at the forefront.
<P> I am currently trying to help organize this Franklin Pierce's annual Licensing Symposium which will be held on Saturday, March 25. I would very much like to have a Red Hat or Linux based representative come and speak at the symposium about what is going on in the world of freeware and shareware or other general software licensing issues.
<P> As the Editor of the Linux Gazette, I am certain that you could help me. Perhaps you are interested or know of a Red Hat attorney or anyone who be interested in speaking at this event. The Licensing Executive Society is a global organization and this would be an opportunity to speak to law students from around the world about Linux.
<P> I would really appreciate any assistance you may be able to provide for me, please contact me via email.
<P> Thank you.
<BLOCKQUOTE> <EM>
[</EM>Linux Gazette<EM>
has no relationship with Red Hat, so I can't put you in
touch with one of their attorneys. See RH's contact information at
<A HREF="http://www.redhat.com">www.redhat.com</A>.
<P> The Free Software Foundation would be another good place to check,
since licensing is their forte. <A HREF="http://www.gnu.org">www.gnu.org</A>
<P> The Electronic Frontier Foundation is not directly related to software
licensing per se, but they have been very active in the past regarding
net freedom, although I haven't kept track of them in recent years.
<A HREF="http://www.eff.org">www.eff.org</A> -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 01:16:14 +0100
<BR>From: Leonard <<A HREF="mailto:LT.Quivooy@quicknet.nl">LT.Quivooy@quicknet.nl></A>
<BR>Subject: insmod and newbie to RH6.1
<P> Hello,
<P> Where can i aks an question about a loadable module which i want to
autostart at boot?
an howto? I cannot find the right information, and or it's nog clear for me.
I searched the linux Gazette and couldnot find it
<P> thanks.
<P> Leonard Quivooy
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 12:30:25 +0100
<BR>From: Ivan Suchy <<A HREF="mailto:suchar@penguin.cz">suchar@penguin.cz></A>
<BR>Subject: Internal modem
<P> Hello LG team,
<P> I have HP Netserver E60 and don't know how internal modem I can use with
it,
and RH 6.0. Have someone some experience.
<P> Thanx for any answer, sincerely
<P> Ivan Suchy
<P> BTW: installation on this server was without any problem, who wants I
can send its hardware configuration.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 11:46:58 EST
<BR>From: <<A HREF="mailto:MartyFisher1@cs.com">MartyFisher1@cs.com></A>
<BR>Subject: bash2
<P> Hello,
<P> The bash 1-14 seems to be the standard bash for redhat even though bash2 is
included. Can you tell me the reason for that ? and when that might change ?
<P> Thanks,
Marty Fisher
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 24 Jan 2000 05:42:36 -0500
<BR>From: glitch <<A HREF="mailto:pidpot@freewwweb.com">pidpot@freewwweb.com></A>
<BR>Subject: 2 quick questions
<P> I have two quick questions...
<P> One concerns my modem. When i dial into my isp, my modem hangs up after
connect every first time i try.
so, it always takes exactly two tries to get going. What could my modem
be NOT doing the first time that it ALWAYS figures out how to do the
second time?
<P> second, I would like to ask for a QUALITY set of general instructions on
how to install things i download off the internet such as realplayer 5
for Linux which comes in rpm form. I have downloaded various programs
from the net in rpm form, only to find very sloppy instructions on
setting things up. In the case of realplayer in particular, I get a
message (using rpm at the command line with the -i switch) that says
realplayer is installed. But where does it get installed to? i can
never find it... i type the executable command and get another message
that core is been dumped. This is after having to copy the rpm into the
/var/lib/rpm directory just so the rpm util can find things it needs to
install my package in the first place.
<P> hey, sorry, i just thought of question #3:
I KNOW i created 3 swap partitions, but only one is enabled. (hda7) what
are the names of my other partitons? i have altogether 4 partitions: one
root and 3 swap. so hda1 is root and hda 7 is one of the swaps, but
what is the convention for nameing devices to partitions? i tried to
enable my best guesses (hda 5 and hda6) in linuxconf as additional swap
partitons, but with no luck. how do i find them and how do i enable
them? thanks.
<P> I run redhat 6.1 with Gnome as my desktop on a amd 350 with 128 megs of
ram, but i dont have any preference to desktops, so instructions to fit
any of them will be greatly appreciated.
<P> Please understand that i am working on almost six years of experience
with computers and am not afraid to try new things. I am new to linux;
however, I am not afraid to follow technical instructions, as long as
they are accurate.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 13:14:56 -0800 (PST)
<BR>From: KAI T. HUANG <<A HREF="mailto:vkthuang@yahoo.com">vkthuang@yahoo.com></A>
<BR>Subject: How to set up a external modem for the internet of Red Hat Linux?
<P> Hi, I have installed Red Hat LInux. I brought a blaster V.90&K56flex
external modem. I want to set up ppp. I set up ppp with this modem and was able
to connect to my ISP with linuxconf. But when I tried to use nestcapte to
access internet. I failed. Can you tell me what problem it is.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 13:18:56 -0800 (PST)
<BR>From: Victor Huang <<A HREF="mailto:vkthuang@yahoo.com">vkthuang@yahoo.com></A>
<BR>Subject: How to use a printer to print out the result of X window program in red hat linux?
<P> I wrote X window program abd run it in red hat linux. I want to print out
the result with a HP laserjet 4 printer(print out the screen). But I don't
know how to do that? How to save the screen and print out the screen link
Window 98/95? Can you give me some idea?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 13:20:31 -0800 (PST)
<BR>From: Victor Huang <<A HREF="mailto:vkthuang@yahoo.com">vkthuang@yahoo.com></A>
<BR>Subject: How to set up HPdeskjet 712c printer in Red Hat Linux?
<P> Can you tell me how to set up HPdeskjet 712c printer in Red Hat Linux? Thank you.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 20:50:08 -0500
<BR>From: inkognito <<A HREF="mailto:inkognito@bay-net.on.ca">inkognito@bay-net.on.ca></A>
<BR>Subject: linux install
<P> ok i have redhat 6.1 and after i type startx in lilo i get a no screens
found error message i have an ATI Rage 128 AGP with 16mb ram on it and a
viewsonic e771-3 monitor im on 16 bit 800X600 can u help me?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 23 Jan 2000 12:17:08 -0800
<BR>From: Garry J. NICHOL <<A HREF="mailto:ntp@compuserve.com">102445.562@compuserve.com></A>
<BR>Subject: compuserve / linux
<P> How do I connect to compuserve from my linux box using the pppd?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 23 Jan 2000 15:46:09 -0600
<BR>From: Brent Gill <<A HREF="mailto:bgill@iastate.edu">bgill@iastate.edu></A>
<BR>Subject: Install Problems
<P> Ok, I'm a newbie to Linux... I'm trying to install Redhat 6.1 on my system
which already has Win98 installed. During the install process, I encounter
several problems. First, when I'm trying to partition my disk, I always
get the message "boot partition too big", no matter what the size is. I
can proceed with an error message if I make a separate "/" and "/boot"
partition, however, about 20 seconds later, I get the message "Error in
isys.py line 8 in umount System Error 16-device or resource busy".
I downloaded the software, and I'm trying a hard drive install. Anyone
have a solution?
<P> thanks.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 24 Jan 2000 14:41:16 -0000
<BR>From: Simon_M_Appleby <<A HREF="mailto:Simon_M_Appleby@email.msn.com">Simon_M_Appleby@email.msn.com></A>
<BR>Subject: Reconizing other drives via PCMCIA slots
<P> Dear Sirs,
<P> As I am new to Linux and have been given Red Hat 6.1. I have decided to put this on a Laptop.
<P> My question is this :-
<P> When Red Hat boots up it will default mount all file systems it knows about, including CDROM and/or Floppy (if present).
If I wish to mount a Modem or another floppy (In this case a Iomega Click card) via the PCMCIA slots at the side of the Laptop, how does one achieve this ?. Are there any HOWTO's that detail this,or can you supply commands.
<P> Thanks
<P> Si
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 25 Jan 2000 20:55:56 +0100
<BR>From: Michiel Doetjes <<A HREF="mailto:pm.doetjes@eagle-i.nl">pm.doetjes@eagle-i.nl></A>
<BR>Subject: Graphics all messed up...
<P> Hi,
<P> Today I installed my very first Linux system! I guess it works fine, but I have big problems with my graphics card / monitor.
<P> When I start Linux (using a bootdisk), X-Windows automatically loads. I do see the login screen, but it's far to wide! It's a bit like viewing a 1024x768 screen, while the monitor is set to 640x480.
<P> Specs of my system:
<PRE>
Pentium II Mendecino, 366mhz
64 MB Ram
Intel 740 graphics accelerator, 8mb, AGP
</PRE>
<P> I tried various options using xf86config, but I don't seem to get my graphics card to work.
<P> After a nervous breakdown, my computer installed my graphics card as a Chips & Technologies Accelerator. This works fine too.
<P> Does anyone know how to solve this problem?
<P> Thanks!
<P> Mike
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 26 Jan 2000 15:19:19 +0800
<BR>From: pgy <<A HREF="mailto:pgy1@263.net">pgy1@263.net></A>
<BR>Subject:
<P> I want to sale RedHat Linux 6.0 Offical Installtion Guide's Chinese Version,
but I don't know how to sale this. Can you tell me?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 27 Jan 2000 23:10:11 +0800
<BR>From: Yau Chuan Hoa <<A HREF="mailto:ychoa@tm.net.my">ychoa@tm.net.my></A>
<BR>Subject: Redhat 6.1 Installation Problem
<P> I tried to install REDHAT 6.1 but it hangs after the graphical partition
page (Ctrl-Alt-F7), when it starts the partition/format process.
<P> I boot using the AutoBoot.bat from DOS (Win98 startup disk).
<P> My system : Pentium 133, with 64 MB of RAM. S3 chipset (correctly detected)
HDD = IBM 1.7GB -> 2 equal primary partitions : FAT16 and ext2 (Partition
magic v4)
<PRE>
hda : hda2, hda3 ??? Where is hda1 ???
</PRE>
<P> Error message :
<PRE>
<4> hdc : ATAPI reset complete
<4> hdc : cd_rom_decode_status error = 0x34
<4> hdc : cd_rom_decode_ststus = 0x51 {DriveReady SeekComplete Error}
<4> end_request I/O error dev 16:00 (hdc) sector 1190936
<4> end_request buffer-list destroyed
</PRE>
<P> Also, sometimes it hangs for a short while (10-15 seconds) during keyboard
detection, after every mouse click, with the following message
Error loading new keyboard description.
<P> I tried to get support from Redhat, but it is not it is not helpful,
especially in my country, Malaysia.
<P> Thanks.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 27 Jan 2000 23:44:18 -0600 (EST)
<BR>From: Dr. Pat Fitzpatrick <<A HREF="mailto:fitz@twister.jsums.edu">fitz@twister.jsums.edu></A>
<BR>Subject: Outgoing mail problem
<P> We are attempting to set up our linux machine such that it can used as a
POP server. On a Windoze machine, Eudora software successfully retrieves
email from the machine. However, when we try to send email through the
linux machine, the email bounces back.
<P> By the way, using email tools such as pine on the linux machines itself
works fine.
<P> I am open to suggestions.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 28 Jan 2000 14:30:11 +0100
<BR>From: Giuseppe Luigi Bombelli <<A HREF="mailto:bombelli.giuseppe@sri.enel.it">bombelli.giuseppe@sri.enel.it></A>
<BR>Subject: Informazioni
<P> Salve a tutti
sono un neofita di Linux, ho installato Linux dal CD di ioProgrammo funziona
tutto a meraviglia solo non so come settare il modem che funziona solo a
9600 pur avendo un modem a 56K della Trust.
<P> Vi chiederei dove eventualmente reperire informazioni su questa operazione,
possibilmente in italiano data la mia scarsa conoscenza della lingua
Inglese.
<P> In attesa di un vostro gentile riscontro porgo cordiali saluti.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 28 Jan 2000 08:06:34 -0600
<BR>From: Ian Timshel <<A HREF="mailto:timshel@escape.ca">timshel@escape.ca></A>
<BR>Subject: Subscription
<P> Hi there.
Is the Gazette something I can subscribe to or do I need to return to
the site to update. I also noticed the info on typing tutors was dated from
the fall of 98. Are you still actively working on this paper?
Cheers! Ian
<BLOCKQUOTE> <EM>
[You will need to return to the site for the next issue. Each issue is
posted on the first day of the month.
<P> If you wish, you can subscribe to the announcement list at
lg-announce-request@ssc.com. Put the single word "subscribe" in the message
body. Then you will receive an e-mail announcement every month when the
issue is posted.
<P> Our articles are contributions from our readers. I do not know of
any author planning another typing tutor article. However, I will
print your letter in the Mailbag to show there is interest in such
an article. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 28 Jan 2000 18:14:13 -0000
<BR>From: oliver cameron <<A HREF="mailto:oliver@hii.co.uk">oliver@hii.co.uk></A>
<BR>Subject: Upgrading to shadow passwords
<P> I am running RH 4.2 and I need to convert my existing etc/passwords file to the shadow passwords format used on a new RH 6.1 installation. Can anyone give me a simple explanation of how to do this? Any help would be greatly appreciated.
<P> Many thanks in advance, Oliver.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
21 Jan 00 16:26:47 PST
<BR>From: Mike Craft <<A HREF="mailto:moiloa@netscape.net">moiloa@netscape.net></A>
<BR>Subject: Driver for ATI Xpert @ Work PCI card
<P> Hi! girls and boys,
<P> I'm new user and believer of yhe Linux O.S and I need help badly.I'm looking
for a driver for an ATI Xpert @ Work 8Mb PCI card. Where can I get it?
<P> I'm using a Red Hat 5.2 and my monitor is a Mitsubishi Diamond Scan, model
FA3415AT4 60Hz. HF:15.7 - 35.5 Hz, VF:45 - 80 Hz Mx Display 800x600
<P> Could someone help, I would appreciate it a lot. Thanks.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 24 Jan 2000 16:44:15 +0100
<BR>From: Martial Farad <<A HREF="mailto:mfarad@ifrance.com">mfarad@ifrance.com></A>
<BR>Subject: problème
<P> Bonjour,
Je sais que ce n'est pas un mail pour les débutant qui ne connaissent
rien, mais j'ai vraiment besoin d'aide.
J'ai un lecteur de disquette externe, et je n'arrive pas à le monter
sous linux. Il me renvoie le message:
<P> Mount: the kernel does not recognize /dev/fd0 as a block device (Maybe
'insmod driver' ?)
<P> Pourriez-vous me dire ce qu'il ne va pas ou me donner une adresse de
site ou e-mail qui pourrais m'aider. Je vous en serai très
reconnaissant.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 30 Jan 2000 21:25:49 -0500
<BR>From: Ze'ev Ionis <<A HREF="mailto:zionis@interlog.com">zionis@interlog.com></A>
<BR>Subject: Running an NT command from Linux (or vice-versa)
<P> I have two PCs on my lan - an NT4sp6 box and a RHLinux6.1 box. They share a
UPS. The UPS has hardware and software which will allow it to send a
shut-down command to just ONE box. That box then has to send a shutdown
command to the other. I know how to do this if they were both running NT
(there is a command in the NT resource kit to allow you to send a remote
shutdown). But I have NO idea how to do this from one OS to the other. Any
ideas?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 31 Jan 2000 16:38:49 +0200
<BR>From: Zlotnikov yuri <<A HREF="mailto:zlotniko@macs.biu.ac.il">zlotniko@macs.biu.ac.il></A>
<BR>Subject: CPU resource distribution
<P> Please, send me any article about CPU resource distribution
(sharing) in Linux.
<P>Thanks<BR>
Vladimir
<a name="gen"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="maroon">General Mail</font></H3></center>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 2 Jan 2000 20:34:49 -0400 (WST)
<BR>From: David Santo Orcero <<A HREF="mailto:irbis@activanet.es">irbis@activanet.es></A>
<BR>Subject: None
<P> Hello.
<P> I tryed ftp link [ftp.ssc.com] with netscape and with ncftp and now it
works fine.
<P> Yours:
<P> David
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 3 Jan 2000 12:53:35 GMT
<BR>From: <<A HREF="mailto:rupert.linux@btinternet.com">rupert.linux@btinternet.com></A>
<BR>Subject: Postscript or HTML editions of Gazette
<P> I've read the FAQ on Gazette distributions.
<P> I would like read the Gazette either as HTML or PDF format.
<P> The FAQ talked about being able to use the "Print to file" option of Netscape
to produce a postscript version of the Gazette which Acrobat viewers would be
able to read (I assume).
<P> I've tried exporting the front page of the Gazette to a postscript file which
netscape the extension PRN onto.
I've tried renaming the extension to PDF to see if the Acrobat viewer would
take the file. It didn't.
<P> If I can't use Acrobat to view the Gazette, I'm fine using HTML format if I
can get the pages downloaded onto my local PC to view them offline. Apart
from using a web page archiving program, how else would I be able to view the
Gazette offline?
<P> regs
rupert heesom
<BLOCKQUOTE> <EM>
[If your goal is to read the </EM>Gazette<EM> on screen off-line, download the
FTP files (FAQ question 3).
<P>If your goal is to print the </EM>Gazette<EM>, just use the "Print"
command in your browser.
<P>The FAQ was trying to say that Netscape's "Print to File" option (on Linux)
produces Postscript. PDF is a different file format from Postscript. Acrobat
and <CODE>xpdf</CODE> are PDF viewers; <CODE>gv</CODE> is a Postscript viewer.
I have <A HREF="../lg_faq.html#formats_no">reworded</A> the FAQ answer to make
it more clear. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 04 Jan 2000 02:47:59 +0000
<BR>From: Malcolm Macsween <<A HREF="mailto:malcolm@arcadia.softnet.co.uk">malcolm@arcadia.softnet.co.uk></A>
<BR>Subject: The Answer Guy LG #49 - psychic, already .....
<P> The answer guy is really excelling himself this month ....
<P> How exactly did he help me to fix my Mosix cluster on the Linux 2.4 SMP
cluster in Oct , 2000 - I've forgotten already. Sorry - maybe you can
refresh my memory .... perhaps my memory management module is faulty,
but I seem to have forgotten the whole year.
<BLOCKQUOTE> <EM>
[The </EM>Gazette<EM>'s Y2K problem was a result of Jim's time machine coupled
with my too-successful attempt to change the copyright dates in bulk. The
dates are
<A HREF="http://www.linuxgazette.com/issue49/lg_answer49.html">fixed now</A>.
-Ed.
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 06 Jan 2000 16:41:01 -0500
<BR>From: Anderson Silva <<A HREF="mailto:afsilva@liberty.edu">afsilva@liberty.edu></A>
<BR>Subject: [Fwd: type, tepy, tpey, ytep, type...]
<P> There is a mistake in the Developing Web Application Article (Jan 2000).
<P> AS
<P> -------- Original Message --------
<P> Content-Transfer-Encoding: 7bit
<P> "...how to create your won guest book..."
<P> And if there are two thousand people pounding away in it then we'll have
a won ton guest book.
<BLOCKQUOTE> <EM>
[Fixed. Do I get a fortune cookie? -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 11 Jan 2000 23:02:40 +0100
<BR>From: Reinhold Baldauf <<A HREF="mailto:rbaldauf@nikoma.de">rbaldauf@nikoma.de></A>
<BR>Subject: Abo
<P> Hi out there,
please tell me, how i can get the gazette regularly - i'm living in
germany
Kind regards
<BLOCKQUOTE> <EM>
[Linux Gazette comes out the first day of each month at www.linuxgazette.com
and its mirrors, including four in Germany. Please see
<A HREF="http://www.linuxgazette.com/mirrors.html">
www.linuxgazette.com/mirrors.html</A> and
<A HREF="http://www.linuxgazette.com/lg_faq.html">
www.linuxgazette.com/lg_faq.html</A> -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 12 Jan 2000 09:25:33 -0800
<BR>From: Marjorie Richardson <<A HREF="mailto:mlr@ssc.com">mlr@ssc.com></A>
<BR>Subject: SuSE reseller not playing fair in Uruguay
<P> From comp.os.linux.announce:
<P> <A HREF="http://www.linuxstart.com/~rodolfo/openletter.html">
http://www.linuxstart.com/~rodolfo/openletter.html</A>
<P> These pages are a open letter to the Linux Community signed by a
group of users to show the problems that they are living with the name
LINUX in Uruguay.
<P> Uruguayan SuSE reseller wish to obtain exclusive rights on the
LINUX name
<P> With No. 316.081 of August 30, 1999 has been filed before the
Uruguayan Trademark Office a trademark application for registration of
the LINUX name to International class 42 (computer related services).
This application has been filed by Mr. Francisco Pereira and Mr.
Enrique Place de Cuadro, addressed at 1207 Pedro Berro Street, Esc.
603, of Montevideo, Uruguay. In accordance with the official
publication from the Industrial Property Bulletin No. 6 of December
1999.
Mr. Pereira and Place are part of the firm called LinuxTECH who is
the reseller of the SuSE Linux distribution for Uruguay.
This is a improper proceeding by somebody to obtain exclusive rights
over the LINUX name through the known way to register the trademark in
the own name.
Since Mr. Pereira and Mr. Place have started their activity in
Uruguay with LinuxTECH company they have not stopped to looking for
seize exclusive commercialization of Linux in Uruguay:
<P> Firstly, they obtain the exclusive representation to sell SuSE
distribution, with which they prevented that anybody can import SuSE
Linux, as several people of the Uruguayan community came doing. This
has been resisted by some users who, by means of protest, have
obtained that German SuSE send the new distritutions directly to them.
Immediately they created its own company calling with a copy of the
wellknown Suisse company LINUXTECH. Of course, they also filed their
own trademark application LINUXTECH under No. 316.082 saying thath the
name LINUXTECH is of their own property.
Into their commercial name they do not doubt to place the word
LINUX (LinuxTECH). Without any doubt the use of the world LINUX in
the commercial name allows they to rise to the prestige that enjoys
LINUX in the market, taking advantage of the freedom that enjoys LINUX
for its generalized use. (Nobody would be happend to initiate a
computer company called MicrosofTECH of WindowsTECH, seeing that
without doubts it would have legal troubles).
Afterwards, they register under the .uy DNS the domain
www.linux.com.uy, being in the knowledge that the Uruguay Linux User
Group have and use the domain www.linux.org.uy since 1997. With this
action Mr. Pereira and Mr. Place want to "capture" the unprepared
internaut who looking to accede to the UYLUG site falls in their
pages.
Finally, they try to make official the deffinitive apropriation of
the LINUX name appling the registration in their behalf.
<P> The Uruguay Linux User Group -UYLUG- through representatives of
their Board of Directors has tried to dialog with Mr. Pereira and
Place to obtain at least the withdrawal to their improper application
of registration but without any doubt, it is facing people which use
aggressive commercial tactics and do not know the opening principles,
cooperation and solidarity that exist into the Linux community.
<P> From already the Uruguay Linux User Group will take ahead all the
legal and out-legal actions to obtain these two people do not see made
the LINUX name total control.
<P> Montevideo, January 6,2000
<P> Signed by:
<P> Pablo Boix, Federico Gamio, Heber Godoy, Manuel Perez, Rodolfo
Pilas, Andres Tarallo
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 15 Jan 2000 21:13:28 -0700
<BR>From: Warren Young <<A HREF="mailto:tangent@cyberport.com">tangent@cyberport.com></A>
<BR>Subject: More history!
<P> I <STRONG>really</STRONG> enjoyed the "history of rm and rmdir" article in
your January issue. More, more!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 17 Jan 100 13:55:38 GMT
<BR>From: <<A HREF="mailto:jgomsi@apolo.umh.es">jgomsi@apolo.umh.es></A>
<BR>Subject: issue49.html not loading
<P> Hi,
<P> I just want to say that from home with my 56K modem I can't load
the html_in_a_file Linuxgazette (Not Explorer neither Navigator).
<P> But here at university I can do it from a fast
mirror.
<BLOCKQUOTE> <EM>
[A few people have experienced this. The cause is not known. What happens if
you use another mirror? -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 00:55:05 -0600
<BR>From: PJ Wessel <<A HREF="mailto:ibi@greencis.net">ibi@greencis.net></A>
<BR>Subject: To The Editor
<P> Dear Editor,
<P> I recently wrote an article, The Penguin and Me, which appeared in the
January Issue of Linux Gazette. I am thrilled at the response from your
dedicated readers, but feel I must reply publicly to some misconceptions
on my part that proved to be incorrect.
<P> First and formost I must make clear that my experiences, although very
limited, are with the Linux-Mandrake 6.0 distro only. I have no
experience with or personal knowledge of any other Linux distribution.
<P> Linux-Mandrake, 6.0 is compiled for Pentium machines. It will not run
under 386 or 486 machines. However, early versions of Mandrake such as
5.3 which was optimized for the Pentium processor should run very well.
Thanks to Civileme, of the Mandrake "Expert" group, I now understand
that other distributions may vary, and, many of them are compatible with
the 386 and 486 processors.
<P> Linux does not support all dual processor motherboards. However, all
motherboards should support dual-boot systems.
<P> I apologize for any inconvenience my comments may have caused.
<P> Thank you for the opportunity to apolgize to the Linux community, to the
gentle readers who have generously given their time to comment, and to
the publisher of Linux Gazette.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 10:54:39 +0100 (CET)
<BR>From: Dipl.-Stat. Detlef Steuer <<A HREF="mailto:steuer@statistik.uni-dortmund.de">steuer@statistik.uni-dortmund.de></A>
<BR>Subject: January 2000: The Hunger Site
<P> Thank you very much especially for the link
to the hunger site!
<P> PS: I like the Gazette, too :-)
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.
Copyright © 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table cellpadding=7><tr><td>
<IMG SRC="../gx/bytes.gif" border=1 ALT="News Bytes">
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#distro">Distro News</A>
<li><a HREF="#general">News in General</a>
<li><a HREF="#software">Software Announcements</a>
</ul>
</td></tr></table>
</center>
<P> <hr> <P>
<!-- =================================================================== -->
<center><IMG ALT=" " SRC="gx/cover70.jpg" WIDTH=200 HEIGHT=268></center>
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<font color="green">
February 2000 <I>Linux Journal</I>
</font>
</H3>
<P>
The February issue of <A HREF="http://www.linuxjournal.com/"><I>Linux
Journal</I></A> is on the newsstands now.
This issue focuses on Linux on the desktop.
<P> <I>Linux Journal</I> has articles that appear "Strictly On-Line".
Check out the Table of Contents at
<A HREF="http://www.linuxjournal.com/issue70/index.html">
http://www.linuxjournal.com/issue70/index.html</A> for articles in
this issue as well as links to the on-line articles.
To subscribe to <I>Linux Journal</I>, go to <A
HREF="http://www.linuxjournal.com/subscribe/index.html">
http://www.linuxjournal.com/subscribe/index.html</A>.
<P>
<font color="green">
For Subcribers Only</font>: <I>Linux Journal</I> archives are available
on-line at
<A HREF="http://interactive.linuxjournal.com">
http://interactive.linuxjournal.com/</A>
<a name="distro"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="green">Distro News</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Best
</FONT>
</H3>
<P> Technology Center Hermia, Tampere, Finland - December 28, 1999
<P> SOT, publisher of the #1 Linux in Finland - the home country of
Linux and Linus - today released the beta version of their
Best Linux operating system to English-speaking users around
the globe.
<P> "We now have over 3300 registered T-1 beta testers. They will
be providing us important feedback, suggesting new features
and testing the product thoroughly. I believe that this beta
release is more stable and has better hardware support than
any of the final distributions currently available." said
Santeri Kannisto, CEO, SOT. "Happy Y2K!"
<P> The English beta version is called Best Linux T-1. SOT will
start shipping the CD-ROMs free-of-charge to registered beta
testers this week. A ready-to-burn iso image is also available
for those who don't want to wait for snail mail. Direct links
to the image and additional information are available at
the Best Linux web site, http://bestlinux.net
<P> SOT will also distribute CDs from its offices in Tampere,
Helsinki and Tallinn. Detailed contact information is available
at <A HREF="http://www.sot.com">http://www.sot.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Caldera
</FONT>
</H3>
<P> As part of its "Linux for eBusiness" strategy,
Caldera Systems, Inc. has announced that its
soon-to-be introduced OpenLinux eServer will
ship with IBM open-source e-commerce products...
<A HREF="http://www.ecommercetimes.com/news/articles2000/000124-8.shtml">
http://www.ecommercetimes.com/news/articles2000/000124-8.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Corel
</FONT>
</H3>
<P> Ottawa, Ontario - January 18, 2000 - Corel Corporation today announced it
has entered into an agreement to acquire up to a 30 per cent stake in
OE/ONE.com, a start-up company developing an "Information Appliance" platform
or thin-client Internet Appliance platform.
<P> Founded by former Corel executive Eid Eid this past year, OE/ONE.com has
developed a software tool kit, specifications and an industrial design for
the product, and is currently working with OEMs - including Tier One
consumer electronics manufacturers - to develop the appliance, expected to
hit the market in the sub-US $500 range.
<P> Corel will assist OE/ONE.com in implementing many Corel LINUX features
with the OE/ONE.com software. By leveraging what Corel has done with the
File Manager, Browser, Control Center and GUI (graphical user interface),
OE/ONE.com can bring ease-of-use at the screen and display level to the
Information Appliance while running on Linux's stability and performance. At
the same time, Corel will develop a scaled-down version of the Corel LINUX
OS optimized for specific devices and applications.
<P> Corel has also released WordPerfect Office 2000 Beta for Linux
on its online beta testing sites.
<A HREF="http://www.ecommercetimes.com/news/articles2000/000131-1.shtml">
http://www.ecommercetimes.com/news/articles2000/000131-1.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Mandrake
</FONT>
</H3>
<P> Linux-Mandrake 7.0 (Air) has been released.
<A HREF="http://www.linux-mandrake.com">http://www.linux-mandrake.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Red Hat
</FONT>
</H3>
<P> Red Hat announced
this week that it has begun shipping a new version of its
Linux OS for Compaq Alpha computer systems...
<A HREF="http://www.ecommercetimes.com/news/articles2000/000113-5.shtml">http://www.ecommercetimes.com/news/articles2000/000113-5.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">SuSE
</FONT>
</H3>
<P> San Francisco, CA - January 4, 2000 - SuSE is announcing the availability
of a beta-quality version of SuSE Linux 6.3 for the Macintosh PowerPC at
MacWorld in San Francisco. The sales release of SuSE Linux for Power PC is
planned for this spring. Offering SuSE Linux on PowerPC supports SuSE's
strategy of cross-platform availability.
<P> Nuremberg, 17th January 2000 -- SuSE Linux AG, one of the leading Linux
specialists worldwide, is continuing to expand its support services. The
opening of a new support center in Bremen is directly connected to the
worldwide success of SuSE Linux AG's existing support services. The
declared aim of SuSE Linux AG is to continue with this success, and to
meet the continually growing demand in the area of support services for
Linux.
The Support Center in Bremen will begin operating on February 15, 2000.
<P> Langenhagen/Nuremberg, Germany - 19 January 2000 - SuSE has teamed up
with Minolta to facilitate printer support. The resultant benefits are
significant. Linux users can now enjoy high-quality output from the
Minolta PagePro 8, 18 and 25 monochrome laser printers. The recently
launched Version 6.3 of SuSE Linux features a driver utility that also
includes installation support for the PagePro 8, 18 and 25 printers. In
practical terms, this means that these Minolta printers will be visible
and selectable in the Linux user's windows and functions such as paper
trays, mail bins, etc., will also be easily selectable - an important
consideration for printers with hundreds of individually customizable
configurations. Another practical advantage is that Minolta has just
launched an extended version of its network management utility, PageScope,
to make life easier for Linux network administrators.
<a name="general"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="green">News in General</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<A NAME="transmeta"></A>
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Transmeta secrecy lifted
</FONT>
</H3>
<P> Transmeta, the company that employs Linus Torvalds, has finally let the
world in on what it has been working on. On January 19, Transmeta announced
a line of Crusoe CPUs. These chips utilize Code Morphing (TM) software to
emulate other CPUs (most notably, Intel x86)--this is the part Linus was
working on.
<P> Transmeta is also creating a Linux distribution called Mobile Linux for
computers without hard disks, with enhancements in the areas of power
management and efficient memory use. The distribution will not be sold to
the public, however. Instead, it will be offered to OEMs so that they can
have an operating system to go with their new chip. Transmeta promises to
release Mobile Linux as open-source software.
<P> The information above was gathered from Transmeta's web pages
<A HREF="http://www.transmeta.com">www.transmeta.com</A> (also known as
<A HREF="http://www.crusoe.com">www.crusoe.com</A>), and especially from
the FAQ
<A HREF="http://www.transmeta.com/about/faq.html">
http://www.transmeta.com/about/faq.html</A>.
<P> Analyses from the industry:
<UL>
<LI> <A HREF="http://www.zdnet.com/zdtv/zdtvnews/features/story/0,3685,2119139,00.html">
Transmeta's Mystery Unveiled</A>
<LI> <A HREF="http://www.linuxjournal.com/articles/business/030.html">
Transmeta: So Now We Know</A>
<LI> <A HREF="http://www.linuxjournal.com/articles/conversations/012.html">
Studly Work: Talking Transmeta with Linus Torvalds</A>
<BR><EM>Includes a discussion by Linus on what exactly is in Mobile Linux.</EM>
</UL>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux curriculum begins today in Utah Public Schools
</FONT>
</H3>
<H4>DATC press release--</H4>
<P> I am proud to announce what I believe to be the first ever Linux-based
class to be held in any public school. Today begins the start of Linux'
inroads into the mainstream educational arena here at the Davis Applied
Technology Center (http://www.datc.tec.ut.us) .
<P> The class itself, Introduction to GNU/Linux, is a course designed for
people who have had some experience in computers, but do not know what
Linux is, or how it operates. It does require some hands-on experience
with computers, but only to make sure that students understand basic
hardware and software concepts. It is also the fruit of a survey
question asked of the Linux community in October's issue of the Linux
Gazette (http://www.linuxgazette.com/)
<P> This coursework (version 0.99) is currently in the process of gaining
distribution approval by the Utah Attorney General's office, so that it
can be posted in whole to the Linux Documentation Project. (This is
because the State of Utah holds the ultimate copyright - I forsee no
problems in gaining approval, however.) Once the curriculum is posted,
it will be distributed under the auspices of Open Documentation, which
means that it can be distributed and used much like Open Sourced
software. A full declaration and conditions sheet is included in the
document concerning the use and distribution of this curriculum.
<P> The curriculum can be used as a self-paced/self-study guide (as is our
normal mode of classwork here at DATC) or you can just as easily use it
as an instructor's guide on the secondary educational level. I would
also encourage those teaching undergrad-level college or technical
courses to make full use of this document, once it is posted on the LDP.
<P> I actively encourage all public school instructors to use this guide,
and especially encourage all interested parties (be they teachers,
students, or simply IT sysadmins) to feel more than free to mail me with
constructive criticisms, suggestions for addition to this coursework, or
even technical corrections. (Although I have tested all of the labs and
coursework here, there may be some things I still may have missed.) Any
questions about the course in general can be directed to me at
tjmiller@datc.tec.ut.us As an aside, I am also actively working to add
Sair Inc. Linux certification (http://www.linuxcertification.com) to the
list of courses as well, since DATC also offers Novell, Cisco, and
Microsoft MCP/MCSE courses.
<P> My goal in writing this curriculum is simple: To bring Linux out of the
back offices and hobbyists' desktops, and into the minds (and the
hearts) of IT's future - the Comp Sci students of today. I find that the
schools are where students discover and incorporate their loves and
hates of the computer industry, and the sooner they can get started on
learning the mysteries of Linux, the greater the benefits to the
GNU/Linux movement in general.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">"Open-source" Books
</FONT>
</H3>
<P> <A HREF="http://forums.oreilly.com/~publishing">
http://forums.oreilly.com/~publishing</A>
<P> The groundswell of Open Source, or free software, technologies has
created a sea change in commercial book publishing. Several
publishers, including O'Reilly & Associates, have started offering
books under various open-content licenses so that they can be freely
displayed on Internet sites, distributed with software on CD-ROMs,
taken apart to be used for course handouts, and in some cases
printed by other people besides the original publisher. As
revolutionary for the publishing industry as this distribution
mechanism is, some projects go even further to work directly with
the developers of Open Source projects. We are likely to see the
integration of professionally edited and produced documentation into
the model of Open Source development over the next few years.
<P> Having recently finished one project myself under an open-content
license -- Using Samba -- and having started work on several other
such projects, I'd like to invite all interested persons to a
discussion on how the Open Source community and professional
publishers can
<P> 1. Involve developers of open source software more directly in the
development of high-quality guides and other
professionally-edited content.
<P> 2. Find the development models for open documents that work well
with the successful models used for open-source software.
<P> There are many angles to consider -- quality control, Internet-time
release schedules, the big-picture thinking required to keep the
book's balance and structure strong during updates, risks and
benefits of forking, adequate compensation for writers and
publishers, dealing with the natural tendency to want to hide work
in progress with competitive publishers -- so take your pick and
give us a thoughtful post!
<P>
-Andy Oram, Editor, O'Reilly & Associates, Inc.<BR>
<A HREF="mailto:andyo@oreilly.com">andyo@oreilly.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linsight launches
</FONT>
</H3>
<P>
Linsight is the professional approach toward providing a single and complete information resource for Linux. By providing resources for interested readers, Linsight will advocate Linux to an entirely new audience and raise awareness of the operating system to new markets. The need for a complete Linux information resource will be met, and Linsight stands ready to accomplish this goal.
<P>
Phase 1 of Linsight, launched today, is comprised of two resources:
<P><B>LinEvents:</B>
<P> <P> LinEvents (<A HREF="http://linevents.com/">http://linevents.com</A>)
exists to make information pertaining to upcoming events that are related
to Linux and Free Software/Open Source accessible.
<P> <P> LinEvents has been created to achieve the following goals:
<P> <P>
<OL>
<LI>To provide a single and authoritative resource of all upcoming events, both geographically limited and world-wide.
<LI>To assist interested Linux users in finding local Linux user groups.
<LI>To assist interested Linux users in making informed decisions about upcoming events, and their importance to the community.
<LI>To provide additional content for LinTraining through an upcoming workshop listings directory.
<LI>To assist non-United States markets in locating geographically local events.
</OL>
<P> <P> <B>LinTraining</B>:
<P> <P> LinTraining (<A
HREF="http://lintraining.com/">http://lintraining.com</A>) exists to make
information pertaining to Linux training and certification accessible.
<P> <P> LinTraining has been created to achieve the following goals:
<P> <P>
<OL>
<LI>To provide a resource where interested individuals can easily locate available Linux training resources.
<LI>To publicize the classes that are provided by Linux training centers.
<LI>To provide resources for training centers who want to start teaching Linux classes.
<LI>To encourage courseware publishers by proving that there is a market for Linux courseware material.
<LI>To promote the ongoing efforts to create a Linux certification program.
</OL>
<P> <P> Linsight (<A HREF="http://linsight.com/">http://linsight.com/</A>) is
founded by Dave Whitinger, co-founder of Linux Today, and is wholly owned
by Atipa Corporation.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">IDG/Linus Torvalds Community Award
</FONT>
</H3>
<P> Framingham, Mass. - January 3, 2000 - IDG World Expo today announced that The XFree86 Project, Inc. is the recipient of the February 2000 IDG/Linus Torvalds Community Award. IDG Chairman and Founder, Patrick J. McGovern and Linux creator Linus Torvalds will present the $25,000 award at LinuxWorld Conference & Expo, following Torvalds' keynote address on Wednesday, February 2, 2000 at the Jacob Javits Center, New York City, NY.
<P> "The XFree86 Project embodies the essence of the free software movement," said Charlie Greco, IDG World Expo president and CEO. "Their work on the upcoming release of Xfree86 with Linux vendors like SuSE, VA Linux Systems and Red Hat ensures Linux compatibility with future releases of Xfree86."
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Software Carpentry's Open Source design competition
</FONT>
</H3>
The aim of the <a href="http://www.software-carpentry.com">Software
Carpentry</a> project is to create a new generation of easy-to-use
software engineering tools, and to document both those tools
and the working practices they are meant to support.
The <a href="http://www.acl.lanl.gov">Advanced Computing
Laboratory</a> at <a href="http://acl.lanl.gov">Los Alamos
National Laboratory</a> is providing $860,000 of funding for
<a href="http://www.software-carpentry.com">Software Carpentry</a>,
which is being administered
by <a href="http://www.codesourcery.com">Code Sourcery, LLC</a>.
All of the project's designs, tools, test suites, and documentation
will be generally available under the terms of an Open Source
<a href="http://www.software-carpentry.com/license.html">license</a>.
<p> The first stage of the <a
href="http://www.software-carpentry.com">Software Carpentry</a> project
is a <a href="http://www.software-carpentry.com/contest-rules.html">design competition</a>,
with $100,000 in prizes for entries in four categories:
<ul>
<li>
a dependency management and program reconstruction tool to to supercede
<a href="http://www.gnu.org/software/make/make.html"><tt>make</tt></a>;
</li>
<li>
a platform investigation and project reconfiguration tool to supercede
<a href="http://sourceware.cygnus.com/autoconf"><tt>autoconf</tt></a>;
</li>
<li>
a testing framework to replace tools such as
<a href="http://www.xprogramming.com/software.htm"><tt>XUnit</tt></a>,
<a href="http://expect.nist.gov/"><tt>Expect</tt></a>,
and
<a href="http://www.gnu.org/software/dejagnu/dejagnu.html"><tt>DejaGnu</tt></a>;
and
</li>
<li>
an issue tracking system to supercede
<a href="http://sourceware.cygnus.com/gnats"><tt>gnats</tt></a>
and
<a href="http://bugzilla.mozilla.org"><tt>bugzilla</tt></a>.
</li>
</ul>
<p> Entries will be published on the web, along with the judging
panel's comments, in order to encourage discussion, and provide
examples of good practice for the community at large.
<p> Once winners have been announced, the project will provide
$200,000 for implementation, review, testing, and documentation. All
tools will be required to run on both Linux and Microsoft
Windows NT, and to be implemented primarily in, or scriptable
with, <a href="http://www.python.org">Python</a>.
<P> For more information, please see the Software Carpentry web page
(<A HREF="http://www.software-carpentry.com">www.software-carpentry.com</A>).
<P> Greg Wilson
gvwilson@nevex.com
(416) 593 2428
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Wave Technologies acquires Sair
</FONT>
</H3>
<P> ST. LOUIS, January 11, 2000--
Wave Technologies International, Inc.
(<A HREF="http://www.wavetech.com">www.wavetech.com</A>),
has acquired Sair, Inc. (<A
HREF="http://www.linuxcertification.com">www.linuxcertification.com</A>). Sair
develops comprehensive vendor-neutral Linux training materials and is the
architect of the Sair Linux & GNU Certification and its associated exams.
Terms of the agreement were not disclosed.
<P> Wave intends to continue a separate Sair Linux & GNU subsidiary that will
promote and market Linux training and certification programs. The combined
organizations will pursue four major strategic initiatives consisting of:
<P> 1. Original Equipment Manufacturer (OEM) sales of training materials. The companies have disclosed existing development agreements with Compaq, Linuxcare, Caldera(r) and others.
<P> 2. Certification Exams. Wave's strategic focus has been on IT
certification, and Wave plans to support and continue to expand its
certification programs including boot camps currently delivered for individuals
pursuing the Linux Professional Institute certification, the Red Hat(
Certified Engineer designation and the Sair Linux & GNU Certification.
<P> 3. Boot Camp Programs. Wave currently offers intensive integrated training
programs that provide self study, Internet-based training and intensive live
labs targeted at major certifications. Wave and its global network of
independent distributors plan to expand Linux certification training programs.
<P> 4. Publishing and Distribution. The company plans to expand its
distribution of courseware under Sair's existing Authorized Centers for
Education (ACE) program and to leverage Wave's existing global distribution
network for expanded training sales and distribution.
<P> Founded in 1992, Sair is a leading provider of live Linux certification
exams. The Sair Linux & GNU Certification is comprised of three levels, each
containing four exams. Sair has a contract with Sylvan Prometric for delivery
of the 12 Sair Linux & GNU exams, making them available to more than 140
countries. To date, four exams have been submitted to Sylvan for delivery. The
three levels of certification include: Level I- Sair Linux & GNU Certified
Administrator (LCA); Level II-Sair Linux & GNU Certified Engineer (LCE); and
Level III-Master Sair Linux & GNU Certified Engineer (MLCE).
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linuxnerds certification test wants contributions
</FONT>
</H3>
<P> <A HREF="http://Linuxnerds.com">Linuxnerds.com</A> is attempting to
assemble a comprehensive Linux certification test. This test would be issued
over the web at no cost the Linux community. At this time we at Linuxnerds.com
would like to request contributions in the form of question and answer for
inclusion. People whose questions are included will be given credit for them.
Questions should be submitted to Questions@Linuxnerds.com in essay form and
elicit an explanation not true/false or multiple choice. On 1/30/2000 we
hopefully, as a community, will sort through the contributions and post a draft
certification test by 2/15/2000 with a final copy posted by 3/1/2000. Comments
and questions concerning this announcement should be sent to <A
HREF="mailto:Nerd@Linuxnerds.com">Nerd@Linuxnerds.com</A>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Colorado Linux Info Quest conference
</FONT>
</H3>
<P> Denver, CO (Jan 17, 2000) -- In response to the tremendous growth of Linux
over the past few years, Colorado Linux Info Quest (CLIQ) is proud to announce
the first ever Linux conference and exhibit to be held along the Colorado
Front Range, Saturday, April 1st, 2000 at the Denver Tech Center Marriott.
<P> CLIQ, in association with local Linux user groups and local and regional
Linux business sponsors, will be holding a one day event featuring a full days
schedule of Linux exhibits, invited talks, real world demonstrations and Birds
of a Feather sessions.
<P> Vendors and visitors should check the CLIQ web site, http://thecliq.org,
often for more up to date information.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Embedded Linux Polls from LinuxDevices.com
</FONT>
</H3>
<P> PALO ALTO, CA., December 12, 1999 -- LinuxDevices.com, the popular
embedded Linux portal, today launched the web's first automated
Embedded Linux Polls center. The online polls will track developer
and user trends and preferences in the hot emerging market for Linux
in non-desktop "embedded" system applications. These are non-desktop
applications for computers where the device is not itself considered
a computer, such as ATM machines, internet kiosks, industrial process
control, medical instruments, and telecommunications devices.
<P> "In contrast to the desktop PC domain" says LinuxDevices.com founder
Rick Lehrbaum, "Microsoft doesn't dominate the embedded space."
"The big players, here, have until recently been Wind River Systems
(VxWorks), Microtec (VRTX), Microware (OS9), QNX Software Systems
(QNX OS), and Lynx Real-time Systems (LynxOS)," adds Lehrbaum.
<P> "Although over the past year, Microsoft has made a strong play for
the embedded space with a dual -- though somewhat confused -- approach
consisting of both Windows CE and Windows NT Embedded, most embedded
developers are wary of designing a Microsoft desktop or palmtop
operating system into small footprint or real-time embedded applications
where performance and reliability are paramount," continues Lehrbaum.
"Against this backdrop, the ability of developers to tune and customize
Linux, in combination with its well known robustness, has made Linux
a growing alternative to both the Microsoft Windows OSes and the
traditional proprietary RTOSes," concludes Lehrbaum.
<P> Through its new Embedded Linux Polls function, LinuxDevices.com intends
to measure and characterize current and future preferences and trends of
embedded system developers. Like Linux itself, the polls data collected
by LinuxDevices.com will be fully available for all to review once
each weekly poll has closed. A new poll will be held each week, with the
results of past polls readily available for inspection. Users and
prospective users of Linux in embedded applications are encouraged
to participate in the polls, which can be found at
http://www.linuxdevices.com/polls. Companies or developers are also
invited to submit proposed poll questions to LinuxDevices.com via email,
at polls@linuxdevices.com.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Links
</FONT>
</H3>
<P> <A HREF="http://pegasus.rutgers.edu/~elflord/font_howto/">
Linux font HOWTO</A> (from C.O.L.A.)
<P> <A HREF="http://www.inux.com">iNUX inc.</A> sells Linux desktop computers
"distinguished by the stunning and interactive 3D graphics of our intuitive
user interface. Upon system start-up, users are presented with comfortable
access to ten, instead of just one, computer desktops."
<P> <A HREF="http://myfreedesk.com">MyFreeDesk.com</A> offers a suite of office
applications run directly on their web site.
<P> <A HREF="http://www.sasi.com">Linux-based DSL modem</A>. (Silicon Automation
Systems Limited)
<P> <A HREF="http://www.linuxlinks.com">LinuxLinks</A> reached just over 8,000
verified LinuxLinks after the new Millennium. This represents a rapid increase
in the number of new links entered into database per month and further
demonstrates the continuing expansion of quality websites on the net covering
Linux.
<P> <A HREF="http://www.linuxnetmag.de/en/">LinuxNetMag</A> is a Linux ezine
published in German and English.
<P> The <A HREF="http://www.lpi.org">Linux Professional Institute</A> has
released the first exam in its Linux certification program.
<P> <A HREF="http://linuxdevices.com/cgi-bin/article_view.cgi?artid=AT7351624613">
Interview with Red Hat CTO Michael Tiemann</A>
<P> <A HREF="http://gettux.com">GetTux.com</A> offers SubX: HowTo Edition, a
monthly CD-ROM containing Linux HOWTOs and kernel updates. The cost is US$10
per month. A portion of each subscription cost will be donated to the Linux
Documentation Project.
<P> <A HREF="http://www.linu-x.com">www.linu-x.com</A> is a Linux
news/download portal.
<a name="software"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="green">Software Announcements</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">C.O.L.A software news
</FONT>
</H3>
<P> <A HREF="http://pysol.tsx.org">PySol 3.30</A> now contains 160 solitaire
games.
It even has its own <A HREF="http://www.geekcomix.com/si/fall99/10-23.html">
comic strip episode</A>.
<P> <A HREF="http://home.zf.jcu.cz/~zakkr/kim/">kim</A> is an interactive
user-friendly process manager. It looks similar to Midnight Commander.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Other software
</FONT>
</H3>
<P> <A HREF="http://www.ibss.net">Integrated Business Systems & Services,
Inc.</A> has certified Synapse Manufacturing and Synapse EAI+ for Linux.
<P> <A HREF="http://www.cygnus.com">Cygnus</A>, which recently merged with
Red Hat, announced a software development environment for
Nintendo's Game Boy Advance video game system.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.
Copyright © 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H3>Contents:</H3>
<p><a href="#tag/greeting"
><img src="../gx/dennis/bbub.gif" alt="(!)" border="0"
align="middle"><strong>Greetings From Jim Dennis</strong></A></p>
<DL>
<!-- index_text begins -->
<dt><A HREF="#tag/1"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>DNS ports... --or--
<dd><A HREF="#tag/1"
><strong>DNS Ports: A bit about Name Resolution Protocols</strong></a>
<dt><A HREF="#tag/2"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Seagate SCSI tape problem --or--
<dd><A HREF="#tag/2"
><strong>Tape Drive Errors</strong></a>
<dt><A HREF="#tag/3"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>DAT --or--
<dd><A HREF="#tag/3"
><strong>Drivers for SCSI/DAT Tape Drives</strong></a>
<dt><A HREF="#tag/4"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux password lost --or--
<dd><A HREF="#tag/4"
><strong>Lost Password</strong></a>
<dt><A HREF="#tag/5"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>WUFTP and authentication --or--
<dd><A HREF="#tag/5"
><strong>When AUTH is ident, not Authentication</strong></a>
<dt><A HREF="#tag/6"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux box as a router: Kewl! --or--
<dd><A HREF="#tag/6"
><strong>How do you say "Dial on Demand"</strong></a>
<dt><A HREF="#tag/7"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>ans guy ? --or--
<dd><A HREF="#tag/7"
><strong>Looking for ...</strong></a>
<br>TAG, we're it.
<dt><A HREF="#tag/8"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>+routing -masquerading --or--
<dd><A HREF="#tag/8"
><strong>Hello Routing, Goodbye Masquerading</strong></a>
<dt><A HREF="#tag/9"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>January Answer Guy: "Can't See Ethernet Card" --or--
<dd><A HREF="#tag/9"
><strong>More on Linksys Ether16 Cards</strong></a>
<dt><A HREF="#tag/10"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>stty parity, LG Issue 48 AG item --or--
<dd><A HREF="#tag/10"
><strong>Clarification/Correction: stty -parenb</strong></a>
<dt><A HREF="#tag/11"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>radio receiver for serial port use; Published in Linux Gazette
--or--
<dd><A HREF="#tag/11"
><strong>Radio Time Source with Serial Interface</strong></a>
<dt><A HREF="#tag/13"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
><strong>Id "x" respawning</strong></a>
<dt><A HREF="#tag/14"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Outlook Clients Fail to find Mail Host</strong></a>
<dt><A HREF="#tag/15"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>LG49 Mailz --or--
<dd><A HREF="#tag/15"
><strong>Answer Guy Debunks Time Machine Myth for Y2K</strong></a>
<dt><A HREF="#tag/16"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Reveal Sound Card --or--
<dd><A HREF="#tag/16"
><strong>Call Microsoft</strong></a>
<dt><A HREF="#tag/17"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Question --or--
<dd><A HREF="#tag/17"
><strong>LILO for Loading "Other" OS': Setting the Default Boot Stanza</strong></a>
<dt><A HREF="#tag/18"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>KVM switch --or--
<dd><A HREF="#tag/18"
><strong>KVM Switches: All are NOT Created Equal</strong></a>
<dt><A HREF="#tag/19"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Changing distributions, fstab and labels --or--
<dd><A HREF="#tag/19"
><strong>More on Maximal Mount Counts & Volume Labels and UUIDs</strong></a>
<dt><A HREF="#tag/20"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Netscape Messenger --or--
<dd><A HREF="#tag/20"
><strong>Netscape 4.7 as a POP Client</strong></a>
<dt><A HREF="#tag/21"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux 6.0 NTPd question --or--
<dd><A HREF="#tag/21"
><strong>error: Interrupted system call</strong></a>
<dt><A HREF="#tag/22"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>233mhz to 450mhz --or--
<dd><A HREF="#tag/22"
><strong>Overclocking a Motherboard? 233Mhz to 450Hmz?</strong></a>
<dt><A HREF="#tag/23"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>LiLo --or--
<dd><A HREF="#tag/23"
><strong>Fixing a lilo.conf After the Fact</strong></a>
<dt><A HREF="#tag/24"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Here's a good question for you... --or--
<dd><A HREF="#tag/24"
><strong>CRC Error -- System Halted --</strong></a>
<dt><A HREF="#tag/26"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>holy linux --or--
<dd><A HREF="#tag/26"
><strong>Out of the Blue Strategic Advice for Red Hat</strong></a>
<dt><A HREF="#tag/27"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>"harden" Linux DNS server --or--
<dd><A HREF="#tag/27"
><strong>"Hardening" a Red Hat (into a Helmet?)</strong></a>
<dt><A HREF="#tag/28"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Question --or--
<dd><A HREF="#tag/28"
><strong>Virtual Mail Hosting in a Single Inbox</strong></a>
<dt><A HREF="#tag/29"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Foxbase --or--
<dd><A HREF="#tag/29"
><strong>Out-"Fox"-ing the Fox?</strong></a>
<dt><A HREF="#tag/30"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Hard drive --or--
<dd><A HREF="#tag/30"
><strong>Adding a Disk</strong></a>
<dt><A HREF="#tag/31"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>How can I view ascii data coming across my serial port? --or--
<dd><A HREF="#tag/31"
><strong>Serial Capture</strong></a>
<dt><A HREF="#tag/32"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Telnet --or--
<dd><A HREF="#tag/32"
><strong>Remote Control through Telnet</strong></a>
<dt><A HREF="#tag/33"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>X Server --or--
<dd><A HREF="#tag/33"
><strong>Jaton 107 Blade 3D and XFree86</strong></a>
<dt><A HREF="#tag/34"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Redirecting stdin on telnet --or--
<dd><A HREF="#tag/34"
><strong>Redirecting stdin into telnet</strong></a>
<dt><A HREF="#tag/36"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>LI --or--
<dd><A HREF="#tag/36"
><strong>New Installation Stops at LI</strong></a>
<dt><A HREF="#tag/37"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Redhat 6.1 and Netscape --or--
<dd><A HREF="#tag/37"
><strong>Netscape can't find ANY of THEM</strong></a>
<dt><A HREF="#tag/38"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Can't Log in as 'root' via telnet</strong></a>
<dt><A HREF="#tag/39"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Exceed & Linux --or--
<dd><A HREF="#tag/39"
><strong>Exceed (MS Windows X Server) and Linux</strong></a>
<dt><A HREF="#tag/40"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>just a question about linux. very puzzling --or--
<dd><A HREF="#tag/40"
><strong>Double Reverse DNS Strikes Again</strong></a>
<dt><A HREF="#tag/41"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Open ports --or--
<dd><A HREF="#tag/41"
><strong>Closing Ports, Disabling Unwanted Services</strong></a>
<dt><A HREF="#tag/42"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Daemons</strong></a>
<dt><A HREF="#tag/43"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Now what? --or--
<dd><A HREF="#tag/43"
><strong>Using a Downloaded .iso Image for System Upgrade</strong></a>
<dt><A HREF="#tag/44"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>maybe you know where I can look --or--
<dd><A HREF="#tag/44"
><strong>Automated Login Around a Challenge Card</strong></a>
<dt><A HREF="#tag/45"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Can you possibly shed some light? --or--
<dd><A HREF="#tag/45"
><strong>Mystery Question</strong></a>
<dt><A HREF="#tag/46"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Idled Daemon on Linux --or--
<dd><A HREF="#tag/46"
><strong>idled RPM for Red Hat</strong></a>
<dt><A HREF="#tag/47"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Monthly Win (Lose) Modem Question</strong></a>
<dt><A HREF="#tag/48"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>IMAP/POP daemon on RH 6.0 and 6.1 --or--
<dd><A HREF="#tag/48"
><strong>Installing a POP Daemon on Red Hat Linux</strong></a>
<!-- index_text ends -->
</DL>
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/greeting"><HR WIDTH="75%" ALIGN="center"></A>
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Greetings from Jim Dennis</H3>
<!-- begin greeting -->
<BLOCKQUOTE>
All,
</BLOCKQUOTE>
<BLOCKQUOTE>
This is going to be a great year for Linux.
</BLOCKQUOTE>
<BLOCKQUOTE>
I was at a Fry's (a chain of computer stores in California and
around the west coast of the U.S.) in Palo Alto a couple of weeks
ago. They had Loki games for Linux at the endcap of one aisle,
boxes of Corel's new Linux distribution at the end of another, and
copies of _Linux_Unleased_ at the end of another. As Heather and I
wandered past the a components wall we heard a customer insisting
that he needed a "100% Linux compatible" motherboard. While I was
browsing the magazines, Heather brought over a store employee who
she heard telling one of his co-workers that he needed to go study
Linux 'cause he was hearing so much about it. When we were in the
check out stand the guy next to us was buying a copy of
<A HREF="http://www.turbolinux.com/">TurboLinux</A>
4.0 and a small stack of books to go with it. (No, I didn't see
copies of my book there yet. Darn!).
</BLOCKQUOTE>
<p><em>[ I brought that employee over to give him my business card, after
answering a handful of his questions. Business is booming for Linux
<a href="http://www.starshine.org/">consulting</a>, too. -- Heather ]
</em></p>
<BLOCKQUOTE>
That was just a short trip to the store to get some party supplies
(hosting some cypherpunks from the RSA conference). We wanted to
special lighting.
</BLOCKQUOTE>
<BLOCKQUOTE>
While we were there we also picked up a couple of little UPS
power strips (CyberPower Systems <A HREF="http://www.cyberpowersystems.com"
>http://www.cyberpowersystems.com</A>)
for a couple of the workstations around the house. These were only
about $70 each and there were the only ones in their price range
that have serial connectors for UPS power management. This wasn't
important for Heather and I, but we figured it would be a nice
feature to play with. I figured that there wasn't much chance for
there to be a Linux driver in the package (there wasn't) but there
might be some freeware already done (there is).
</BLOCKQUOTE>
<BLOCKQUOTE>
The cool thing is that I found the link to the University of
Iowa powstatd (power status daemon)
(<A HREF="http://dollar.biz.uiowa.edu/powstatd"
>http://dollar.biz.uiowa.edu/powstatd</A>).
(The irritating thing is that that was a "JavaScript" driven link
on CyperPower's web site, but they may yet get another helping of
clue). So <tt>powstatd</tt> is available as RPM and
<A HREF="http://www.debian.org/">Debian</A> packages. In fact it's
available as two different Debian packages depending on whether you
need the encryption support that makes it less dangerous to remotely
control the power/shutdown on other systems over your network using
this tool.
</BLOCKQUOTE>
<BLOCKQUOTE>
The gist of this is that the Linux software for this peripheral is
readily available, linked to the manufacturer's web site and that it
probably offers more utility and better security than the included
proprietary software. (Also the fact that Alberto Maria Segre's
<tt>powstatd</tt> package is open source means that our *BSD cousins can
use it and that future operating systems will find it that much easier
to support).
</BLOCKQUOTE>
<p><em>[ Chances are pretty good that FreeBSD's support for Linux binaries
would run it directly. It's probably more important that our
cousins on non-Intel hardware, whether running Linux, *BSD or
something else, will be able to recompile it. -- Heather ]</em></p>
<BLOCKQUOTE>
(I went back to a different Fry's last night and
picked up a copy of "Heroes of Might & Magic III"
for Linux, which was ported by Loki Software
<A HREF="http://www.lokigames.com"
>http://www.lokigames.com</A>. They had Linux copies
of Civilization, Quake III, and Railroad Tycoon.
They also had plush stuffed "Tux" penguins all over the store).
</BLOCKQUOTE>
<BLOCKQUOTE>
To many new Linux users this may not seem remarkable. However,
to those of use who started using Linux back in about '92 it's
pretty incredible.
</BLOCKQUOTE>
<BLOCKQUOTE>
Last month I was looking through Microtimes and Computer
Currents (a couple of freebie local computer "newspapers"
which are almost all advertising for regional computer stores;
they each have SF Bay Area and Los Angeles editions). I noticed
that many (about 25%) of the ads for computers systems now mention
Linux (and <A HREF="http://www.freebsd.org/">FreeBSD</A> in some cases).
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course, some people would hasten that the Silicon Valley isn't
middle america, and Fry's isn't the venue for "Joe Sixpack."
However, it's hard to deny that this is happening in other
places, too. (Linux is particularly popular in other countries,
particularly Europe and Asia). I seem to recall that IDC or
Gartner recently had to revise their estimates of how fast
Linux was growing --- especially on the desktop/client side.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've experienced another indication of Linux growth over the
last few months. When I first started doing the "Answer Guy"
column I received an average of 30 questions a month. Now I
get about 50 per week!
</BLOCKQUOTE>
<BLOCKQUOTE>
(Sorry I can't answer them all. I don't even have
a "fair" or sensible way to pick which questions I
answer. Basically I answer them when I see them
or set them aside and hope for a night when I'm
watching TV and have idle fingers).
</BLOCKQUOTE>
<BLOCKQUOTE>
Some people might complain that "answer guy" mail volume is
not a representative sampling of overall Linux usage. It could
be that I'm getting more popular among the existing Linux userbase.
Who knows. I'm just a sysadmin, support guy and sometimes writer.
</BLOCKQUOTE>
<BLOCKQUOTE>
But this sure looks like a good year to be a Linux geek from
where I'm sitting.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course anyone who wants to look into it for themselves
can point their web browser at <A HREF="http://www.google.com"
>http://www.google.com</A> and
search on the string: "Linux market research" and read what
lots of other people are saying on the subject).
</BLOCKQUOTE>
<BLOCKQUOTE>
Makes me glad that I'm such a "curses curmudgeon." The truth
is that the main reason I chose Linux is because Microsoft was
pushing MS Windows so hard. I don't like GUIs and for a long
time I couldn't afford a monitor that was big enough to
display a reasonable working area (for an environment that insists
on cluttering half of the available space with menus, titles,
scroll bars, status lines, icon ribbons, ruler bars and other
crap that I don't need to see) and that had enough of a refresh
rate to let me work for hours without that exhausting flicker.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, I decided to Learn UNIX so I could still do most of what I
wanted in "text mode" (through a terminal if necessary). I grabbed
a (used) copy of Coherent and played with that enough to do the
basics. From there I started reading the alt.os.linux news group
(just after its split from alt.os.minix, which I also used to
read). Eventually I got access to enough bandwidth to download
my first distribution (SLS). Later I bought my first Linux on a
CD (Yggdrasil).
</BLOCKQUOTE>
<em><P>
[ Although we know what happened to it (others became more popular by
updating faster) I swear I still don't know what happened to its author,
Peter MacDonald. Even the Linux
<A HREF="http://www.kernelnotes.org/pub/linuxhq/raw/kernel.org/2.2.x/CREDITS"
>CREDITS</A> file has no address for him.
</P>
<P>There was an excellent
<A HREF="http://www2.linuxjournal.com/lj-issues/issue2/2755.html"
>article on the early distributions</a> in Linux Journal, Issue 2.
-- Heather ]
</P></em>
<BLOCKQUOTE>
But enough about the past. Now about the future. I don't know
any more about the future than anyone else. However it does
appear that I'll be in New York at the LinuxExpo that'll be going
on there from February 1st through the 4th. My co-authors should
also both be there, so come on my the <A HREF="http://www.linuxcare.com/">Linuxcare</A> booth or hunt me
down in the hallway track or at the BoFs (birds of a feather
meetings).
</BLOCKQUOTE>
<em><p>[ Hey, let's keep that straight. It's
<a href="http://www.linuxworldexpo.com/">LinuxWorld</a> conference and
expo in New York ... they couldn't take the URL "linuxworld" because
<a href="http://www.linuxworld.com/">Linux World magazine</a> already
had it. They did manage to snag "linuxexpo.com", but "linux-expo.com"
leads to
<a href="http://www.linux-expo.com/international/linux-expo/linux-expo.html"
>Linux Expo 2000</a> is in Paris, France, on the 1st through
3rd of February.
</p><p>It's hard to tell, but I think it's the same parent group running
it, so maybe that makes it less wacky that they're on the same
dates (essentially competing with each other). Apparently even
the conference folks agree, there's enough Linuxers to go around.
</P><p>I ask, would it have been too hard to offer "paris.linuxworldexpo.com"
and "newyork.linuxworldexpo.com"? I'm getting really tired of seeing
entire domains squished into the tiny existence of "www" being their
only visible host.
</p><p>And before anybody asks, no. We're NOT going to both shows.
-- Heather ]</p></em>
<BLOCKQUOTE>
Hope to see you all there.
</BLOCKQUOTE>
<!-- end greeting -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/1"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>DNS Ports: A bit about Name Resolution Protocols</H3>
<p><strong>From Matt Harrington on Sun, 02 Jan 2000
on the SAGE (USENIX Sysadmin's Guild) list</strong></p>
<!-- ::
DNS Ports: A bit about Name Resolution Protocols
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
is the following true or false?
</STRONG></P>
<P><STRONG>
a client talks to a nameserver on port 53/tcp. the nameserver
answers back on a random udp port greater than 1023.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It is false. An FAQ that will answer your question
is at:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
<A HREF="http://www.intac.com/~cdp/cptd-faq/section2.html#ports"
>http://www.intac.com/~cdp/cptd-faq/section2.html#ports</A>
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... However, I'll also add some detail here.
</BLOCKQUOTE>
<BLOCKQUOTE>
First point: normal DNS resolution occurs over UDP.
</BLOCKQUOTE>
<BLOCKQUOTE>
The usual sequence for a UNIX client is something like
this:
</BLOCKQUOTE>
<BLOCKQUOTE>
The application executes a call to <TT>"gethostbyname()</TT>"
(a standard library function, which is linked into
the libc on almost any UNIX platform). <TT> gethostbyname()</TT>
in glibc (Linux libc version 6.x) is implemented to
look at the contents of your <TT>/etc/nsswitch.conf</TT> file,
and apply a set of rules from that to load NSS (name
services systems) libraries. Most Linux systems are
configured to use libnsscompat.so --- which uses
NIS/NIS+, DNS and traditional UNIX files (<TT>/etc/hosts</TT>,
<TT>/etc/networks</TT>). You can see all of the NSS libraries
on most Linux systems using the command:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
ls <TT>/lib/libnss*</TT>
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... although you might have to look at the contents of
<TT>/etc/ld.so.conf</TT> for a list of other directories in
which other libnss libraries might exist.
</BLOCKQUOTE>
<BLOCKQUOTE>
Entries in <TT>/etc/nsswitch.conf</TT> will refer to these
libraries (take the basename of the library file and
trim off the "libnss" prefix to relate library name
to the nsswitch.conf keyword).
</BLOCKQUOTE>
<BLOCKQUOTE>
Before I get back to describing the DNS IP protocols
(your question) I'll mention that all this complexity and
redirection is actually useful since it allows an admin
to configure his Linux (or other GNU system) to use
files, DNS, NIS, NIS+, as well as more obscure Hesiod,
and new LDAP and NDS naming/directory services without
having to recompiling any of the standard utilities on
any system.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's also important to realize that the Linux and UNIX
doesn't have any sort of "resolver daemon" nor is this
a function of the kernel (a system call or device driver
or anything like that). This is just a set of libraries
to which almost all other applications are linked.
</BLOCKQUOTE>
<BLOCKQUOTE>
When the system is configured to use DNS (as they
almost all are) then the library functions open and
read the <TT>/etc/resolv.conf</TT> file. This gives a list
of DNS servers to which the resolver will direct its
initial queries.
</BLOCKQUOTE>
<BLOCKQUOTE>
The query will be over UDP, with an arbitrary unprivileged
source port and a destination port of 53 (which is the
DNS query port listed in your <TT>/etc/services</TT> file).
</BLOCKQUOTE>
<BLOCKQUOTE>
The initial response should come from one of the DNS servers
as listed in <TT>/etc/resolv.conf</TT>, and be directed back to
(have a destination port equal to) the source of the query.
The source of the response should also be port 53.
</BLOCKQUOTE>
<BLOCKQUOTE>
Notice that I mentioned "initial" queries and responses.
That's because the DNS protocol allows a server to
refer the client to some other DNS server. Thus there
may be an initial response that amounts to: "I don't
know, go ask ..."
</BLOCKQUOTE>
<BLOCKQUOTE>
Thus the standard packet filtering rules that you're
thinking about require one to allow UDP traffic from
port 53 to any unprivileged port in your domain.
</BLOCKQUOTE>
<BLOCKQUOTE>
Naturally this seems a bit too loose. One approach is
to have the firewall track outstanding DNS requests
maintaining a context state and only permitting responses
back to host/port pairs that have outstanding DNS queries.
This is call "stateful" packet inspection and it is one
of the features that distinguishes a "firewall" from a
simple "packet filter."
</BLOCKQUOTE>
<BLOCKQUOTE>
(Actually I hate to use the term "firewall" because it
is so nebulous. However, I have to simplify a bit or
I can't say anything).
</BLOCKQUOTE>
<BLOCKQUOTE>
A better approach is to configure your caching name
server(s) so they never forward clients to other name
servers. Thus you can have one or more "sacrificial"
caching nameservers on your perimeter network, allow
all DNS traffic to those, and have a set of rules on
the interior router/packet filters that allows all
DNS traffic from those to your hosts.
</BLOCKQUOTE>
<BLOCKQUOTE>
This is the architecture I recommend.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i can't seem to find the answer in various o'reilly books. of
course, someone walked off with the DNS one.
</STRONG></P>
<P><STRONG>
the reason i ask is that i'm trying to write a cisco access list
which blocks all traffic to my subnet. i still want to talk to
the nameservers though, which are on another subnet. note: i
don't even have access to the router. i'm just trying to make it
easy for the overworked network guys to put this filter in place.
</STRONG></P>
<P><STRONG>
DNS only seems to work if the following line is in place...
</STRONG></P>
<Pre><STRONG>
access-list ### permit udp host ip.of.name.server any gt 1023
</STRONG></Pre>
<P><STRONG>
---matt
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You could restrict this to require that the packets
come <EM>from</EM> port 53.
</BLOCKQUOTE>
<BLOCKQUOTE>
Implicitly you are trying to use the architecture that
I've recommended above. You're trying to limit the
DNS traffic that comes into your subnet so that it
all comes from a particular name server.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that this requires that you configure your caching
name server so that it never "forwards" DNS requests
(tells the client to go ask a different server). This
is done by configuring the caching name server with
it's own "forwarders" directive (providing it with a
list of some nearby "better connected" nameservers), and
by using the "slave" directive in BIND 8.x.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that explains it O.K. If not you might consider
posting a more detailed question to "Ask Mr. DNS" at
Acme Byte and Wire (<A HREF="http://www.acmebw.com/askmr.htm"
>http://www.acmebw.com/askmr.htm</A>).
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>DNS Ports: Answers from another Recipient</H3>
<p><strong>Robert Hajime Lanning answered on Sun, 02 Jan 2000
on the SAGE (USENIX Sysadmin's Guild) list</strong></p>
<BLOCKQUOTE>
Hmm. That message was to the SAGE (USENIX Sysadmin's Guild)
(<A HREF="http://www.usenix.org/sage"
>http://www.usenix.org/sage</A>) list, and not to my "Answer Guy"
persona as I'd initially thought.
</BLOCKQUOTE>
<!-- ::
DNS Ports: Answers from another Recipient
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
DNS is udp not tcp
</STRONG></P>
<P><STRONG>
Zone transfers can be tcp.
</STRONG></P>
<P><STRONG>
Request:
client (libresolv) random above 1023 -> server (named) port 53
</STRONG></P>
<P><STRONG>
Response:
server port 53 -> client same port that request was sent from
</STRONG></P>
<P><STRONG>
name server to name server:
53 -> 53
53 <- 53
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Mr. Robert Hajime Lanning answered Matt's question before I did.
However, I didn't see that until I got further through my
inbox.
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>More on the DNS Ports & Firewalling Question</H3>
<p><strong>Jim Duncan answered on Sun, 02 Jan 2000
on the SAGE (USENIX Sysadmin's Guild) list</strong></p>
<!-- ::
More on the DNS Ports & Firewalling Question
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Matt Harrington writes:
is the following true or false?
</STRONG></P>
<P><STRONG>
a client talks to a nameserver on port 53/tcp. the nameserver answers
back on a random udp port greater than 1023.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
False. The nameserver should answer back to the source port of the query.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i can't seem to find the answer in various o'reilly books. of course,
someone walked off with the DNS one.
</STRONG></P>
<P><STRONG>
the reason i ask is that i'm trying to write a cisco access list which
blocks all traffic to my subnet. i still want to talk to the nameservers
though, which are on another subnet. note: i don't even have access to
the router. i'm just trying to make it easy for the overworked network
guys to put this filter in place.
</STRONG></P>
<P><STRONG>
DNS only seems to work if the following line is in place...
</STRONG></P>
<Pre><STRONG>
access-list ### permit udp host ip.of.name.server any gt 1023
</STRONG></Pre>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
RFC 2181, Clarifications to the DNS Specification, says:
</BLOCKQUOTE>
<Blockquote>
<BlockQuote>
4.2. Port Number Selection
</BlockQuote></Blockquote>
<Blockquote><Blockquote>
Replies to all queries must be directed to the port from which they
were sent. When queries are received via TCP this is an inherent
part of the transport protocol. For queries received by UDP the
server must take note of the source port and use that as the
destination port in the response. Replies should always be sent from
the port to which they were directed. Except in extraordinary
circumstances, this will be the well known port assigned for DNS
queries [RFC1700].
</Blockquote></Blockquote>
<BLOCKQUOTE>
So this means if the query came in to port 53 from source port nnnnn, it
must go back out to port nnnnn, source port 53. And almost always, the
destination port inbound and source port outbound will be 53.
</BLOCKQUOTE>
<BLOCKQUOTE>
If your goal is to allow outside resolvers and servers to query your own
name servers, then you need to allow port 53, both UDP and TCP, through to
the IP address of your name server, e.g.,
</BLOCKQUOTE>
<blockquote><pre> access-list ### permit udp host ip.of.name.server eq domain any
access-list ### permit tcp host ip.of.name.server eq domain any
</pre></blockquote>
<BLOCKQUOTE>
Why tcp? Because if the response is too large for a UDP packet, the rules
say to retry using TCP. Also, TCP is typically used for zone transfers.
</BLOCKQUOTE>
<BLOCKQUOTE>
Some folks know the second rule but not the first -- a little knowledge is
a dangerous thing -- and so they apply two rules like this:
</BLOCKQUOTE>
<blockquote><pre> access-list ### permit udp host ip.of.name.server eq domain any
access-list ### permit tcp host ip.of.name.server eq domain host secondary.name.server
</pre></blockquote>
<BLOCKQUOTE>
They may have additional lines like the second, one for each secondary
name server providing fallback for their primary zones. But this is wrong
because it neglects the case where TCP is called into play because the UDP
response is too big for a single packet, and then things will begin to
fail in strange ways.
</BLOCKQUOTE>
<BLOCKQUOTE>
I should point out that some folks may never see this behavior because
they never see a response too big for UDP. Also, while there are a small
number of different servers out there, there are a multitude of resolvers,
and many of them are broken or not fully tested for situations like this.
It's possible that if the response it too big, the resolver may break
anyhow, regardless of the access-list configuration on the Cisco router.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's easier, by the way, to provide access as in the first examples I list
above because you're explicitly allowing the access to domain name service
on the name server on the inbound interface. That's better than opening
up a huge range of ports, outbound, to do the inverse with "gt 1023".
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope this helps.
</BLOCKQUOTE>
<BLOCKQUOTE>
Jim
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/2"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 2 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Tape Drive Errors</H3>
<p><strong>From M Wyn on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Tape Drive Errors
~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Please also send me a copy of your answer if you
got one. Many thanks.
</STRONG></P>
<P><STRONG><DL><DT>
Michael Wyn
</DL></STRONG></P>
<P><STRONG>
I've just bought a Dell 1300 server with factory-installed
RedHat 6.1. The machine was ordered with an internal Seagate DAT
tape drive. It is a SCSI, DDS-3 24G, STD124000N (3.5")
internal unit. The <TT>/var/log/dmesg</TT> file identifies the drive:
"<TT>Detected scsi tape st0 at scsi0, channel 0, id 6, lun 0</TT>".
</STRONG></P>
<P><STRONG>
Issuing command (as root):
</STRONG></P>
<P><STRONG><BlockQuote>
'<TT>mt -f <TT>/dev/st0</TT> status</TT>' with a DAT in, returns
</BlockQuote></STRONG></P>
<pre><strong> "SCSI 2 tape drive:
File number= -1, block number=-1, partition=0
Tape block size 0 bytes. Ddensity code 0x0 (default).
Soft error count since last status =0
General status bits on (10000):
IM_REP_EN"
</strong></pre>
<P><STRONG>
and the tape access lite blinks indicating error
reading the tape. Ejected tape then re-inserted it to clear
the blinking lite then issuing command (as root):
</STRONG></P>
<pre><strong> 'mt -f /dev/st0 rewind'
</strong></pre>
<P><STRONG>
returns: "<TT>/dev/st0: Input/output error</TT>"
</STRONG></P>
<P><STRONG>
Doing a '<TT>tar cvf /dev/st0 .</TT>' will return I/O errors. In
short, the tape drive is not useable.
</STRONG></P>
<P><STRONG>
RedHat folks suggested to install the '<TT>mt-st0.5b-4.i386.rpm</TT>'.
Issuing '<TT>rpm -iq mt-st</TT>' returns a message saying that it is
installed. Trying to '<TT>rpm -Uvh mt-st-0.5b-4.i386.rpm</TT>' and got
the "package installed" message. Tried to de-install using
'<TT>rpm -e mt-st-0.5b-4.i386.rpm</TT>' and got '<TT>package not installed</TT>'
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
They definitely don't understand your question!
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Dell told me to call <A HREF="http://www.linuxcare.com/">Linuxcare</A>. No answer just yet. Any idea?
Private email would be highly appreciated. Thanks.
Michael Wyn
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Oddly enough I work for Linuxcare.
</BLOCKQUOTE>
<BLOCKQUOTE>
On most 4mm DAT drives the "blinking" LED error
is an indication that the drive needs to be cleaned.
I'd run a cleaning tape into the drive and let it
run.
</BLOCKQUOTE>
<BLOCKQUOTE>
I highly recommend running your data through Lee
McLoughlin's 'buffer' program. That should be
included with your distribution or find it at
Freshmeat (<A HREF="http://www.freshmeat.net"
>http://www.freshmeat.net</A>) or RPM Find
(<A HREF="http://www.rpmfind.net"
>http://www.rpmfind.net</A>). 'buffer' will
smooth the system's access to the tape drive,
ensure steady flow and good "streaming." Search
the back issues of my column for the gory details.
</BLOCKQUOTE>
<BLOCKQUOTE>
Other than that I'd suggest having the drive
serviced. It wouldn't hurt to upgrade your
kernel (if you're still running 2.2.5, which
shipped with the most recent <A HREF="http://www.redhat.com/">Red Hat</A>). However,
I've never heard of any software/driver problems
with the Linux st (SCSI tape) drivers.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 2 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 2 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Seagate SCSI tape problem</H3>
<p><strong>From M Wyn on Fri, 21 Jan 2000
</strong></p>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I hate suggesting hardware RMA (return merchandise
authorization) --- but this does sound very hardware-ish
</BLOCKQUOTE>
<P><Strong><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>Thanks for your note.
<br>I cleaned the drive using a brand new cleaning tape from Dell.
No success. Additional info:
</strong><P>
<P><Strong>
when I tried issuing '<TT>mt -f /dev/st0 load</TT>', I got
"<TT>st0: error with sense data: [valid=0] Info fld=0x0,
current st09:001 sense key Hardware error. /dev/st0: Input/Output error</TT>"
</strong></P>
<P><Strong>
You may be right that I have a defective tape drive unit (even it
was received in Dec. 99). Incidentally, I erased a voice message
from a Dell representative saying that after the unit was shipped,
they found out that DAT tape drive was not "certified" yet [.. with
linux 6.1 and Dell 1300 server..].
</strong></P>
<P><Strong>
I'll be contacting them this morning.
If you have additional comments/suggestions, please email them
to me.
</strong></P>
<P><Strong>
Sincerely;
<br>Michael Wyn
</strong></P>
<!-- end 2 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Tape Drive Errors</H3>
<p><strong>From M Wyn on Sun, 30 Jan 2000
</strong></p>
<p><strong>
Thanks for your note.
It turns out that the tape driver terminator came loose during shipping.
Pressed it in firmly (a sweet click was heard!) and the tape is
running AOK now.
</strong></p>
<p><strong>
Sincerely;
</strong></p>
<p><strong>
Michael Wyn
</strong></p>
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/3"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 3 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Drivers for SCSI/DAT Tape Drives</H3>
<p><strong>From Dave Lammon on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Drivers for SCSI/DAT Tape Drives
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
<br>We are using a Compaq Proliant to do some of our DNS work since NT will
not support the way our reverse delegation is done.
</STRONG></P>
<P><STRONG>
I'm trying to use a shareware tape backup program and the compaq has a
compaq DAT on a scsi channel.
</STRONG></P>
<P><STRONG>
I'm sort of new with Linux and I prbably dont have device support
for the tape drive. Do I use ftape or is there another module to
use for this. I will try compiling a new kernel and see what
options are there. I am using Redhat 6x.
</STRONG></P>
<P><STRONG>
Any help would be apreciated.
</STRONG></P>
<P><STRONG>
Thanks
<br>Dave Lammon
<br>Network Administrator
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
There should be no special work required to use a
SCSI tape drive under Linux. You access those through
the st driver (the <TT>/dev/st0</TT> node for the first drive
and, <TT>/dev/st1</TT>, etc for other drives).
</BLOCKQUOTE>
<BLOCKQUOTE>
If this is an autochanger you might want to get the
'<tt>mtx</tt>' utility which can be found at its author's web site:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Dandelion Digital's Linux Home Page
<DD><A HREF="http://www.dandelion.com/Linux"
>http://www.dandelion.com/Linux</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
... this is like the '<tt>mt</tt>' command but it adds support
for commands like: "next", "previous", etc (and the
<TT>ioctl()</TT>'s to go with them).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't access your tape drive, try loading the
<tt>st.o</tt> module. If you've built your own kernel for this
system, go back into your kernel sources, re-run the
make menuconfig (or make xconfigure, or whatever you
like) and make sure that you have the SCSI tape support
compiled in available as a module.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that using auto-loading support for the tape modules
has been a problem in the past. I highly recommend that
you manually load and unload your <tt>st.o</tt> driver (or build
it statically into your kernel). The problem is that an
autoloaded <tt>st.o</tt> might get auto-unloaded at an inopportune
time (when there's been enough inactivity on the driver.
In those cases, when the driver is re-loaded it will
reset the drive and rewind the tape. This could be bad
if you intended to APPEND new datasets to an existing
tape.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 3 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 3 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>DAT</H3>
<p><strong>From Dave Lammon on Fri, 21 Jan 2000
</strong></p>
<p><strong>
Thank You,
<br>this is excellent help, far more than I expected.
I did manage to get the DAT to work with the tape software. I used
<TT>/dev/st0</TT> and it looks like its working.
I greatly appreciate the help.
</strong></p>
<p><em>[
p.s. Dave, turn off the HTML+plaintext option in your mailer. Thanks.
-- Heather. ]</em></p>
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/4"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 4 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Lost Password</H3>
<p><strong>From Joy Higgins on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Lost Password
~~~~~~~~~~~~~
:: -->
<P><STRONG>
My boyfriend put Linux <A HREF="http://www.caldera.com/">Caldera</A> on the home computer which means
the only one left is my work one... I know practically nothing
about computers to begin with so be patient okay??
</STRONG></P>
<P><STRONG>
He was making a third user name and for some reason he not only
couldn't get into that users desktop (wording? I'm sorry!) and
then he found he couldn't log into root either. He tried getting
the password but it didn't work...
</STRONG></P>
<P><STRONG>
He called a computer guy that told him it sounds like the computer
is now worth the metal it took to make it because of Linux being
on it but not accessible and we could purchase a couple thousand
dollars of a "password cracker" if we wish... we do not. Is
there any way to get roots password because we think it was
changed instead of having the third users password entered in (I
hope that makes sense to you). Can you help us please? I just
want my computer back.
</STRONG></P>
<P><STRONG>
Joy
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Wow! The "computer guy" your boyfriend called is
either a scam artist or an IDIOT.
</BLOCKQUOTE>
<BLOCKQUOTE>
For the record you can buy my book for less than
thirty dollars (U.S.) and the first thing I cover
in the "Emergencies" appendix is how to recover from
a lost root password. This is also one of the
most common FAQs on the
<a href="news:comp.unix.admin">comp.unix.admin</a> newsgroup.
</BLOCKQUOTE>
<BLOCKQUOTE>
For Linux all you have to do is:
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>1. Reboot
<dd>(try [<tt>Ctrl</tt>]+[<tt>Alt</tt>]+[<tt>Delete</tt>])
<dt>2. During the LILO prompt type:
<dd><tt>(kernel/image name) init=/bin/sh rw</tt>
<br>
... note that's usually going to be just:
<br><tt>linux init=/bin/sh rw</tt>
<dt>3. This should start the Linux kernel,
<dd>with the
root filesystem mounted in read/write mode.
The cool thing is that none of your normal
init processes (like the <tt>getty</tt>s that
ask for your name and call the login program)
will be started.
<dt>4. (Maybe) mount your <TT>/usr</TT> filesystem with a
command like:
<dd><tt>mount /usr</TT>
<dt>5. Change your root password with a command like:
<dd><tt>passwd</tt>
<dt>6. Flush the cache buffers:
<dd><tt>sync; sync; sync</tt>
<dt>7. (Maybe) unmount <TT>/usr</TT>:
<dd><tt>umount /usr</TT>
<dt>8. Remount the root fs in readonly mode:
<dd><tt>mount -o remount,ro /</tt>
<dt>9. Let <tt>init</tt> clean up and reboot the system:
<dd><tt>exec /sbin/init 6</tt>
<br>... there is a "6" (six) at the end of that
command.
</dl></BLOCKQUOTE>
<BLOCKQUOTE>
That's it. Don't worry about the couple of lines
where I said '(Maybe)' --- you can follow those steps
too, if you don't understand. The errors from unnecessarily
executing those steps are harmless.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can follow a similar procedure using a "rescue"
diskette. However, I'll let you buy my book (or
visit <A HREF="http://www.toms.net/rb"
>http://www.toms.net/rb</A>) for the details on that
approach. That book is "<a href="http://www.amazon.com/exec/obidos/ASIN/1562059343/linuxsystemadmin/104-3347499-9099625">Linux System Administration</a>"
by M Carling, Stephen Degler, and me (New Riders
Publishing).
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that helps. Don't let that "computer guy" near
any of your Linux boxes. (Even if he knows quite a bit
about MS Windows I wouldn't let him near any of my systems,
his advice was horridly uninformed and it sounds like he
delivered his misinformation with an air of authority
and conviction that exacerbates the problem).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 4 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 4 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Linux password lost</H3>
<p><strong>From Joy Higgins on Tue, 18 Jan 2000
</strong></p>
<P><STRONG>
Thank you so much for your quick response!! I'm printing it out and
bringing it home... and the "computer guy" isn't getting any more business!
</STRONG></P>
<P><STRONG>
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> Thanks again!
</STRONG></P>
<P><STRONG>
Joy
</STRONG></P>
<!-- end 4 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/5"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 5 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>When AUTH is ident, not Authentication</H3>
<p><strong>From John Garetti on Tue, 18 Jan 2000
</strong></p>
<!-- ::
When AUTH is ident, not Authentication
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi. My name is John. Wondering if there is a way to tell the
ftpd from Wash. Univ. to send authentication requests over the
same port as the main ftp port. It seems to be using port 113
which is driving my router admin people up the wall.
</STRONG></P>
<P><STRONG>
Thx.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The FTP daemon is actually doing an "ident" request
(which is laughingly called the "auth" protocol).
Search any good engine on the string "identd" or
the phrase "inetd daemon" for more details. For
the real guts of it look at the RFC that describes
it:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Identification Protocol
<DD><A HREF="http://www.faqs.org/rfcs/rfc1413.html"
>http://www.faqs.org/rfcs/rfc1413.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
This is not "authentication" like asking for a password or a
key or anything like that. It just asks the remote system
what username owns a given TCP socket and it is used for
logging. Obviously the remote system might respond with
anything. The result cannot be trusted unless the remote
system is known to be secure and under the same
administration as the FTP server.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway you should be able to disable this behaviour and/or
block the port. This is especially important if you plan
to let MS Windows clients access this server (since they
don't support the ident/auth protocol, but the attempts
will cause significant connection delays).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 5 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 5 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>WUFTP and authentication</H3>
<p><strong>From John Garetti on Tue, 18 Jan 2000
</strong></p>
<p><strong>
thx for the info.
</strong></p>
<!-- end 5 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/6"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 6 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>How do you say "Dial on Demand"</H3>
<p><strong>From edj on Tue, 18 Jan 2000
</strong></p>
<!-- ::
How do you say "Dial on Demand"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
This may be really trivial for unix gurus, but I can't contain my
excitement at having successfully routed my small office LAN
through my linux box to a single ppp account! Broadband's too
expensive and before I got this set up we were running around
telling each other to hang up coz we needed to check our
e-mail! Heh, now we can all surf the web at the same time.
This is no small feat for a Mac user.
<IMG SRC="../gx/dennis/smily.gif" ALT=";)"
height="24" width="20" align="middle">
</STRONG></P>
<P><STRONG>
But I have one challenge which I think I'm going to need some
help with. On a Mac I can get the PPP client to dial the ISP
automatically when a TCP/IP application starts up and needs
to connect to the internet. How do I do this on linux?
</STRONG></P>
<P><STRONG>
-edj
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The feature you're asking for is called "dial
on demand." Under Linux this used to require
an additional package called '<tt>diald</tt>'. However,
it is also now a built in feature of the PPP
daemon (<tt>pppd</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
Search the <tt>pppd(8)</tt> man page for the term "demand"
and read through that a bit.
</BLOCKQUOTE>
<BLOCKQUOTE>
I notice that Al Longyear's PPP FAQ is desparately
out of date and should be updated sometime soon.
It still refers us to diald. Of course you <EM>can</EM>
still use diald in any event, but you should be able
to simply add the "demand" keyword to your
<TT>/etc/ppp/options</TT> file.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that helps.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 6 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 6 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>"edj": Re: PPP Dial on Demand</H3>
<p><strong>From star on Thu, 20 Jan 2000
</strong></p>
<P><strong>
Hi Jim,
<br>Thanks, that really helped.
</strong></p>
<P><strong>
- -edj
</strong></p>
<!-- end 6 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/7"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 7 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Looking for ...</H3>
<H4 ALIGN="center">TAG, we're it.</H4>
<p><strong>From Ashish Duggal on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Looking for ...
~~~~~~~~~~~~~~~
TAG, we're it.
:: -->
<P><STRONG>
hi !
<br>sorry to bother you. but, i was wondering if i could write to you on this
address for linux answers ?
</STRONG></P>
<P><STRONG>
thanks and regards
<br>ashish
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You'll be much better off looking for those answers
perhaps by searching the Linux Gazette archives
(<A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A>) before sending questions
to me.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm getting a lot more "Answer Guy" mail than I
used to, and I have a lot less time to answer it.
</BLOCKQUOTE>
<BLOCKQUOTE>
That means that your chances of being one of the
ones I get to in a given month are getting lower
every day.
</BLOCKQUOTE>
<BLOCKQUOTE>
My criteria for answering questions are not well
defined. It depends mostly on what mood I'm
in and how much TV I'm watching (I mostly answer
LG AG mail while watching television).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 7 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 7 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Looking for the Linux Gazette</H3>
<p><strong>From tedbdodd on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Looking for the Linux Gazette
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I found an answer to a Linux question you had answered. I
found it through a search engine. I surmise that you write
articles for a magazine or something. What would this be?
</STRONG></P>
<P><STRONG>
Ted B
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I've been writing the "Answer Guy" column for
the Linux Gazette (<A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A>)
for about three years now.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 7 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/8"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 8 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Hello Routing, Goodbye Masquerading</H3>
<p><strong>From hax0r on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Hello Routing, Goodbye Masquerading
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I've done masquerading a couple of times thanks to the wealth of
information on it, esp. with cable/dsl.
</STRONG></P>
<P><STRONG>
But now I'm in a situation where I actually have 30 or so ip's to work
with so I dont need to masquerade, only thats all I know how to do
The linux box is to act as a normal firewall/gateway for various win
boxen
</STRONG></P>
<P><STRONG>
Do I simply have to add the corrent routes for eth0 and eth1 and
<TT>echo 1 > /proc/sys/net/ipv4/ip_forward?</TT>
</STRONG></P>
<P><STRONG>
the main command I have for masq now is
<br><tt>$IPCHAINS -A forward -s $INTERNALNET -d 0/0 -j MASQ</tt>
<br>do I have to change MASQ to ACCEPT or delete this line altogether?
</STRONG></P>
<P><STRONG>
Justin
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You can just delete the line.
</BLOCKQUOTE>
<BLOCKQUOTE>
Routing really is that simple. You configure your
interfaces with their routes, you enable the kernel's
routing flag through the <TT>sysctl()</TT> (<TT>/proc/sys/net/.../</TT>) and
that's it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that you will probably still want to use ipchains to
implement some packet filtering rules. Those are there to
protect yourself from script-kiddies who are scanning the
'net for vulnerable hosts. They have scripts that are
trying known exploits to break into any systems they can
find (generally by scanning IP address ranges).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that your router (Linux) is the only thing between your
MS-Windows boxes and the Internet. Win '98 and NT are
relatively safe from "takeover" exploits. They don't offer
interactive login service by default, and their APIs don't
readily support remote control. So the principle dangers to
your MS Windows systems are in the following three
categories:
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
DoS: denial of service
<li>
File Service Leakage
<li>
Viruses
<li>
Trojan Horses
</ul>
MS Windows systems are typically not very robust.
Historically they have been locked up, or rebooted when they
receive gibberish network traffic on any port to which they
are listening. It is lucky for Windows users that their OS
ships "deaf" and doesn't listen for much.
</BLOCKQUOTE>
<BLOCKQUOTE>
The "file sharing" features in MS Windows are notorious
complex, insecure, and unstable. You should definitely stop
all traffic between ports 137 through 139 and the Internet.
</BLOCKQUOTE>
<BLOCKQUOTE>
Packet filtering won't protect you from viruses and trojan
horses. These you'll primarily get via e-mail attachments,
and your best defense is to avoid executing programs and
opening documents that are sent to you. (Unfortunately most
Microsoft application products currently support various
forms of executable macros and dynamic content embedded in
their "data").
</BLOCKQUOTE>
<BLOCKQUOTE>
Personally I'd suggest that you actually continue to use IP
masquerading as much as you can. It's somewhat safer in
that the script kiddies can't establish direct connections
to your internal systems.
</BLOCKQUOTE>
<BLOCKQUOTE>
At the same time you should protect your Linux router using
a combination of packet filtering and hosts.deny
(TCP_Wrappers) rules, and by disabling any services that you
aren't actively using. Replace telnet with ssh, and FTP
with scp or sslftp. Read the Security HOWTO
(<A HREF="http://www.linuxdoc.org/HOWTO/Security-HOWTO.html"
>http://www.linuxdoc.org/HOWTO/Security-HOWTO.html</A>) by Kevin
Fenzi and Dave Wreski and the Linux Administrators Security
Guide (<A HREF="http://metalab.unc.edu/lasg"
>http://metalab.unc.edu/lasg</A>)
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Warning!: you'll need
a PDF viewer for that last URL, I've heard that Kurt agreed
to open this up to HTML conversion but I can't find a handly
link to it at the moment).
</UL></BLOCKQUOTE>
<!-- sig -->
<p><em>[ The HTML version is now available at
<A HREF="http://www.securityportal.com/lasg/"
>http://www.securityportal.com/lasg/</A>.
To find this, I looked in the FAQ found at the URL Jim gave,
found that that the main site didn't work, and decided to
try it with standard HTTP instead of HTTPS after all. The
home page there is quite basic but led me to the correct
place. Enjoy!
-- Heather ]</em></p>
<!-- end 8 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 8 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>+routing -masquerading</H3>
<p><strong>From Justin Azoff on Tue, 18 Jan 2000
</strong></p>
<p><strong>
Thanks for all the info on routing etc, no wonder i couldnt find any info
on it, its too simple.
<br>Unfortunately the dsl provider that finally came through only gave us one
ip so im back to masquerading
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</strong></p>
<p><strong>
Justin
</strong></p>
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/9"><HR WIDTH="75%" ALIGN="center"></A>
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Linksys Ether16 NIC installation issues, as asked...</H3>
<p><em>[ This was our most popular question for answers from the crowd to
help out the Answer Guy. So, for those of you who missed it, the
original question was... -- Heather ]</em></p>
<P><STRONG><FONT COLOR="#000066"><EM>
From Chuck Whinney on Sun, 05 Dec 1999
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
I cant seem to get my Linksys Ether16 LAN card to work under linux. I turned
off the PnP liek teh linksys website said, and I turned the motherboard
setting from PnP on that IRW to the ISA setting. Linux still never
recognizes it.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
Any ideas? Thanks! Chuck
</EM></FONT></STRONG></P>
<!-- . . . . . . . . . . . . . . . . . . . -->
<p><hr width="40%" align="center">
<!-- begin 9 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>More on Linksys Ether16 Cards</H3>
<p><strong>rabuno answered on Sun, 02 Jan 2000
</strong></p>
<!-- ::
More on Linksys Ether16 Cards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>
A loyal reader offers this answer to supplement one from
last month.
</BLOCKQUOTE>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Chuck Whinney (no email) asks you:
</strong></p>
<p><em>[ Nobody's email is listed in Answer Guy messages, because
I strip them out unless it's actually important to the
question or commentary. I believe privacy is important,
and I won't have spambots harvesting addresses
via this column. I've snipped the repeat, as I just did that
above. -- Heather ]</em></p>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The Linksys Ether16 is a nice cheap card. Out of p-n-p mode it acts like
a NE2000, at least close enough so the Linux ne driver has no trouble
running it. The card comes with a DOS floppy with the configuration
program, but Chuck shouldn't need to use that unless the card has been
previously used (in a Winxx machine) or unless he wants to set goofy IO
address or IRQ settings. The last couple I've purchased new ($30 at my
local office supply store) came defaulted to NE2000 mode, IRQ=5, IO
address=300.
</strong></p>
<p><strong>
The only possible causes of trouble in Chuck's case, imho, would be:
<ul>
<li> a damaged card or a damaged slot
<li> a conflict with some other device
<li> Linksys has modified their chipset so the card is no longer compatable
</ul>
</strong></p>
<p><strong>
If Chuck continues to have troubles with the card feel free to send him my
email & I can try to help him out.
</strong></p>
<p><strong>
I loyally read your column in LG. Thanks; you are providing a great
service. Happy New Year.
</strong></p>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks, rabuno. I occasionally get other clarifications and
corrections, and sometimes I'm not that good about getting them
forwarded into the column. I'd like to thank everyone who
helped me out on this column last year, and I'd love to be able
to answer all the questions that come to me. I think I missed
about 400 from last year. They're still in my "lgaz/2do" folder
in case I get laid up with nothing else to do for a couple of
months during this new millenium.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 9 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 12 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>A Solution to: How to detect Linksys Ether16 Cards</H3>
<p><strong>Claude Baker answered on Sat, 08 Jan 2000
</strong></p>
<!-- ::
A Solution to: How to detect Linksys Ether16 Cards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>
Here's another reader-contributed answer to using those pesky
NE2000 clone Linksys Ether16 ethernet cards:
</BLOCKQUOTE>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The writer questions how to detect a LinkSys Ether16 and you suggest
another card.
</strong></p>
<p><strong>
I have that card in a router/firwall box which is based upon a P133 with
a PCI motherboard. I'm ashamed to admit it, but I spent 2-3 months
figuring out how to configure the card. As you might guess, I was
looking in the wrong places because I thought that I was misconfiguring
the routing and masquerading.
</strong></p>
<p><strong>
The Linksys card is an ne2000 clone and it is setup using a DOS utility
found on the driver diskette. The driver software may be downloaded from
the LinkSys site and it is an executable that copies itself to a
floppy. Once the download is on a floppy, a:\utility\setup queries the
card to display IRQ and I/O addresses. The utility also allows you to
set the desired IRQ, I/O address, and select between RJ-45 or BNC I/O on
the card. All setup choices are saved in non-volatile memory.
</strong></p>
<p><strong>
Setup on my machine also required a change in the Award BIOS - I had to
specify the IRQ I used to be a "Legacy ISA" rather than "PCI/ISA PnP"
for Linux.
</strong></p>
<p><strong>
I spent some time setting up a Linux Router Project distribution for
that machine and have a recollection that in addition to pulling in the
non-PCI ne2000 module, I also needed an 8309 module. My impression is
that the ne2000 is part of the 8309 family.
</strong></p>
<p><strong>
Claude Baker
</strong></p>
<!-- sig -->
<!-- end 12 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 25 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Linksys Ether16 NIC installation issues</H3>
<p><strong>marcus.post answered on Tue, 11 Jan 2000
</strong></p>
<!-- ::
More Suggestions on Linksys Ether16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I wanted to comment on this because some easy items where missed in
answering this customer. THe chipset is fully supported, being an NE2000
clone that works just fine. If he is having difficulty installing it, here's
where he should check:
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I got about three or four items to expound on this
message. Presumably that means that I didn't do a
very good job answering the question.
</BLOCKQUOTE>
<BLOCKQUOTE>
These days I try to forward/respond to corrections and
commentary on the threads in previous months.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
#1 Conflicts. This is not likely a problem, since the Ether software that
sets the IRQ and I/O of the card checks for conflicts before setting the
resources. If you have not installed new hardware, or turned on any extra on
board peripherals (Serial, Parallel, or USB ports), this shouldn't be an
issue.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not familiar with this particular NE2000 clone.
Older ethercards commonly were set by pins and jumpers.
I'd also not trust the IRQ detection on an ISA bus.
Classically this has not been reliable. As you suggest
an installed card which was inactive might not respond
to IRQ probing but could cause problems later when it
was active.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
#2 How the driver is loaded. As a shot in the dark, you are likely using
redhat, in which case the best choice is to use Linux Config to set up the
module to load at boot. Most distros will work the same way, but some you
have to manually edit rc.* files. THere is a linux-conf topic for network
interfaces, but I forget what it is called ATM. If you have to edit the rc.*
files, look for a <tt>rc.modules</tt> file; most distrobutions have one with the
network card modules already specified, but commented out. Find the one with
your module ( <tt>ne2k.o</tt> I believe) and uncomment it. In either case, don't
worry about specifying the IRQ; you only need to note the I/O address for
this card. <EM>VERY IMPORTANT</EM> when specifying the I/O port, use "<tt>0x320</tt>"
instead of "<tt>320</tt>". You have to specify the number is hex, which is '<tt>0x</tt>'. So,
if the software that disabled your plug n play on the card said it was using
port "<tt>330</tt>", tell linux that the port is "<tt>0x330</tt>" Don't expect the module to
autodetect the card: on this card, it almost never works (I own three of
them personally), while autodetect works on other cards, such as my SMC. I
don't know why, but don't count on the module to detect the card.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I presume you're referring to the '<tt>linuxconf</tt>' program.
I'd suggest using '<tt>insmod</tt>' to load the appropriate loadable
module manually.
</BLOCKQUOTE>
<BLOCKQUOTE>
You make a good point about using the 0x prefix to
indicate that you are providing a hexadecimal address.
Presumably you could convert 0x300 to its decimal equivalent
though I've never tried it.
</BLOCKQUOTE>
<BLOCKQUOTE>
One thing I do like about PCI --- it supports much
easier and robust autodection than the old ISA cards.
</BLOCKQUOTE>
<BLOCKQUOTE>
You also have chosen reasonal I/O port addresses,
0x300, through 0x330 are the most common ethernet I/O
base port mappings. I've also seen 0x240, and 0x280.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
#3. I dont know about ISA IRQ changes you made in the BIOS. From personal
experience, they just aren't needed. You sound comfortable enough with them,
so you may want to change them back to normal once you are positve the Linux
configurations are correct and complete.
</STRONG></P>
<P><STRONG>
#4 Standard troubleshooting: If you dont get an error when booting, check
'<tt>ifconfig</tt>'. You may just need to assign the card an address, subnet, et al.
Or, run dhcpcd if you have a DHCP server/cable modem/DSL router/whatever.
Try a different ISA slot. If all looks good locally, but you cant reach
outside of your own box, check your cables, subnet mask. First answer if the
problem is hardware or software. Tackle it logically.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I thought he specified that he was getting <tt>SIOCSIFADDR:</tt>
errors (meaning that the driver isn't seeing the interface).
If you can successfully set an address etc. with
'<tt>ifconfig</tt>' then you should check for external connections,
link lights, and similar problems.
</BLOCKQUOTE>
<BLOCKQUOTE>
I have found that some 10/100 ethernet cards seem to be
"allergic" to some hubs. So be sure to try a "known
working" connection.
</BLOCKQUOTE>
<BLOCKQUOTE>
In particular I don't like the Linksys hubs, but I've
never had problems with the Netgear products.
</BLOCKQUOTE>
<BLOCKQUOTE>
Running tcpdump on your interface can be a useful was
to check for functionality. That should work so long
as there is any traffic on the segment and the driver
is loaded correctly. Thus you can isolate it to
the higher level (addressing, masking, routing tables)
or the lower (driver kernel, or physical link layer).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Best of luck,
<br>Toodles
</STRONG></P>
<!-- sig -->
<!-- end 25 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/10"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 10 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Clarification/Correction: stty -parenb</H3>
<p><strong>From Lamar Owen on Thu, 23 Dec 1999
</strong></p>
<!-- ::
Clarification/Correction: stty -parenb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
<tt>parenb</tt> (and <tt>-parenb</tt>) is the <tt>PAR</tt>ity <tt>EN</tt>a<tt>B</tt>le toggle. <tt>parodd</tt> (and <tt>-parodd</tt>)
are to further set odd or even, with the default (IIRC) being even.
</STRONG></P>
<P><STRONG>
--
<br>Lamar Owen
<br>WGCR Internet Radio
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks for that clarification. I should have known that.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 10 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/11"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 11 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Radio Time Source with Serial Interface</H3>
<p><strong>From Shawn Bibb on Sat, 08 Jan 2000
</strong></p>
<!-- ::
Radio Time Source with Serial Interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>
In response to one of my discussions about NTP and
time synchronization for disconnected (home) networks
I commented on how I'd like to find a cheap GPS
receiver with a serial interface. Those make
good time sources for your home NTP server.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i have one of these and it works very well. ~$100. i recommend it.
<br><tt><A HREF="http://www.atomictime.com/Atomic%20Time%20Web%20v4/Product17.html"
>http://www.atomictime.com/Atomic%20Time%20Web%20v4/Product17.html</A></tt>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It this one radio or GPS? It shouldn't matter, either
should keep us to within on second which is high enough
resolution for most of us.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 11 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/13"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 13 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Id "x" respawning</H3>
<p><strong>Bill McElhannon answered on Tue, 18 Jan 2000
</strong></p>
<BLOCKQUOTE>
A forward on an old issue.
</BLOCKQUOTE>
<p><strong><img src="../gx/dennis/bbub.gif"
height="28" width="50" alt="(!) " border="0"
>
Hello,
</strong></p>
<p><strong>
I had this problem today and found that it was caused by my root file
system being full. This may be old news but I just thought I would pass
it along in case it could help someone.
</strong></p>
<p><strong>
Thanks for your great work in The Linux Gazette, I really enjoy it and
have learned a lot.
</strong></p>
<p><strong>
Bill McElhannon
</strong></p>
<!-- sig -->
<!-- end 13 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/14"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 14 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Outlook Clients Fail to find Mail Host</H3>
<p><strong>From Ted Allison on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Outlook Clients Fail to find Mail Host
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Mr. Dennis,
</STRONG></P>
<P><STRONG>
We have recently begun to experience a new strange problem relating to
trying to send email through our Linux 2.0.34 box. We have over 30 users
that have Outlook 2000 and connect to our Linux box to send and receive
email with no problems at all. The settings in Outlook 2000 are to use POP3
to receive email and SMTP to send email.
</STRONG></P>
<P><STRONG>
The problem is this: New users that we added cannot send email as they
receive an error message that states that Outlook 2000 cannot find
mail.xxxdomain.com. They can receive email with no problems, but all of
the sudden new users cannot send email. Existing users have no problems
sending or receiving, just new users which is very odd.
</STRONG></P>
<P><STRONG>
Any ideas as to what the problem may be? We would appreciate any help in
this matter.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Can they ping mail.xxxdomain.com (actual domain
name anonymized)?
</BLOCKQUOTE>
<BLOCKQUOTE>
The error suggests a problem with the DNS
resolving on the new clients. I'd look at that
first. Then I'd look at other ways in which
these new systems might differ from
the existing clients.
</BLOCKQUOTE>
<BLOCKQUOTE>
Try using the TELNET.EXE client on one of these
new system to connect to port 25 of the Linux
box (mail.xxxdomain.com). If that works than the
problem is purely with your client system and you
should call a Microsoft support center.
</BLOCKQUOTE>
<p><em>[
Ted forwarded it to his colleague, Jeff.
-- Heather. ]</em></p>
<p><strong><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Jim,
</strong></p>
<p><strong>
Thanks for the reply as I appreciate it. The problem ended up being that
some POPs blocked Port 25 as I did the Telnet test and could not connect to
the port.
</strong></p>
<p><strong>
Thanks again,
<br>Jeff
</strong></p>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 14 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/15"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 15 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Answer Guy Debunks Time Machine Myth for Y2K</H3>
<p><strong>From Tom on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Answer Guy Debunks Time Machine Myth for Y2K
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello Mr. Dennis [Answerguy!]
</STRONG></P>
<P><STRONG>
Thanks for spending (many I suppose
<IMG SRC="../gx/dennis/smily.gif" ALT=";-)"
height="24" width="20" align="bottom"> hours answering tons of mails. The
2c tips and the Answerguy section are really my favourite pages.
I'm overwhelmed by your knowledge - but please tell me about your finest
secret... the time machine... My html version of the LG49 contains eMails
from December 2000. Booooah.
<br>Thanks again for your great work!
</STRONG></P>
<P><STRONG>
Greetings
<br>Tom
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Our editor and host mentioned that he had a problem like
that.
</BLOCKQUOTE>
<BLOCKQUOTE>
I think its been fixed on the primary Linux Gazette
web site now. However, it might still appear wrong
on some mirrors.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 15 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 3 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>The Answer Guy LG #49 - psychic, already .....</H3>
<p><strong>From Malcolm Macsween on Tue, 4 Jan 2000
<br>Answered by the Linux Gazette Editor, Mike Orr.
</strong></p>
<P><STRONG>
The answer guy is really excelling himself this month ....
</STRONG></P>
<P><STRONG>
How exactly did he help me to fix my Mosix cluster on the Linux 2.4 SMP
cluster in Oct , 2000 - I've forgotten already. Sorry - maybe you can
refresh my memory .... perhaps my memory management module is faulty,
but I seem to have forgotten the whole year.
</STRONG></P>
<P><STRONG>
<A HREF="http://www.linuxgazette.com/issue49/lg_answer49.html"
>http://www.linuxgazette.com/issue49/lg_answer49.html</A>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It was my too-successful attempt to update the copyright dates on the
articles in bulk, combined with Jim's time machine.
</BLOCKQUOTE>
<BLOCKQUOTE>
The dates are corrected. The new files will be visible at noon today
(UTC-0800).
</BLOCKQUOTE>
<BLOCKQUOTE>
Thanks for the letter. This is the most humorous of the complaints
I received, and probably the one I will publish.
</BLOCKQUOTE>
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/16"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 16 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Call Microsoft</H3>
<p><strong>From Anthony Hunt on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Call Microsoft
~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I am unable to use my Reveal Sound Card (VER. 1.09 REV. 4A) with my
Creative Labs Modem Blaster. My operating system is windows 98. Any
suggestions?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
... and read a bit of our webazine before mailing
its columnists.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 16 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/17"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 17 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>LILO for Loading "Other" OS': Setting the Default Boot Stanza</H3>
<p><strong>From Cavaiani, Don on Sun, 02 Jan 2000
</strong></p>
<!-- ::
LILO for Loading "Other" OS': Setting the Default Boot Stanza
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi James,
</STRONG></P>
<P><STRONG>
If I put the "<tt>other</tt>" (the msdos portion) code in the lilo.conf
B/4 the <tt>image =</tt> ... for the Linux O/S, will msdos load as the
default (i.e., if the operator does not enter anything) instead of Linux.
</STRONG></P>
<P><STRONG>
Or, is there another way to do this?
</STRONG></P>
<P><STRONG>
Thanks,
<br>Don
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
<TT>/sbin/lilo</TT> will make the first "stanza" (section) of the
<TT>/etc/lilo.conf</TT> file the default unless there is an explicit
'<tt>default=</tt>' directive in the "global" section.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you do use the '<tt>default=</tt>' directive, refer to the desired
stanza by its label.
</BLOCKQUOTE>
<BLOCKQUOTE>
The issues of whether the OS will boot without any
keystroke intervention, how long it will wait, whether
it will prompt the user by default, and what the prompt
message will look like can all be answered by reading
the <tt>lilo.conf(5)</tt> man page.
</BLOCKQUOTE>
<p><em>[ It's likely there is also more than you ever wanted to
know about LILO in the directory under <tt>/usr/docs</tt>
(or <tt>/usr/share/docs</tt>) for the lilo package.
-- Heather ]</em></p>
<!-- sig -->
<!-- end 17 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/18"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 18 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>KVM Switches: All are NOT Created Equal</H3>
<p><strong>From Michael Slaven on Fri, 24 Dec 1999
</strong></p>
<!-- ::
KVM Switches: All are NOT Created Equal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Jim-
</STRONG></P>
<P><STRONG>
Here's the story...
</STRONG></P>
<P><STRONG>
Raritan Computer manufactures bulletproof KVM switches. We have recently
begun to get positive feedback from the Linux community because our switches
do NOT occasionally allow keyboard/mouse lock-ups like our competitors. We
use a dedicated emulation chip for EACH computer connected to the switch.
</STRONG></P>
<P><STRONG>
Unfortunately, most of the public perceives occasional lock-ups as normal
for KVM switches and this is definitely not the case.
</STRONG></P>
<P><STRONG>
This said, getting that message out to the Linux community is not easy. I'm
interested in:
</STRONG></P>
<p><strong><ol>
<li> How you have your office set up ( how many computers)
<li> If you have the need for a KVM switch
<li> If so, I'd be willing to "lend" you one for 30-40 to test and evaluate.
</ol></strong></p>
<P><STRONG>
All I would ask in return is that if someone asks you about KVM switches,
you at least can tell them that all switches are not created equal.
</STRONG></P>
<P><STRONG>
Let me know what you think.
<br>Thanks for your time.
</STRONG></P>
<P><STRONG>
Michael Slaven
<br>OEM Manager
<br>Raritan Computer Inc.
<A HREF="http://www.raritan.com"
>http://www.raritan.com</A>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Well, I don't think I'll be considered a corporate shill
for simply including your message as it was written to me.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'll have to admit that I haven't purchased any Raritans,
though I've seen them in some of the offices of my
customers, etc. Of course I'm aware that there are
differences among different types of KVM switches.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's always been my opinion that the biggest gain is from
using any of the "active" (electronic) switches. Using
the mechanical A-B switch boxes will occasionally cause
the failure of a chip on your motherboard (effectively
meaning you'll have to replace about 1 motherboard in
20 per year of daily use).
</BLOCKQUOTE>
<BLOCKQUOTE>
Hopefully the future of USB will solve this problem for
keyboards and mice (I'm not aware of any problems
with mechanical switching of monitors). On the one
hand I think USB is overly complicated and expensive.
On the other hand, it will will hopefully save future
generations of computer users from fussing with the
sorts of DTE/DCE, CTS/RTS, DSR/DTR problems that we
old fogeys have had to fight with RS-232.
</BLOCKQUOTE>
<p><em>[ I've occasionally seen monitors get weird color effects when
switching, but so far, every such case has turned out to be
solved when the video cord was reseated or replaced. There
hasn't been any evidence that it was somehow any fault of the
switch. I've never used a Raritan; most were Belkins and
ProTec. -- Heather ]</em></p>
<BLOCKQUOTE>
Anyway, if you put up some white papers and actually
describe some of the failure modes (capacititive
discharge?) and how your components and designs are
better for protecting computers than those used by
your competitors, you'll probably gain some more
converts. (My personal needs have been too modest
--- and Raritan has been too expensive --- for me so far).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 18 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/19"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 19 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>More on Maximal Mount Counts & Volume Labels and UUIDs</H3>
<p><strong>From ghaverla on Thu, 23 Dec 1999
</strong></p>
<!-- ::
More on Maximal Mount Counts & Volume Labels and UUIDs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Dear Answer Guy,
</STRONG></P>
<P><STRONG>
Nice column. I'm up to my eyeballs in updates (I'm updating
2 Linux machines and 1 Solaris). Anyway, in the current
"The Answer Guy", you have a reply from Ted T'so on
Maximal Mount Counts which suggests a solution to a
problem I ran into last night. I'm updating a PC which
has 2 SCSI controllers from
<A HREF="http://www.suse.com/">S.u.S.E.</A> to
<A HREF="http://www.debian.org/">Debian</A>, and found that
because the controllers are seen in the reverse order
now, that the devices the disks are assigned to has changed.
Since the one controller is to be used for low performance
or not always connected devices, I don't want that controller
being seen first, which is what has happened under Debian.
These labels, as in
</STRONG></P>
<Pre><STRONG>
LABEL=temp /tmp ext2 defaults 1 2
</STRONG></Pre>
<P><STRONG>
or
</STRONG></P>
<Pre><STRONG>
UUID=3a30d6b4-08a5-11d3-91c3-e1fc5550af17 /usr ext2 defaults 1 2
</STRONG></Pre>
<P><STRONG>
Are they assigned to the entire disk, or to partitions
of a disk? The way the reply is worded it seems the label goes
with the disk, and not with the partition.
</STRONG></P>
<P><STRONG>
Thanks for any light you can shed on this.
</STRONG></P>
<P><STRONG>
Gord
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The UUIDs and labels are on filesystems (partitions),
and not on disks (physical volumes).
</BLOCKQUOTE>
<BLOCKQUOTE>
Obviously things will get more confusing and interesting
as we develop LVM (logical volume management) subsystems
under Linux.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 19 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/20"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 20 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Netscape 4.7 as a POP Client</H3>
<p><strong>From Carlos Germn Siufi on Fri, 07 Jan 2000
</strong></p>
<!-- ::
Netscape 4.7 as a POP Client
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I can't connect to my pop3 account using Netscape Messenger v4.7. My
problem is my user ID. It's the e-mail address. Example:
<br>"<tt>username@domain.com</tt>"
<br>I think Netscape only sends "<tt>username</tt>" not
"<tt>username@domain.com</tt>". Now
I'm using the command <tt>fetchmail</tt> with the <tt>-u</tt> parameter.
Example:
<br>"<tt>fetchmail mail.domain.com -u username@domain.com</tt>".
<br>It works. How can I fix Netscape Messenger?
</STRONG></P>
<P><STRONG>
Germn Siufi
<br>[From Argentina]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
German,
</BLOCKQUOTE>
<BLOCKQUOTE>
My personal inclination would be to use <tt>fetchmail</tt> to fetch
your mail into your local spool (or inbox) and just use Netscape
Communicator on that. I'd also configure NS to feed
outgoing mail to my MTA (my local copy of <tt>sendmail</tt>) and
let that do my masquerading, or use its support for
"from" rewriting (through the <tt>genericstable</tt> FEATURE) and
other mail handling.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you really insist on using NS' built-in POP and SMTP
support and letting it do this stuff directly then I'd
just play with the entry in the "Edit, Preferences,
Identity" dialog, trying to put in your full username@
domain name address.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 20 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/21"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 21 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>error: Interrupted system call</H3>
<p><strong>From Robert Richardson on Fri, 07 Jan 2000
</strong></p>
<!-- ::
error: Interrupted system call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi James
</STRONG></P>
<P><STRONG>
I am not sure who I should direct this question to: I have Dell
5100 workstation running RedHat Linux 6.0 (Kernel 2.2.5-15),
setup with NTP to provide time for LAN. It works great but I
sometimes, see in the the NTP log file, the message "<tt>29 Dec
16:28:33 ntpd[634]: select(11, #---#--#---, 0L, 0L, &0.000000)
error: Interrupted system call</tt>". This causes no problems, as
far as I can tell, but is there anything I should be concerned
about. I will appreciate any information you can provide.
Attached is a copy of the NTP log file. Thanks
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not sure what's causing this. However, I'd
suggest a couple of rather simple steps:
</BLOCKQUOTE>
<BLOCKQUOTE>
First, there was a bug on the default XFree86 servers
and some of the video cards that were shipping with
some Dell systems. The symptom was a very slow system
clock. The solution was to upgrade the XFree86 RPMs.
</BLOCKQUOTE>
<BLOCKQUOTE>
Second, the 2.2.5 kernels that shipped with
<A HREF="http://www.redhat.com/">Red Hat</A>
6.0 were pretty bad (as Linux kernels go). I'd
strongly recommend an upgrade to the 2.2.14 kernels
(which are MUCH more stable).
</BLOCKQUOTE>
<BLOCKQUOTE>
So download the kernel sources and build it. I don't
recommend using the RPM (or any package managment
system) for doing kernel upgrades. I just use the
main sources and build them using the Makefiles
(usually using <tt>make menuconfig</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
In this case I suspect a combination of an XFree86
bug and a kernel bug which is causing the problems
with the system clock. <tt>xntpd</tt> could easily be
sensitive to these sorts of things.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 21 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/22"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 22 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Overclocking a Motherboard? 233Mhz to 450Hmz?</H3>
<p><strong>From Steve on Fri, 07 Jan 2000
</strong></p>
<!-- ::
Overclocking a Motherboard? 233Mhz to 450Hmz?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have a motherboard in my PC that says it has a max processor
speed of 233mhz, i did'nt know this when i resently purchased a
450mhz CPU. Is there any way i can override this issue, my max bus
speed is 66.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I wouldn't recommend it. Bare motherboards are not very
expensive so you should be able to pick up one for
about a $100 or less that will take the CPU that you
got and still allow you to pull in your old DIMMs,
and adapter cards from the existing system.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course I'd double check the RAM (DIMMs, SIMMs or
whatever you've got) and make sure it is fast enough
that you aren't wasting the investment in the new CPU.
</BLOCKQUOTE>
<BLOCKQUOTE>
Personally I don't recommend CPU upgrades at all.
I suggest that people buy the CPU, motherboard, and
RAM together, and get them matched to one another.
Also it is quite unlikely that you applications are
actually CPU bound. Your CPU investment would probably
have been better spent in extra RAM or a faster
controller.
</BLOCKQUOTE>
<BLOCKQUOTE>
As you say your current motherboard's bus speed is
only 66Mhz. You probably want a motherboard that
runs at closer to 100Mhz (at least PC100 RAM). You
don't want the CPU sitting there waiting for its
own RAM all the time.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 22 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/23"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 23 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Fixing a lilo.conf After the Fact</H3>
<p><strong>From Don Benesch on Fri, 07 Jan 2000
</strong></p>
<!-- ::
Fixing a lilo.conf After the Fact
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Answerguy,
<br>Can you tell me how to switch operating systems on LiLo?
When I installed Redhat Linux I was not given the chance of selecting the
startup OS and it defaults to Linux. I share this computer, and need it to
start up in windows. I can <tt>Fdisk /mbr</TT>, but I thought that there
might be a quicker way to switch the * to the Windows OS.
Also, If I do <TT>/mbr</TT>, how do I put Lilo back on without going thru
the whole install?
</STRONG></P>
<P><STRONG>
<br>Thanks
<br>Don (New to Linux)
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Go back and read some of my articles on LILO. Just go the
the Linux Gazette web site and use their search engine.
</BLOCKQUOTE>
<BLOCKQUOTE>
You'll find a number of sample configurations files
(<TT>/etc/lilo.conf</TT>) and many long-winded explanations
of how to use the <TT>/sbin/lilo</TT> utility to write, re-write,
and remove the LILO boot loader code from your MBR,
your superblocks, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
Basically you want to add an "<tt>other</tt>" stanza to your
<TT>/etc/lilo.conf</TT> and run the <TT>/sbin/lilo</TT> command. That's
all there is to it. Understanding how that works and
what to put in that stanza and what your other alternatives
might be is why you need to do all that homework.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 23 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/24"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 24 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>CRC Error -- System Halted --</H3>
<p><strong>From Tom Manning on Tue, 11 Jan 2000
</strong></p>
<!-- ::
CRC Error -- System Halted --
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi there...
</STRONG></P>
<P><STRONG>
Problem I'm having with Linux is this: Couple of days ago, worked
great. Then one morning I booted up, typed "<tt>linux</tt>" at the LILO
prompt, and it immediately said "<tt>CRC ERROR --SYSTEM HALTED--</tt>"
</STRONG></P>
<P><STRONG>
End of story. <tt>CTRL-ALT-DEL</tt> doesn't even work, it has to be reset
manually. I can boot into Windows just fine.
</STRONG></P>
<P><STRONG>
Linux and Windows are on seperate hard drives, I'm running a
Celeron266 with 96MB RAM, ABIT BX6(1) motherboard.... What do you
think?
</STRONG></P>
<P><STRONG>
Thanks very much
</STRONG></P>
<P><STRONG>
Tom
<br>[Canada?]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It sounds like an ailing hard drive to me. Try a
boot/rescue floppy (Tom's Root/Boot is nice for this --
<A HREF="http://www.toms.net/rb"
>http://www.toms.net/rb</A>).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't mount your filesystems, try running fdisk to
view the partition table. The command '<tt>fdisk -l</tt>' will list
all available partitions on all drives (except for the
<A HREF="http://www.debian.org/">Debian</A> fdisk which will require a
series of commands like
'<tt>fdisk -l /dev/hda ; fdisk -l /dev/hdb</TT>' etc depending on the
number of drives you have --- they use a more powerful
version of fdisk which nonetheless has this limitation).
</BLOCKQUOTE>
<BLOCKQUOTE>
It's possible that the CRC error is only affecting your
track 0 (where your MBR, and the partition table are
stored).
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway it is almost certainly a hardware problem. If
you have a backup, I'd replace the drive (or at least
reformat it with badblock checking enabled) and restore
your system and data. If you don't have a backup, you
might be able to recover some of your data and filesystems
through some low-level disk editing heroics.
</BLOCKQUOTE>
<BLOCKQUOTE>
(If you've given up on recovering the filesystems and
data, and you want to confirm that it really is hardware
and not some Linux glitch, try using MS Windows to
repartition and reformat that second drive. Not that
MS Windows does that any better than Linux --- but you'll
know by that it's not "just us").
</BLOCKQUOTE>
<!-- sig -->
<!-- end 24 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/26"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 26 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Out of the Blue Strategic Advice for Red Hat</H3>
<p><strong>From dennis garber on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Out of the Blue Strategic Advice for <A HREF="http://www.redhat.com/">Red Hat</A>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
In order for redhat to succeed, they must do 4 things.
</STRONG></P>
<P><STRONG><ol>
<li> Buy www.phatlinux.com's distrubution. Offer it as an
alternative to yours
<li> Buy www.trelos.com 's version vmware.com
<li> Buy the technology of the lothar project. Which allows windows
plug and play devices to work under linux.
<li> Get some focus groups together to see if the information in the
documentation is getting accross to non programmers.
</ol>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have no idea where this advice comes from.
</BLOCKQUOTE>
<BLOCKQUOTE>
Are you a share holder or investor in PhatLinux, Trelos
Lothar, etc?
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course this raises the question: "succeed at what?"
</BLOCKQUOTE>
<BLOCKQUOTE>
I presume you mean something like: "for them to justify
their valuation by reporting profits on a scale to match
the earnings to capitalization ratio of traditional
companies."
</BLOCKQUOTE>
<BLOCKQUOTE>
Since I'm not a shareholder of Red Hat my initial
gut reaction is: "who cares?"
</BLOCKQUOTE>
<BLOCKQUOTE>
If I was a Red Hat shareholder I wouldn't ever expect
them to report profits or earning in line with their
market cap. It's a speculative holding, bought by people
who believe that its "buzz" will keep other investors
interested. That's basically like Yahoo! and other
high flying Internet stocks.
</BLOCKQUOTE>
<BLOCKQUOTE>
It appears to me that the stock market's absurd gains
in the last decade amount to a simple fact of the
current prosperity and concentration of wealth in
our economy: "There's no where else to stash it."
</BLOCKQUOTE>
<BLOCKQUOTE>
It is generally accepted that putting money into banks
for a paltry 3% to 5% return is a way to slowly LOSE
your money due to inflation and taxation. Other
forms of investment such as real estate and the bond
market are driven more by inflation. When we have low
inflation those investments won't "perform" well.
</BLOCKQUOTE>
<BLOCKQUOTE>
Meanwhile the poor are getting poorer, the middle
class are working hard and spending more, and the rich
are getting richer. The hard working middle class
have put money (or had it deducted) into pension plans.
</BLOCKQUOTE>
<BLOCKQUOTE>
So we have billions of dollars (the holdings of the
pension plans, and those of the rich individuals and
corporations) which have to "go somewhere." There's
incredible social and economic pressure for that money
to be "working."
</BLOCKQUOTE>
<BLOCKQUOTE>
Since the U.S. economy is the strongest in the world
and the North American continent is one of the
most politically stable there is little incentive to
invest overseas. So most of the money will stay
on our stock markets.
</BLOCKQUOTE>
<BLOCKQUOTE>
(This is not to say that we are the "good guys." From what
I've read of Chomsky, Uncle Sam stirs up much of this
international trouble. We later don our white hat and make a
great show of our heroic efforts to make peace. To read
more on that topic visit the "The Noam Chomsky Archive"
<A HREF="http://www.lbbs.org/chomsky/index.cfm"
>http://www.lbbs.org/chomsky/index.cfm</A> and consider getting
and reading a copy of "Deterring Democracy" in particular).
</BLOCKQUOTE>
<BLOCKQUOTE>
As for Red Hat I don't know that PhatLinux is such a
critical aquisition for them. There have been several
"FAT Linux" distributions (running under a subdirectory
on an MS-DOS/MS Windows filesystem) over the years.
There is a Macmillan product known as something like:
"Linux for Windows" (which might be a re-packaging
of PhatLinux for all I know). You can find info about
it at <A HREF="http://www.macmillansoftware.com/mac_software"
>http://www.macmillansoftware.com/mac_software</A>
if you're willing to put up with the JavaScript that they
force all over their page. It's basically unusable in
Lynx and I don't feel inclined to fire up X to look
at it (since I'm writing this through an ssh link
about three U.S. states from my home mailbox).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, Red Hat could create a "no-repartition" Linux
product. They could buy a company that's done it
(build or buy --- it's the recurring question for every
business' software strategy).
</BLOCKQUOTE>
<BLOCKQUOTE>
I have no experience with PhatLinux
(<A HREF="http://www.phatlinux.com"
>http://www.phatlinux.com</A>) so I can't offer an opinion on
the technical merits for this suggestion. They (Red Hat)
would presumably want their own analysts to make that
decision.
</BLOCKQUOTE>
<BLOCKQUOTE>
TreLOS' "Win4Lin" (<A HREF="http://www.trelos.com"
>http://www.trelos.com</A>) clone of
VMWare (<A HREF="http://www.vmware.com"
>http://www.vmware.com</A>) might be an
interesting aquisition. Of course, with Red Hat's
market capitization they could court VMWare directly.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've never used either of these products personally.
Most of my associates at <A HREF="http://www.linuxcare.com/">Linuxcare</A>
(<A HREF="http://www.linuxcare.com/">www.Linuxcare.com</A>)
use VMWare when they need to access "legacy" MS Windows apps
(and even when they want to run a copy of Linux under a virtual
machine).
</BLOCKQUOTE>
<BLOCKQUOTE>
Again, I can't speak to the technical merits of such an
aquisition.
</BLOCKQUOTE>
<BLOCKQUOTE>
There's also Kevin Lawton's Freemware
(<A HREF="http://www.freemware.org"
>http://www.freemware.org</A>) is an open source project to
implement something like Win4Lin and VMWare. Kevin Lawton
wrote the Bochs package which is a shareware virtual machine
(that implements an x86 on any UNIX platform).
</BLOCKQUOTE>
<BLOCKQUOTE>
Meanwhile let's not forget the <A HREF="http://www.winehq.com/">WINE</A> project
<A HREF="http://www.winehq.com"
>http://www.winehq.com</A> which is continuing to plug away at
running MS Windows programs under Linux (in this case
without need for an emulator or hardware virtualization
layer).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, Red Hat (or other Linux companies) have a smorgasbord of
MS-Windows binary compatability technologies to choose from.
</BLOCKQUOTE>
<BLOCKQUOTE>
Lothar (<A HREF="http://www.linux-mandrake.com/lothar"
>http://www.linux-mandrake.com/lothar</A>) is a project
that is being spear-headed by MandrakeSoft, a competitor to
Red Hat. In addition it basically overlaps some of the
functionality that Red Hat hopes to implement in Linuxconf
(a package in which they've already invested some effort and
support). However, Lothar does seem to be an open source
project --- so any contribution by Red Hat could benefit
them (and everyone ele). It looks like Lothar is focused
primarily on the administration and configuration of
hardware. Basically let's provide a good UI for "adding
hardware" (one that's better and more robust than Win '9x's
infamous "Adding Hardware" wizard).
</BLOCKQUOTE>
<BLOCKQUOTE>
Your last suggestion makes more sense than any of the
others. Of course one should be careful with "focus goups."
If the methods used in selecting participants and conducting
the research aren't exceptionally good, then you just end
up drawing conclusion from the exercise that match
assumptions that you fed into it.
</BLOCKQUOTE>
<BLOCKQUOTE>
All of your suggestions do have a consistent theme. They
all relate to the growth of Linux on the PC desktop.
</BLOCKQUOTE>
<BLOCKQUOTE>
It seems that Red Hat doesn't consider that to be a
strategic priority. I can understand their point of
view there. They are trying to "break into" lucrative
niches "where the money is." That is suggested by
their aquisition of Cygnus.
</BLOCKQUOTE>
<BLOCKQUOTE>
Linux on the desktop will probably happen. Red Hat will
probably help. However, the migration away from MS Windows
on home and client systems will be primarily driven by users
and free programmers (including Red Hat developers in their
"free" time).
</BLOCKQUOTE>
<BLOCKQUOTE>
Meanwhile, Red Hat has "bigger fish to fry" (or so they
hope).
</BLOCKQUOTE>
<BLOCKQUOTE>
As to which breeds of fish they're cooking, I wouldn't
know. Unfortunately for them Red Hat seems to lack focus.
They claim to want to build up their services --- yet they
still lack credibility in their support and professional
services offerings.
</BLOCKQUOTE>
<BLOCKQUOTE>
Their bread and butter has been shrink wrap --- and they are
getting nailed by Macmillan's Mandrake based packages (which
have a well-established retail channel through their ties to
book stores).
</BLOCKQUOTE>
<BLOCKQUOTE>
Their purchase of Cygnus would suggest a diversification
into tool chain and embedded systems (the strengths of
that company).
</BLOCKQUOTE>
<BLOCKQUOTE>
Their announced strategic relationships with Oracle et al
suggest a focus on the IT server room --- the old NT killer.
</BLOCKQUOTE>
<BLOCKQUOTE>
I personally see these as different directions. None of
them point to Joe consumer and the desktop.
</BLOCKQUOTE>
<BLOCKQUOTE>
Their support of <A HREF="http://www.gnome.org/">GNOME</A> can be
seen as a desktop oriented
initiative. However, it seems that the public, even the
IT purchasing public suffers from the delusion that servers
need GUIs. So I'm not sure that this is a compelling argument.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway I think that Red Hat does hope to "cash in on" the
name recognition that they've built. They don't seem to
think that retail sales of their distribution will sustain
reasonable growth for them. They're right!
</BLOCKQUOTE>
<BLOCKQUOTE>
The Linux market is overly "distribution"-manic. There is
relatively little difference among distributions. Red Hat,
<A HREF="http://www.suse.com/">S.u.S.E.</A>,
<A HREF="http://www.caldera.com/">Caldera</A>,
<A HREF="http://www.turbolinux.com/">TurboLinux</A>,
<A HREF="http://www.debian.org/">Debian</A>, Corel and
<a href="http://www.stormix.com/">Stormix</a> are
all fundamentally the same software.
</BLOCKQUOTE>
<p><em>[ With different installers, each having their own idea of glitz.
Actually, the packaging system
is a slight delimiter -- .rpm vs .deb -- but with the help of
a small package called <tt>alien</tt>, even that can generally
be overcome quickly.
-- Heather ]</em></p>
<BLOCKQUOTE>
With an effective LSB (*) we wouldn't even have to ask
"what distribution is that for/from?" You could simply
install, configure and manage any package from the open
source world without worrying about the details.
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Linux Standards Base: <A HREF="http://www.linuxbase.org"
>http://www.linuxbase.org</A>)
</ul>
I think Red Hat realizes the truth in this and is frantically
seeking other revenue streams. The sad think is that the
shrink-wrapped/packaging business is not such a bad one
to be in. It did, after all, get them where they are today.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 26 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/27"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 27 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>"Hardening" a Red Hat (into a Helmet?)</H3>
<p><strong>From Judith Bride on Tue, 11 Jan 2000
</strong></p>
<!-- ::
"Hardening" a <A HREF="http://www.redhat.com/">Red Hat</A> (into a Helmet?)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Mr. Dennis,
<br>Can you direct me to a source that will tell me how to secure our
RHLinux 6.0 DNS server. I am new to Linux. We only use it for DNS, so
we want to make sure we've closed all unnecessary services.
</STRONG></P>
<P><STRONG>
Thanks.....
<br>Judith
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You could start with Bastille Linux at
<A HREF="http://www.bastille-linux.org"
>http://www.bastille-linux.org</A>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 27 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/28"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 28 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Virtual Mail Hosting in a Single Inbox</H3>
<p><strong>From Dina Yazbeck on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Virtual Mail Hosting in a Single Inbox
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Dear Sir
</STRONG></P>
<P><STRONG>
I am basicaly trying to host a domain and have all the emails of
the users of this domain (<tt>remotedomain.com</tt>) sent to one particular
mailbox (such as <tt>remotedomain@myisp.net</tt>) This is straigh forward.
Assuming that the remote domain machine (LINUX) polls the ISP
server. What is the procedure to use to retrieve this mail and
distribute it the respective mailboxes of the users mail boxes.
Waiting for your reply.
</STRONG></P>
<P><STRONG>
Thank you.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Personally I despise this method of virtual
mail hosting, and I won't do it to my friends and
customer (nor would I let an ISP do it to me).
</BLOCKQUOTE>
<BLOCKQUOTE>
However, you can read the Fetchmail FAQ for
too much information on this.
</BLOCKQUOTE>
<BLOCKQUOTE><blockquote><code>
<A HREF="http://www.tuxedo.org/~esr/fetchmail/fetchmail-FAQ.html"
>http://www.tuxedo.org/~esr/fetchmail/fetchmail-FAQ.html</A>
</code></blockquote></BLOCKQUOTE>
<!-- sig -->
<em><p>[ It might be possible to severely abuse plus-addressing to do
it. See the Procmail Tips Pointer, and jump to section 13.2:</p>
<blockquote><code><a href="http://www.faqs.org/faqs/mail/procmail/tips-pointer/" >http://www.faqs.org/faqs/mail/procmail/tips-pointer/</a>
</code></blockquote>
<p>-- Heather ]</p></em>
<!-- end 28 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/29"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 29 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Out-"Fox"-ing the Fox?</H3>
<p><strong>From S.R. Dawson on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Out-"Fox"-ing the Fox?
~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Not sure if you can help me, but I have thousands of records stored in the
original Foxbase+, Version 2.0 database, which are all *.dbf files, totally
MS-Dos based. Are there any utilities that I could aquire which would be
able to read these files and convert to a Windows-based database?
</STRONG></P>
<P><STRONG>
Thank you.
<br>Steve Dawson
<br>Terre Haute, In
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I suppose you could install Linux, and write some
scripts using dbview (*) convert them to text,
copy them back to an MS-DOS partition and then use them
in Microsoft's Foxbase!
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
( <A HREF="http://www.infodrom.north.de/~joey/Linux/Debian/dbview.html"
>http://www.infodrom.north.de/~joey/Linux/Debian/dbview.html</A> )
</ul>
Actually I don't do (MS) Windows and it's too early
in the year for me to be thinking about April Fool's Day.
</BLOCKQUOTE>
<BLOCKQUOTE>
Why don't you just ask a nice purveyor of MS Windows
software (tens of thousands of apps at your local
Egghead --- err, Software Supermarket)?
</BLOCKQUOTE>
<!-- sig -->
<!-- end 29 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/30"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 30 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Adding a Disk</H3>
<p><strong>From Samuel Q Roodman on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Adding a Disk
~~~~~~~~~~~~~
:: -->
<P><STRONG>
I recently got Mandrake 6.1 up and running on Pentium 90 with 48
mb of ram. The question I have is: The system is running with a
scsi drive and I wish to add another. How do I access the drive
to format it and then access the directories once its formated?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Add the new drive by assigning it a unique SCSI ID
for the bus/cable on which you are adding it, and
resolving any termination issues that come up.
</BLOCKQUOTE>
<BLOCKQUOTE>
Once you've restored your system to functionality ---
with the new drive physically/electronically
connected then it's easy.
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li>run: <tt>fdisk /dev/sdb</TT>
<br>(Assuming you only have one drive now,
the new drive should be <TT>/dev/sdb</TT>).
<li> create any partitions you like on the
new drive. BE CAREFUL! Don't blow away
partitions on your old drive. I recommend
that your existing drives be assigned
IDs that are numerically than the new drive(s).
<li>for each partition:
<br><tt>mke2fs -c /dev/sdbX</TT>
<br>.... BE CAREFUL! Make sure that you use the
appropriate <TT>/dev/sd?</TT> node or you'll format
one of your existing filesystems.
<li> edit your <TT>/etc/fstab</TT>. I use a text editor (<tt>vi</tt>
or <tt>xemacs</tt> in vi emulation mode), but there are
several user interfaces (GUIs and text/curses
menuing systems) that can help you with that.
</ol></BLOCKQUOTE>
<BLOCKQUOTE>
Typical new entries might look something like:
</BLOCKQUOTE>
<blockquote><pre>/dev/sdb1 /u1 ext2 defaults 1 0
/dev/sdb2 /u2 ext2 defaults 2 0
</pre></blockquote>
<BLOCKQUOTE>
... The device names should match the ones
you used for those <tt>mke2fs</tt> commands. The second
column lists "mount points" which should be
empty directories that you create wherever it
suits your needs. You can name them anything
you like (pretty much).
</BLOCKQUOTE>
<BLOCKQUOTE>
Read the <tt>fstab(5)</tt> man page using the command:
<br><tt>man fstab</tt>
</BLOCKQUOTE>
<BLOCKQUOTE>
... the (5) is a UNIX convention for referring to a
keyword or man page reference by specifying which
chapter or section of the man pages is appropriate.
</BLOCKQUOTE>
<BLOCKQUOTE>
(That convention arose because many system calls,
library functions, and commands and some commands
and their configuration files have the same
names).
</BLOCKQUOTE>
<BLOCKQUOTE>
That's basically all there is to it. Once you've physically
connected the new drives, you can do all of this (including
mounting the new filesystems and using them) without
rebooting.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that the example as given would automatically
mount these new filesystems on reboot. To use these
filesystems after editing the fstab and WITHOUT rebooting
simply issue a series of commands like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
mount /u1; mount /dev/sdb2
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... where you refer to the unique value in either of the
first two columns/fields of the fstab entries (the device
or the mount point). The mount command will search the
fstab for a matching entry and supply the rest of its
arguments therefrom.
</BLOCKQUOTE>
<BLOCKQUOTE>
(Of course you can read the mount(8) man page for info
on mounting filesystems without editing the fstab file.
To do a temporary mount you simply provide all of the
details on the mount command line, and leave your
fstab alone).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note: if you mount a filesystem over a non-empty
directory there will be no harm done. However the
underlying contents will be inaccessible (hidden)
until you umount the overlaid fs. This is NOT
recommended practice, so you should consider it a
mistake if you do this.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 30 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/31"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 31 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Serial Capture</H3>
<p><strong>From Glenn Proctor on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Serial Capture
~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Is there a way to view ascii data in a terminal session coming through
my linux pc's serial port? My business does a lot of data ingest over
direct connections, muxes and that sort of thing. Quite often I wish I
had a quick way to troubleshoot or check new connections to see that
the data coming across is ungarbled or is even hitting the serial
port.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Look for TTYSnoop at Freshmeat:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
<A HREF="http://www.freshmeat.net/appindex/1999/09/05/936520647.html"
>http://www.freshmeat.net/appindex/1999/09/05/936520647.html</A>
</code></BlockQuote></BLOCKQUOTE>
<!-- sig -->
<!-- end 31 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/32"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 32 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Remote Control through Telnet</H3>
<p><strong>From Dirk Blennemann on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Remote Control through Telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Dear James,
</STRONG></P>
<P><STRONG>
I noticed your address on the <A HREF="http://www.linuxcare.com/">Linuxcare</A> pages and understood that
your are a Linux expert.
</STRONG></P>
<P><STRONG>
I like to control a Linux server via Telnet. Do you have an idea
where I may find information about that subject?
</STRONG></P>
<P><STRONG>
Thank you very much in advance!
</STRONG></P>
<P><STRONG>
Dirk
<br>[Germany]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Any book on Unix will tell you how to access text
mode and shell applications and utilities. Linux and
UNIX basically don't distinguish among text console,
serial terminal, telnet, and other forms of terminal
access.
</BLOCKQUOTE>
<BLOCKQUOTE>
There's not much else to say on that subject.
I recommend the use of <tt>ssh</tt>, SSL telnet or other secure
variants of the client/server package to protect you
from sniffing (which is a big problem for traditional
<tt>telnet</tt>) and spoofing (which is the bane of
<tt>rsh</tt> and <tt>rlogin</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
It is also possible to remotely execute graphical
applications. You run any X server on a system at
hand (in front of you), and you can run X Windows
programs on other hosts (clients) by exporting the
DISPLAY environment variable on the remote shell.
</BLOCKQUOTE>
<p><em>[ As long as the client running the app can remotely access
the I/O server on port 6000 or so. -- Heather ]</em></p>
<BLOCKQUOTE>
<tt>ssh</tt> will allow this very easily and securely. It
can automatically export the appropriate variable/value
to your remote host and will encrypt all the X lib
protocol traffic through its own tunnel.
</BLOCKQUOTE>
<BLOCKQUOTE>
This is a rather big topic, but any books on Linux
and UNIX should cover it in great detail.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 32 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/33"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 33 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Jaton 107 Blade 3D and XFree86</H3>
<p><strong>From Eduardo Castello on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Jaton 107 Blade 3D and XFree86
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have a Jaton 107 Blade 3D with 8Mb and a SamSung Syncmaster 550s
and I can't configure the X server!!!
</STRONG></P>
<P><STRONG>
What should I do?!!!
</STRONG></P>
<P><STRONG>
Please help me!!!!!!!!!!!!!!!!!
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have never heard of a "Jaton 107" --- but Blade 3D are
Trident chipsets. A search on <A HREF="http://www.google.com/linux"
>http://www.google.com/linux</A>
shows people reporting success with AGP Blade 3D and
XFree86 3.3.5 and another using XFree86 3.3.4 from
<A HREF="http://www.suse.com/">S.u.S.E.</A>
(AGP or PCI unspecified).
</BLOCKQUOTE>
<BLOCKQUOTE>
The XFree86 web site is the canonical source of what
chipsets are supported by their X server. The Trident
Blade3D is listed on the 3.3.5 support list at
<A HREF="http://www.xfree86.org/3.3.5/README3.html"
>http://www.xfree86.org/3.3.5/README3.html</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course this assumes that you're trying to use XFree86.
There are also commercial X servers like X Inside
(from Xig) and and Metro-X (from Metrolink).
</BLOCKQUOTE>
<BLOCKQUOTE>
Your message doesn't give any clues as to what distribution
you're using, what X server you're having trouble with,
or even what specific problem you're having.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hint: When asking for tech support, especially free
support, via e-mail BE SPECIFIC! At least tell the nice
support person what you tried, and what happened.
</BLOCKQUOTE>
<BLOCKQUOTE>
Other Hint: Do your homework. Read some of the back
issues of my column and you'll find about 100 messages
where people have asked variations of: How do I get
X to work with _____ video card? I answer them all
about the same way. I look for the video card in
Google, Alta Vista, Yahoo! etc to see if I can guess
the chipset. Then I look at the XFree86 site to see
if its on their supported list. Then I suggest that they
consider getting one of the other X servers or getting
a supported video card. (Meanwhile my searches include
the keyword: Linux so I also get some testimonials and
comments from Linux users who mention these cards).
</BLOCKQUOTE>
<BLOCKQUOTE>
The answer is always the same:
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li> Determine the chipset.
<li> Check XFree86 web site and FAQ
<li> Check a few search engines
<li> Consider purchasing a replacement:
<ol type="a">
<li> a supported card
<li> one of the commercial X servers
</ol>
</ol></BLOCKQUOTE>
<!-- sig -->
<!-- end 33 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/34"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 34 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Redirecting stdin into telnet</H3>
<p><strong>From Christopher Smith on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Redirecting stdin into telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I'm running <A HREF="http://www.redhat.com/">Red Hat</A> 6.0, and I'm
trying to redirect my telnet
stdin from a file. Whenever I use either a pipe or <tt><</tt> input, the
client connects, informs me that the <tt>escape is ^]</tt>, and says <tt>the
remote server has closed the connection</tt>. What's wrong?
</STRONG></P>
<P><STRONG>
Example: $ <tt>telnet csmith < input.txt</tt>
</STRONG></P>
<P><STRONG>
Christopher Smith
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I've seen examples of telnet scripting being done this
way. However, I think it probably depends on the
version of telnet that you're using and there is a
better way.
</BLOCKQUOTE>
<BLOCKQUOTE>
For example when I do an strace on my copy of
telnet I find a number of system calls like:
</BLOCKQUOTE>
<blockquote><pre>ioctl(0, SNDCTL_TMR_STOP, {B134 -opost -isig -icanon echo ...}) = -1 ENOTTY (Inappropriate ioctl for device)
</pre></blockquote>
<BLOCKQUOTE>
Note that result: <tt>ENOTTY</tt> which is kernel speak for
"Error, this file handle doesn't refer to a terminal
device (TTY)"
</BLOCKQUOTE>
<BLOCKQUOTE>
This suggests that telnet is detecting that its
input file handle is not a terminal device, and is
bailing at that point.
<ul><li> (It would be nice if it
gave an error message a unique error code and if
they listed this constraint in their man pages).</ul>
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway, simple redirection is not the way to
run interactive programs like telnet under scripted
control. You probably want to use the 'expect'
scripting language instead.
</BLOCKQUOTE>
<BLOCKQUOTE>
For example, here's a simple 'expect' script to
control telnet sessions:
</BLOCKQUOTE>
<blockquote><pre>#!/usr/bin/expect -f
# Sample telnet automation
## call with autotel host username password
set host [lindex $argv 0]
set rcfile [open ~/.autotel/$host r ]
gets $rcfile user
gets $rcfile pass
spawn telnet "$host"
expect "login:"
send "$user\r"
expect "word:"
send "$pass\r"
interact
</pre></blockquote>
<BLOCKQUOTE>
This appears in my book (<a href="http://www.amazon.com/exec/obidos/ASIN/1562059343/linuxsystemadmin/104-3347499-9099625"
>Linux System Administration</a>,
published by New Riders Publishing). You call it like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
autotel foo
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... and it will automatically look for a .autotel/foo
file under you home directory, read a pair of lines
for the user name and password. Then it uses them to
login to the host (whose name must match the
<tt>.autotel/</tt> filename (*) ).
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Actually the version of this on my own
system read three lines from the autotel
files: a location, and the username/password
pair).
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
As I say this is a very simple 'expect' script. It
shows the most basic features of the language:
you can do all of the normal things like open
files, read from and write to them, do basic string
handling and arithmetic, etc. But the features of
'expect' for which it is renouned include the ability
to '<tt>spawn</tt>' interactive processes on psuedo-terminals
(ptys), and to '<tt>expect</tt>' certain patterns from the
them, and '<tt>send</tt>' strings back to them.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course 'expect' has support for the common conditional
and looping structures, and the '<tt>expect</tt>' function supports
timeouts values. So you can write arbitrary handling for
errors and situations that don't match your intended
dialog.
</BLOCKQUOTE>
<BLOCKQUOTE>
There's also the '<tt>interact</tt>' function which allows
your script to turn the keyboard back over to you,
so that the script then passively relays your input
and the program's output. Actually the '<tt>interact</tt>'
function is even more powerful than than since it
can also monitor the communications and dynamically
"catch" certain key sequences, expanding them into
macros, or using them as triggers to execute your
own defined procedures or to break out of the
interaction and complete other parts of the script.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, I'd check out the 'expect' programming language
and see if that will help. Here's an untested script
that would do something like what you wanted:
</BLOCKQUOTE>
<blockquote><pre>#!/usr/bin/expect -f
# Sample telnet "feeder"
set host [lindex $argv 0]
set infilename [lindex $argv 1]
set infile [open $infilename r ]
spawn telnet "$host"
while [ gets $infile line ] {
sleep 1
send -- $line
}
</pre></blockquote>
<BLOCKQUOTE>
(This would just blindly feed lines into a telnet
session from your input file. It's pretty stupid,
but you'd call it with something like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
telfeeder host.domain.not ./filename
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... note the lack of redirection here).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that it's also possible to use C-Kermit
(the kermit communications package from Columbia
University <A HREF="http://www.columbia.edu/kermit"
>http://www.columbia.edu/kermit</A>) to automate
and script a communications session. I wrote an
article about this for SysAdmin Magazine
(<A HREF="http://www.samag.com/archive/0607/index.shtml"
>http://www.samag.com/archive/0607/index.shtml</A>) back
in 1997. The key point of that article (which is
not online, though I could probably re-publish myself
now) is that Kermit is not just a file transfer protocol
and it is not limited simply to modem and serial
communications, it has support for telnet and rlogin
protocols.
</BLOCKQUOTE>
<BLOCKQUOTE>
In fact Kermit as improved since my article:
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
it now supports Kerberos authentication and encryption
<li>
it has internal SSL support
<li>
it can use some other program like ssh for its
communications channel.
<li>
it can now operate as an alternative to FTP
using providing a number of advantages over the
somewhat decrepit FTP protocol.
<li>
the license has been clarified and liberalized
a bit, to allow re-distribution with free OS
packages (like Linux, *BSD, etc) etc.
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
(Some of these were features I recommended to Frank
de la Cruz, the father of Kermit, during my research and
in subsequent e-mail conversations. However, I'm by no
means the only person to make these sorts of suggestions and
I couldn't claim any credit for their development).
</BLOCKQUOTE>
<BLOCKQUOTE>
One other alternatives to 'expect' that comes to mind is the
<tt>Expect.pm</tt>, PERL module which add 'expect' features to the
PERL 5 language. (The old PERL 4 had a <tt>comm.pl</tt> library that
offered some of these features as well).
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm sure there are others.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hopefully this will help you solve the real problem that
you're bumping into. Obviously, solving the problem goes
way beyond just answering the question you asked.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 34 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/36"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 36 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>New Installation Stops at LI</H3>
<p><strong>From Gene Becker on Tue, 18 Jan 2000
</strong></p>
<!-- ::
New Installation Stops at LI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have loaded my new <A HREF="http://www.redhat.com/">Red Hat</A> 6.1 several times and when I reboot it comes up
to LI and then blinks a curser. At this point I can do nothing and it will
set there indefinitely.
HELP!
</STRONG></P>
<P><STRONG>
Gene Becker
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Next time you re-install, try putting your boot or root
Linux filesystem in a SMALL partition at the beginning
of the drive. I'd suggest a <TT>/boot</TT> filesystem of less
than 32Mb and/or a root (<TT>/</TT>) filesystem of less than
127Mb.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't do that because you have an MS-DOS
or MS Win '9x partition in the way, then use LOADLIN.EXE.
</BLOCKQUOTE>
<BLOCKQUOTE>
The probably is probably that your BIOS doesn't
know how to access parts of your disk, particularly
those portions of the hard disk that lie beyond the
1024 cylinder boundary.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've explained this well over 100 times in this
column so I highly recommend searching on the terms
LILO and LOADLIN in the Linux Gazette archives. (Using
the search engine). That's at
<A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A> and you can find
many mirrors to them at <A HREF="http://www.google.com/linux"
>http://www.google.com/linux</A>
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 36 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/37"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 37 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Netscape can't find ANY of THEM</H3>
<p><strong>From Space on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Netscape can't find ANY of THEM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I know this is a silly question, but I just can't seem to figure this
out. I setup my ISP and dial in and log on ok, then when I open Netscape and
try to open a web page Netscape can't find any of them!?!?! I had it fixed
once but since then I have reinstalled RH 6.1 again and can't remember how I
fixed it. I am starting a journal and keeping track from now on! Thanks
Answer Guy
</STRONG></P>
<P><STRONG>
Space@
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Sounds like you have something wrong with your
<TT>/etc/resolv.conf</TT> (like it's empty or it doesn't
list any valid name servers).
</BLOCKQUOTE>
<BLOCKQUOTE>
Ask your ISP for a list of preferred name servers.
(You can use just about any on there on the
Internet so long as you have IP addressing and
routing working, but it's polite to use the
ones that are "close" to you).
</BLOCKQUOTE>
<BLOCKQUOTE>
If that still doesn't work, then look at
your <tt>nsswitch.conf</tt> and consider replacing it
with something more like:
</BLOCKQUOTE>
<blockquote><pre># /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
</pre></blockquote>
<BLOCKQUOTE>
The <tt>nsswitch.conf</tt> that comes with
<A HREF="http://www.redhat.com/">Red Hat</A> is
silly and makes all sorts of reference to NIS and NIS+
services which you probably aren't using. Those
should be harmless though they do impact performance.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 37 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/38"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 38 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Can't Log in as 'root' via telnet</H3>
<p><strong>From liberty on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Can't Log in as 'root' via telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
hi ; !
</STRONG></P>
<P><STRONG>
I can t make a "root" login from a computer to the linux computer
with telnet , but I can make it with another name user , and after
i can make "<tt>su</tt>" command .... do you know this problem or
security,? thanks
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
That's the way it's supposed to work.
The normal login services check for a file
named <TT>/etc/securetty</TT> and will refuse to accept
a direct root login from any terminal/device that is
not listed there.
</BLOCKQUOTE>
<BLOCKQUOTE>
Depending on the exact distribution and version it
may be possible to simply rename that file if you
insist on over-riding this policy and allowing root
logins from anywhere. In other cases you might have to
edit one or more of the "service" files under <TT>/etc/pam.d/</TT>
to remove the lines that refer to the PAM securetty
module.
</BLOCKQUOTE>
<BLOCKQUOTE>
In general it is better to accept this policy and
use '<tt>su</tt>' Indeed it is even better to disable telnet
and replace it with '<tt>ssh</tt>' (which generally doesn't
impose this restriction, though it can be configured
to do so).
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 38 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/39"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 39 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Exceed (MS Windows X Server) and Linux</H3>
<p><strong>From Sam.Young on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Exceed (MS Windows X Server) and Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
James:
</STRONG></P>
<P><STRONG>
I came across an article regarding Exceed and Linux authored by
you and I wanted to drop you a line.
</STRONG></P>
<P><STRONG>
I have Exceed V6.1 on a Win98 PC and a Linux V6.0 server. I'd
like to use exceed on the Win98 PC to do a X-windows emulation to
the Linux server.
</STRONG></P>
<P><STRONG>
Can you point me in the right direction for some configuration
instructions? What do I have to 'start' on the Linux server?
What 'start up method' should I use in Exceed? What command do I
need to pass from the Exceed client to Linux to work properly?
</STRONG></P>
<P><STRONG>
Thanks. Sam
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The most I would have done is made a passing
reference to Exceed. I've never installed or configured
it myself, though I've used it occasionally.
</BLOCKQUOTE>
<BLOCKQUOTE>
Linux can support all of the common Unix X protocols.
So you can run <tt>xdm</tt> (X display manager) under Linux and
Exceed should offer options to broadcast or query
for "managed displays" (which should find any Linux
box running <tt>xdm</tt>). This networking function of xdm
is really more core to its operation than the simple
GUI login that most Linux users think of when they
talk about <tt>xdm</tt>.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's also possible to configure your Linux system
to allow <tt>rsh</tt>/<tt>rlogin</tt> (or <tt>telnet</tt>, <tt>ssh</tt>, etc) and the only
commands you should have to run on it in order to
allow it to open windows on your X server (Exceed)
is: <tt>export DISPLAY=</tt>$YOUR_EXCEED_WINDOWS_IP_or_DNSNAME<tt>:0</tt>
(don't forget the colon zero at the end of that).
</BLOCKQUOTE>
<BLOCKQUOTE>
That's all there should be to it. Once you've
remotely executed that command, and possibly added
the Linux box to your "<tt>xhost</tt>" or access control
list then you should be able to use X clients to your
heart's content.
</BLOCKQUOTE>
<BLOCKQUOTE>
Exceed is a commercial package. It should have come
with documentation and there should be technical support
available. Using Exceed to display your Linux X clients
is ABSOLUTELY NO DIFFERENT then using it with any generic
UNIX system. So, if you have any other trouble, get them
to deliver the tech support that you've paid for.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 39 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/40"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 40 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Double Reverse DNS Strikes Again</H3>
<p><strong>From Nelson Carvalho on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Double Reverse DNS Strikes Again
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
hello
<br>im contacting regarding linux. i have linux box with apach and fpt and
<tt>sendmail</tt> (pop3,smtp) and a dns server and dhcp server and it work fine and
fast from linux machine to linux machine. now i also have this linux box
connected to a few windows machines, now i try to <tt>ftp</tt> from the windows
machine to the linux box and it takes at least 90 seconds for it to connect
to it, once connected it is fast and good. it also does the same thing if i
try using outlookexpress to check email on the linux box. it takes about 90
seconds for it to connect and send messages, just wondering if you have any
suggestions on what might be happening?
<br>the web browser for www works with no hesitation, only ftp and mail take 90
seconds or more to establish a connection.
<br>also these computers are not connected to the internet, its a private
network.
</STRONG></P>
<P><STRONG>
i appriciate any help u could give me
<br>thanks.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It sounds like you don't have DNS nor <TT>/etc/hosts</TT> entries
for your MS Windows clients. If you add the IP addresses
and some names for those clients to one or the other of
these then your problem will probably go away.
</BLOCKQUOTE>
<BLOCKQUOTE>
Search my back issues on the string "double reverse dns"
or "double reverse lookup" for the gory details. (Hint:
it has to do with TCP Wrappers and how it figures how
"who" is connecting so that it can log the connection and
so that it can make policy decisions according to the
content in your <TT>/etc/hosts.allow</TT> and <TT>/etc/hosts.deny</TT> files).
</BLOCKQUOTE>
<BLOCKQUOTE>
The easiest and smartest solution is to make sure that
you have proper reverse entries in your DNS zones and/or
your <TT>/etc/hosts</TT> files for all of your systems.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 40 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/41"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 41 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Closing Ports, Disabling Unwanted Services</H3>
<p><strong>From Troy Miller on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Closing Ports, Disabling Unwanted Services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I'm new to Linux and I'm trying to secure my PC. I have a DSL line and I
found out I have 4 open ports (FTP, Finger, Telnet and SMTP). I'm trying to
find a resource on how to close these ports. I do not plan to use them at
this time. I don't want to compromise my system.
</STRONG></P>
<P><STRONG>
Thanks,
<br>Troy
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Bravo! You are doing the right thing.
</BLOCKQUOTE>
<BLOCKQUOTE>
Three of the services you mention are usually launched
dynamically by inetd. So you can disable them by
editing your <TT>/etc/inetd.conf</TT> file, find these services
by name, and commenting them out of the file (inserting
a "<tt>#</tt>" (hash/pound sign) at the beginning of those lines).
After that you can send a HUP signal to inetd to force it
to re-initialize itself. You can use the following command
to do that:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
kill -HUP $(cat /var/run/inetd.pid)
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
Of course, in this case you aren't running ANY other
inetd services so you can even just kill you inetd process
using a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
/etc/rc.d/init.d/inetd stop
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... or something like that. (The exact path to your
<TT>/etc/.../init.d</TT> scripts might differ depending on
your distribution).
</BLOCKQUOTE>
<BLOCKQUOTE>
You can also find an remove the <tt>rcX.d</tt> scripts that
start inetd during boot if you like. Your system
might have a '<tt>chkconfig</tt>' command to manage those
SysV init symlinks for you, or you can use the
technique that I've described here before
(create <TT>/etc/.../rc*.d/disabled</TT> directories, and
move the S??... symlinks into those as appropriate).
</BLOCKQUOTE>
<BLOCKQUOTE>
Search the back issues for "sysv init" to hear the
long-winded discussion of how all of that works.
</BLOCKQUOTE>
<BLOCKQUOTE>
That leaves the SMTP service. That is probably being
provided by sendmail, which is probably being loaded
"standalone" (not dynamically through inetd). So you
also want to find the <TT>/etc/.../rcX.d/S*</TT> script that's
starting sendmail and disable that.
</BLOCKQUOTE>
<BLOCKQUOTE>
After you've done that you'll have a machine that
doesn't provide any network services to anyone.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can double check that using a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
netstat --inet -an
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... and looking for anything that's in the LISTEN
state. You can also check it using a port scanner
like nmap from another system. (I'm guessing that
you've already been playing with one of those,
to get the information on which you've based this
question).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 41 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/42"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 42 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Daemons</H3>
<p><strong>From sangeeth george on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Daemons
~~~~~~~
:: -->
<P><STRONG>
sir,
</STRONG></P>
<P><STRONG>
i am sangeeth george, doing my final year Btech.in
information technology.recently i came across a new
topic(which not actually a new one but i came to know
only recently)called "Daemons".since then i had been
fetching for materials to learn more about it.but i
couldn't find any worthy one.can u help me in getting
more info about this topic. i've got a lot of doubts
about it and i would like to share with you.some of
them are,
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
A daemon under UNIX (and some other operating
systems) is a program which runs in the background,
has no controlling terminal (is detached) and is
(under UNIX and Linux) in it's own process group.
</BLOCKQUOTE>
<BLOCKQUOTE>
Other than those (relatively minor and technical)
details it is just a program.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've heard that the term originally was 'dmon'
from Multics, or ITS or some other predecessor
to UNIX. I guess it stood for "device monitor."
</BLOCKQUOTE>
<BLOCKQUOTE>
However, since I'm on my <A HREF="http://www.debian.org/">Debian</A> box, which has
a '<tt>dict</tt>' client, and a '<tt>dictd</tt>' (dictionary daemon)
and several freely available lexicons installed
I'll just yank in a definition from that:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
[using my <tt>xemacs</tt> macro equivalent of vi's <tt>:r!dict daemon</tt>]
</BlockQuote></BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
From Jargon File (4.0.0/24 July 1996) [jargon]:
</STRONG></P>
<em><strong><font color="#000033"><br> daemon /day'mn/ or /dee'mn/ /n./ [from the mythological
<br> meaning, later rationalized as the acronym `Disk And Execution
<br> MONitor'] A program that is not invoked explicitly, but lies
<br> dormant waiting for some condition(s) to occur. The idea is that
<br> the perpetrator of the condition need not be aware that a daemon is
<br> lurking (though often a program will commit an action only because
<br> it knows that it will implicitly invoke a daemon). For example,
<br> under {{ITS}} writing a file on the {LPT} spooler's directory
<br> would invoke the spooling daemon, which would then print the file.
<br> The advantage is that programs wanting (in this example) files
<br> printed need neither compete for access to nor understand any
<br> idiosyncrasies of the {LPT}. They simply enter their implicit
<br> requests and let the daemon decide what to do with them. Daemons
<br> are usually spawned automatically by the system, and may either
<br> live forever or be regenerated at intervals.
<br>
<br> Daemon and {demon} are often used interchangeably, but seem to
<br> have distinct connotations. The term `daemon' was introduced to
<br> computing by {CTSS} people (who pronounced it /dee'mon/) and
<br> used it to refer to what ITS called a {dragon}. Although the
<br> meaning and the pronunciation have drifted, we think this glossary
<br> reflects current (1996) usage.
</font></strong></em>
<P><STRONG>
From The Free On-line Dictionary of Computing (15Feb98) [foldoc]:
</STRONG></P>
<em><strong><font color="#000033"><br> daemon
<br>
<br> <operating system> /day'mn/ or /dee'mn/ (From the mythological
<br> meaning, later rationalised as the acronym "Disk And Execution
<br> MONitor") A program that is not invoked explicitly, but lies
<br> dormant waiting for some condition(s) to occur. The idea is
<br> that the perpetrator of the condition need not be aware that a
<br> daemon is lurking (though often a program will commit an
<br> action only because it knows that it will implicitly invoke a
<br> daemon).
<br>
<br> For example, under {ITS} writing a file on the {LPT} spooler's
<br> directory would invoke the spooling daemon, which would then
<br> print the file. The advantage is that programs wanting files
<br> printed need neither compete for access to, nor understand any
<br> idiosyncrasies of, the {LPT}. They simply enter their
<br> implicit requests and let the daemon decide what to do with
<br> them. Daemons are usually spawned automatically by the
<br> system, and may either live forever or be regenerated at
<br> intervals.
<br>
<br> {Unix} systems run many daemons, chiefly to handle requests
<br> for services from other {host}s on a {network}. Most of these
<br> are now started as required by a single real daemon, {inetd},
<br> rather than running continuously. Examples are {cron} (local
<br> timed command execution), {rshd} (remote command execution),
<br> {rlogind} and {telnetd} (remote login), {ftpd}, {nfsd} (file
<br> transfer), {lpd} (printing).
<br>
<br> Daemon and {demon} are often used interchangeably, but seem to
<br> have distinct connotations (see {demon}). The term "daemon"
<br> was introduced to computing by {CTSS} people (who pronounced
<br> it /dee'mon/) and used it to refer to what {ITS} called a
<br> {dragon}.
<br>
<br> (11 May 1995)
</font></strong></em>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It's obvious that the Jargon file and FOLDOC
entries are basically the same. I believe that
the Jargon entry was adopted by FOLDOC.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
1.It is possible for us to retrieve the commands
that we have entered in a shell promptusing 'uparrow
key'.Is it due to the action of Daemons . if yes,name
of that daemon?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
What you're describing is a feature of some
of the common UNIX/Linux command shells. It is
not done through any sort of daemon.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
2. in one of the magazine i've read that Daemons are
much more powerful than TSR ,as Tsr need some user
intervention.is it true?can u give an eg. for that.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
That is hogwash. The old MS-DOS print spooler
TSR (terminate/stay resident) was about as close
to a daemon as you can get under MS-DOS (serving almost
the same function as the <tt>lpd</tt> line printer daemon
under Linux and the BSD UNIX').
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
3.surely there must be some kind of difference exsists
between ordinary programs and daemons in the
INSTALLATION part ,since daemons are executed by
system itself . can you explain me how to(where
to)install a program if we want it to act as a Daemon.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
No. Daemons can be started by any user at
any time under UNIX. A daemon is just a program
that detaches itself from it's controlling terminal
(by closing STDIN, standard input, STDOUT, standard
output, and STDERR, standard error file descriptors)
and using the<TT> setpgrp()</TT> system call to set itself
into a separate process group.
</BLOCKQUOTE>
<BLOCKQUOTE>
Most daemons on most UNIX systems are started by
the init process (either directly, via <TT>/etc/inittab</TT>,
or through one of the rc*) scripts during the boot
process.
</BLOCKQUOTE>
<BLOCKQUOTE>
The most common daemons are:
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>inetd: <dd>"Dispatcher" --- starts other
daemons in response to network connections
on well known service (WKS) ports as
specified in the <TT>/etc/inetd.conf</TT> and the
<TT>/etc/services</TT> files.
<dt>
sendmail: <dd>Handles SMTP,
<br>competitors: qmail and Postfix
<dt>
init: <dd>"Father of all processes" --- it
starts all of the rc* scripts, and
it monitors all terminals, and consoles
forcing new getty and xdm processes
on them as login sessions are ended.
<dt>
httpd: <dd>Web server daemon.
<dt>
cron: <dd>Scheduler: this keeps a list of commands
to be run at given intervals. cron performs
most of the routine system maintenance
<dt>
atd: <dd>The at service used to be managed by
cron (there was a cron job that ran every
minute to execute any outstanding at jobs).
However, recently (a couple years ago)
at was set into a separate daemon in most
Linux distributions. This is particularly
useful on laptops where the old method would
keep the disk drives spinning unnecessarily.
<dt>
lpd: <dd>print spool server
</dl>
</BLOCKQUOTE>
<BLOCKQUOTE>
... et cetera.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
4.what really is the importance of Daemons in new
world (say E-commerce)?(i raised this question since i
may most probably take a seminar on this topic)
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
There is nothing special about daemons.
</BLOCKQUOTE>
<BLOCKQUOTE>
What is the importance of background jobs
in e-commerce and the "new world?" They are
just programs. Likewise for daemons.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
kindly provide me anwsers to these
questions + any website from where i can learn more
about it.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You need a basic book on UNIX.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
expecting an early reply from you.
</STRONG></P>
<P><STRONG>
thanking you
<br>sangeeth george t
</STRONG></P>
<!-- sig -->
<!-- end 42 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/43"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 43 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Using a Downloaded .iso Image for System Upgrade</H3>
<p><strong>From ljones on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Using a Downloaded .iso Image for System Upgrade
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
I have <A HREF="http://www.redhat.com/">Red Hat</A> 5.2 installed, and have successfully downloaded the
.iso image for 6.1.
</STRONG></P>
<P><STRONG>
How do I use the image to upgrade?
</STRONG></P>
<P><STRONG>
Lawrence
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Basically you have to burn that image onto a CDR or
CDRW using '<tt>cdrecord</tt>'
</BLOCKQUOTE>
<BLOCKQUOTE>
Then you can boot from the CD media and do your upgrade.
</BLOCKQUOTE>
<BLOCKQUOTE>
It would be nice if you could just mount the .iso
image on a loopback block device and run the upgrade
utility from that. However, I don't think you can
do that. There's no problem with the mounting part,
just use a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
mount -o loop /path/to/....iso /mnt/loop
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... to mount the <tt>.iso</tt> file as a filesystem. The
problem is that the installer/upgrader for Red Hat
is set up to run from the initrd (initial RAM disk)
or from the init process. I haven't torn it apart
and looked that closely at it --- but it doesn't
seem like you can just mount the image, or the CD
and run the installer/upgrader. You have to boot
from it.
</BLOCKQUOTE>
<!-- sig -->
<p><em>[ Should be pretty easy to boot from one of its floppy images, then
point to your loopback mounted drive location as a file source.
You </em>might<em> have to mount it at /cdrom in order to convince
the diskette to use it. -- Heather ]</em></p>
<!-- end 43 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/44"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 44 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Automated Login Around a Challenge Card</H3>
<p><strong>From Wayne Xin on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Automated Login Around a Challenge Card
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Sorry for the bold disturbance. I've been frustrated with this problem.
Hope you can point me to the right solution.
</STRONG></P>
<P><STRONG>
I have a battery based security card that changes my password for ISP
connection every minute. So I can't totally automate my login process
with a fixed password. Is there a place that talks about pausing in the
middle of a script for me to type in the password and then continuing to
capture the remotely assigned IP?
</STRONG></P>
<P><STRONG>
Appreciate your help.
<br>PS: I am talking linux 6.1 (X86) modem/ISP configuration
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
In the 'expect' scripting language you can
use an '<tt>interact</tt>' function with one or more "escape
patterns."
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's an example:
</BLOCKQUOTE>
<blockquote><pre>#!/usr/bin/expect -f
spawn telnet "somehost"
expect "login:"
send "myname\r"
expect "enter key from your card:"
interact "\r" {
return
}
expect "success"
## continue with script
interact
</pre></blockquote>
<BLOCKQUOTE>
In this case we open a telnet to "somehost" and we
automate part of the login (waiting for a login:
prompt, sending a name, waiting for a sort of
password for your card).
</BLOCKQUOTE>
<BLOCKQUOTE>
The interesting part of this is where we have the
'interact' directive. In this case we interact
until an [Enter] key is entered and when we see that
escape sequence we execute some 'expect' code (in this
case all we're doing is executing the 'return' from
the interact to the rest of our script).
</BLOCKQUOTE>
<BLOCKQUOTE>
It's possible in 'expect' to have multiple "escape
sequences" or "macros" as options to the the '<tt>interact</tt>'
function. Each of these can have its own block of
'expect' code. These other bits of code can '<tt>spawn</tt>'
other programs that have their own nested '<tt>interact</tt>'
functions, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
Obviously (as I've shown) you can also have multiple
'<tt>interact</tt>' sessions in a script. (It should also be
obvious that you'll only get to the second and subsequent
sessions by using a '<tt>return</tt>' from each of the
preliminary '<tt>interact</tt>' invocations.
</BLOCKQUOTE>
<BLOCKQUOTE>
Most 'expect' syntax is derived from the TCL libraries
around which it is build. TCL is a language that was
designed to be embedded into other applications and
utilities and 'expect' is a utility which lets you
run interactive programs, connected to psuedo-terminals
and control them through its '<tt>expect</tt>', '<tt>send</tt>',
and related functions. The rest of the language is
TCL.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway that's the easiest way that I know of to
do this under Linux. There's also an <tt>Expect.pm</tt>
PERL module. I haven't used it, but it should have
most of the same features.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 44 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/45"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 45 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Mystery Question</H3>
<p><strong>From Robert Polk on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Mystery Question
~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
Currently I am contracting for an LA based company. We currently
have internal mail as well as a majority of users still using POP
mail from an ISP.
</STRONG></P>
<P><STRONG>
We'll say the domain name is <tt>z.com</tt>. My question is in regard to
MX records.
</STRONG></P>
<P><STRONG>
Example: <tt>domain z.com</tt>
</STRONG></P>
<pre><strong> MX preference 10 external.z.com
MX preference 10 mail.z.com
</strong></pre>
<P><STRONG>
then it continues with 20, etc preferences.
</STRONG></P>
<P><STRONG>
Currently most users are still using this external mail for their
internet email (<tt>external.z.com</tt>). There are however, about 20
users internally that are only using the internal mail host for
their internet email (<tt>mail.z.com</tt>)=
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not sure what the question is.
</BLOCKQUOTE>
<BLOCKQUOTE>
There is a problem if you're using both of these hosts
(mail.z.com and external.z.com) as POP servers for the one
domain. Unless you're doing some sort of address rewriting
or other mail routing on one or the other of these then any
piece of mail for z.com could land on either of these hosts.
Since each of them has equal MX values, and there are no
lower MX values for the z.com domain, the mail that lands on
one or the other will stay there.
</BLOCKQUOTE>
<BLOCKQUOTE>
In general you don't want to have this ambiguity.
The lowest MX for a given domain or subdomain should
lead to one unique host. The secondaries and tertiaries
can be ambiguous since they will all relay their mail
to the lower MX hosts.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can do scaling in a few ways at the MTA level.
For example you can have a big aliases file (DBM)
or a set of NIS/NIS+ maps or an LDAP server to
provide aliasing of recipients to specific POP
servers. This can give provide a "flat" external
mail profile (everyone is @z.com) while allowing
you to scale to a much larger number of users
than you could support on a single POP server.
</BLOCKQUOTE>
<BLOCKQUOTE>
(This assumes also that you'll configure all
the mail hubs to re-write outgoing mail to
masquerade the From: and Return: addresses).
</BLOCKQUOTE>
<BLOCKQUOTE>
Maybe the question you were asking is how to
have your mail servers distinquish between
the internal and external users. In that case,
just use aliases. Mail that's <EM>addressed</EM> to
"external.z.com" will ignore the z.com MX record.
Likewise for any that's <EM>addressed</EM> to "mail.z.com"
</BLOCKQUOTE>
<BLOCKQUOTE>
To understand this you must note the distinction
between where hosts to which mail is SENT and those
to which it is ADDRESSED. Mail is sent to a host
according to it's MX records. What that host does
with it depends on how it is addressed. If the
mail is addressed to any of the names that are on
on a hosts "whoami" list (the sendmail 'w' class)
then rewriting, aliasing, and local delivery are
performed.
</BLOCKQUOTE>
<BLOCKQUOTE>
(I'm shamelessly limiting the MTA terminology
here to that of 'sendmail' --- the various other
MTAs have similar features and concepts).
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway, I've said more than enough given that
I have no idea of what your question really is.
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 45 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/46"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 46 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>idled RPM for Red Hat</H3>
<p><strong>From dsrao on Thu, 20 Jan 2000
</strong></p>
<!-- ::
idled RPM for <A HREF="http://www.redhat.com/">Red Hat</A>
~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi ,
</STRONG></P>
<P><STRONG>
Where can i find idled daemon for Linux(RedHat 6.1) & what
are the neccessary steps for installing the same. Thanks in advance.
</STRONG></P>
<P><STRONG>
-ganesh
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Look at:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
<A HREF="http://rpmfind.net/linux/RPM/idled.html"
>http://rpmfind.net/linux/RPM/idled.html</A>
</code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... The RPM Find repository (<A HREF="http://rpmfind.net/linux/RPM"
>http://rpmfind.net/linux/RPM</A>)
is about the best place to find contributed RPMs for
just about any RPM distribution. There is also an rpmfind
utility (<A HREF="http://rpmfind.net/linux/rpm2html/rpmfind.html"
>http://rpmfind.net/linux/rpm2html/rpmfind.html</A>)
which can automate much of the process of finding
RPM files, resolving their dependencies, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm not sure if idled is still being maintained.
</BLOCKQUOTE>
<BLOCKQUOTE>
You might also look at autolog
(<A HREF="http://www.rpmfind.net/linux/RPM/autolog.html"
>http://www.rpmfind.net/linux/RPM/autolog.html</A>)
which can also automatically log out shell
sessions after inactivity. The only RPMs I
found on this were for <A HREF="http://www.suse.com/">S.u.S.E.</A>
--- so You might
have to grab an SRC RPM and rebuild it.
(Red Hat doesn't list dependencies and provisions
using the same keys as S.u.S.E).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 46 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/47"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 47 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Monthly Win (Lose) Modem Question</H3>
<p><strong>From ilijam on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Monthly Win (Lose) Modem Question
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have Rockvel 56,6 KB V90 Data Voice Fax. Linux doesn't detects him
under Win u need to install some special drivers, can u tell where can i find them.
</STRONG></P>
<P><STRONG>
thanks bye
<br>[From Macedonia]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Rockwell modems typically use the Rockwell chipsets.
These are winmodems. Rockwell refuses to release
programming details about these chips, ergo there are
officially NO Linux drivers for them.
</BLOCKQUOTE>
<BLOCKQUOTE>
For more info on those look at:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Linux VooDoo (Ultimate Source for Linux Drivers?)
<DD><A HREF="http://www.linuxvoodoo.org/drivers/cards/modems"
>http://www.linuxvoodoo.org/drivers/cards/modems</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
.... and at the Linux "Winmodem Support" Page
(<A HREF="http://linmodems.org"
>http://linmodems.org</A>). NOTE: WWW.linmodems.org DOES NOT
WORK. You must use "<A HREF="http://linmodems.org"
>http://linmodems.org</A>" if you want
to see their web pages.
</BLOCKQUOTE>
<BLOCKQUOTE>
(I didn't know that and had to hunt down the URL
through Google after trying several variations of
www.linmodems.org, ...linmodem.or, ...linmodems.com, etc).
</BLOCKQUOTE>
<em><p>[ As of press time, you don't have to.
<a href="http://www.linmodems.org/"
>http://www.linmodems.org/</a> worked just fine
for me.</p>
<p>But while I have you here, I know that the Lucent (binary-only) driver was
mentioned on the <a href="http://www.debian.org/Lists-Archives/"
>Debian mailing list</a> for laptop users. After
some messing with it, the user was actually successful in getting
a usable modem. -- Heather ]</p></em>
<BLOCKQUOTE>
Gawd! A new millennium and I'm still getting Winmodem
questions! (Please! No mail about how the new
millenium doesn't start until 2001 --- I'm with Linus
on this, I don't care. It's a tenth of one per cent different!)
</BLOCKQUOTE>
<!-- sig -->
<!-- end 47 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/48"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 48 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Installing a POP Daemon on Red Hat Linux</H3>
<p><strong>From Hongwei Li on Sat, 22 Jan 2000
</strong></p>
<!-- ::
Installing a POP Daemon on <A HREF="http://www.redhat.com/">Red Hat</A> Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I recently installed RedHat 6.0 and 6.1 on two machines,
respectively. Everything looks working except that users can not
access their e-mail accounts on these two servers from PC Windows
using Netscape Mail or MS Outlook Express although they can access
the e-mails using telnet, pine. Apparently, POP3 daemon is not
working on these two RH Linux boxes.
</STRONG></P>
<P><STRONG>
Somebody said I can retrieve POP3 daemon from IMAP package. But,
I don't know where it is and how to do it. Could you help me?
How to check the system if POP3 daemon is installed and working?
Where can I get IMAP package and retrieve POP3 daemon, then
installed it and let it run? or should I get something else?
</STRONG></P>
<P><STRONG>
I would greatly appreciate your help!
</STRONG></P>
<P><STRONG>
Hongwei Li
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Your "somebody" is a smart cookie. You sould listen
to him or her. However, you might ask him (or her) for
a wee bit more detail.
</BLOCKQUOTE>
<BLOCKQUOTE>
Red Hat inexplicably puts their POP and IMAP daemons
in the same file. You can install them using
something like the following procedure:
</BLOCKQUOTE>
<BLOCKQUOTE>
1) Mount your RH Linux CD (disc #1?) using
a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
mount /mnt/cdrom
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
2) Go to RPM directory using something like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
cd /mnt/cdrom/Redhat/RPMS
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
3) Install the imap....rpm package using a
command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
rpm -Uvh imap*
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... or:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
rpm -i imap*
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
That's basically all there is to it. You can
test for POP installlation/accessibility using a
command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
telnet $TARGET 110
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... where $TARGET is replaced with the hostname or
IP address of the system on which you hope to find
a POP server.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you get a "connection refused" or a "connection
closed by remote host" then you don't have POP installed
properly on the $TARGET system (or you have a firewall,
packet filter, or <TT>/etc/hosts.deny</TT> rule between your client
and the server).
</BLOCKQUOTE>
<BLOCKQUOTE>
Otherwise you should get something a little like this:
</BLOCKQUOTE>
<blockquote><pre>Trying 123.45.67.8...
Connected to popserver.wherever.not.
Escape character is '^]'.
+OK <13260.948530011@popserver.wherever.not>
USER nobody
+OK
PASS somedumbpassword
+OK Mailbox open, 4294967295 messages
QUIT
</pre></blockquote>
<BLOCKQUOTE>
The USER, PASS and QUIT commands were typed by me. There
are additional POP 3 protocol commands you could use to play
with the server manually, but this is enough to verify that
the server is running, that the user name and password are
valid and that the POP server isn't having trouble opening
the user's mail spool.
</BLOCKQUOTE>
<BLOCKQUOTE>
NOTE: The PASS command is simply transmitting and
displaying your password. Don't do this over an insecure
network or with a bad person looking over your shoulder!
</BLOCKQUOTE>
<BLOCKQUOTE>
(Also note: The number of messages that the POP daemon
reports as being in your inbox had better be alot less
then what I show in this example: 2^32 - 1).
</BLOCKQUOTE>
<BLOCKQUOTE>
As for you question about whether you should get something
else (something other than the POP daemon that Red Hat
packages in their IMAP RPM file): That's entirely up to you.
</BLOCKQUOTE>
<BLOCKQUOTE>
I did dig up a page where Cameron Laird started
collecting notes for a comparison of POP daemons
(<A HREF="http://starbase.neosoft.com/~claird/comp.mail.misc/POP_comparison.html"
>http://starbase.neosoft.com/~claird/comp.mail.misc/POP_comparison.html</A>)
</BLOCKQUOTE>
<BLOCKQUOTE>
It doesn't offer much commentary nor comparison, yet.
However, it does offer links to over a dozen POP servers.
Surprisingly I couldn't find any other online articles
that offer a comparison or summary of POP daemons and
server.
</BLOCKQUOTE>
<BLOCKQUOTE>
One of the most popular POP daemons is QPopper
(<A HREF="http://www.eudora.com/freeware/qpop.html"
>http://www.eudora.com/freeware/qpop.html</A>). This is
a (relatively) free package from the publishers of
the Eudora mail client software for Macs and MS Windows.
One of the principle advantages of this package is
its support for changing passwords through it's own
client/server protocol. To enable this you have to
install the poppasswd daemon in addition to the
qpopper daemon.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you replace your MTA (mail transport agent) with
qmail then you'll want to switch to the qmail-pop3d
daemon (which comes with qmail). You can find out more
than you wanted to know about that and many addons,
and optional packages and patches related to it by
searching the Qmail home page (<A HREF="http://www.qmail.org"
>http://www.qmail.org</A>)
on the term "POP."
</BLOCKQUOTE>
<BLOCKQUOTE>
It's a pity there isn't more info to guide users
in selecting a POP daemon. Then again, basic POP
is a pretty protocol with only a very focussed purpose.
Any of them should do the basic job at hand.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you're allowing POP from outside of your network
(beyond your organization's firewall or packet filters)
then you should require APOP authentication or you should
ensure that your outside clients are connecting through
a secure channel (like FreeS/WAN -- <A HREF="http://www.xs4all.nl/~freeswan"
>http://www.xs4all.nl/~freeswan</A> --
or an ssh tunnel).
</BLOCKQUOTE>
<BLOCKQUOTE>
APOP is an extension to the POP protocol that uses a
challenge-response exchange to perform the authentication
(there's also a KPOP variation for sites using Kerberos).
What is remarkable is that I don't see options in any of
the software that I've looked at to DISABLE plain text
passwords (so that you can enforce a policy that your
external users MUST use APOP).
</BLOCKQUOTE>
<BLOCKQUOTE>
It doesn't sound like this will be a problem for you,
but if it is (and for the benefit of my other readers)
here's a couple of links to information about POP over
ssh, and how to configure a system to allow POP and/or
IMAP over SSL (secure socket layer).
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Secure POP via SSH mini-HOWTO
<DD><A HREF="http://www.linuxdoc.org/HOWTO/mini/Secure-POP%2BSSH.html"
>http://www.linuxdoc.org/HOWTO/mini/Secure-POP%2BSSH.html</A>
<dt>
linuxsec: [linux-security] Re: POP secure access??
<dd><A HREF="http://www-uxsup.csx.cam.ac.uk/lists/linuxsec/0104.html"
>http://www-uxsup.csx.cam.ac.uk/lists/linuxsec/0104.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
Hope all that helps.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 48 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 2 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>IMAP/POP daemon on RH 6.0 and 6.1</H3>
<p><strong>From Randall Gellens on Sun, 30 Jan 2000
</strong></p>
<P><STRONG><FONT COLOR="#000066"><EM>
One of the most popular POP daemons is QPopper
(<A HREF="http://www.eudora.com/freeware/qpop.html"
>http://www.eudora.com/freeware/qpop.html</A>). This is
a (relatively) free package from the publishers of
the Eudora mail client software for Macs and MS Windows.
</EM></FONT></STRONG></P>
<P><STRONG>
Why do you say "relatively"?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I was under the misconception that Qualcomm was imposing
some restrictions on the distribution of qpopper
derivatives. However, I copied you so that you could
clear that up for me. (I see that it's not listed
as "non-free" by my <A HREF="http://www.debian.org/">Debian</A> package lister and now
I see that it appears to be a BSDish license.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, I was wrong to qualify it this way. Qpopper is a
free package.
</BLOCKQUOTE>
<P><STRONG><FONT COLOR="#000066"><EM><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
If you replace your MTA (mail transport agent) with
qmail then you'll want to switch to the qmail-pop3d
daemon (which comes with qmail). You can find out more
than you wanted to know about that and many addons,
and optional packages and patches related to it by
searching the Qmail home page (<A HREF="http://www.qmail.org"
>http://www.qmail.org</A>)
on the term "POP."
</EM></FONT></STRONG></P>
<P><STRONG>
Many people use Qpopper and Qmail together. There is a <TT>./configure</TT>
option for Qpopper to use Qmail's home dir mail spool.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Glad to hear it. I obviously haven't been using qpopper
recently. I should probably switch.
</BLOCKQUOTE>
<P><STRONG><FONT COLOR="#000066"><EM><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
APOP is an extension to the POP protocol that uses a
challenge-response exchange to perform the authentication
(there's also a KPOP variation for sites using Kerberos).
What is remarkable is that I don't see options in any of
the software that I've looked at to DISABLE plain text
passwords (so that you can enforce a policy that your
external users MUST use APOP).
</EM></FONT></STRONG></P>
<P><STRONG>
By default, Qpopper does not permit users to log in with plain text
passwords if they are enabled for APOP (or SCRAM).
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Maybe the FAQ or README should clarify that. Maybe
I missed it. That's one of the reasons that I try to
copy the "right" people when I'm doing my "Answer Guy"
responses. I learn from my mistakes that way.
</BLOCKQUOTE>
<BLOCKQUOTE>
Is SCRAM some variant of the CRAM-MD5? (challenge/response
authentication mechanism: RFC 2095 and 2195?)
</BLOCKQUOTE>
<BLOCKQUOTE>
Does that get around the need to store the POP user's
cleartext password on the server? I read through these
RFCs and didn't quite get the part about storing
"contexts" rather than copies of the cleartext passwords.
(I didn't spend long on it, but I think I'm missing
some detail here --- I should probably read some source
code to an implementation to see what I missed).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Randall Gellens
<em><br>Opinions are personal; facts are suspect; I speak for myself only
<br>--- randomly selected quote ---
<br>A child of five would understand this. Send somebody to
fetch a child of five. --Groucho Marx, _Duck Soup_
</em></STRONG></P>
<!-- sig -->
<!-- end 2 -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- QUICK TIPS SECTION ================================================== -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.gif">
More 2¢ Tips!</A></H1> <BR>
Send Linux Tips and Tricks to <A HREF="mailto:gazette@ssc.com">
gazette@ssc.com
</A></center>
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Removing "Strange" files (response)
</FONT> </H3>
Sun, 30 Jan 2000 05:02:06 -0800
<BR>From: Jim Dennis <<A HREF="mailto:jimd@starshine.org">jimd@starshine.org></A>
<P> Last month there was a shell script offered by
Mendel Cooper <thegrendel@theriver.com> for removing files
with degenerate names. That is to safely unlink those filenames
containing "special" or strange characters.
<P> It appears to be a dangerous script, and is probably not the
best was to accomplish his stated goals.
<P> There is no reason to blindly and indiscriminately remove all files
containing whitespace, and the character set
<CODE>[+{;"\=?~()<>&*|$]</CODE>.
There is good reason to warn the sysadmin about the existence of
such filename/links in the "common" areas of the file hierarchy.
<P> In fact this particular set of characters seem arbitrary. For
example why include the "open curly brace" and not its closing
counterpart? Experience has shown that one is much better off
using converse logic in these cases. In other words, one should
define a set of the characters which are definitely to be allowed
in filenames rather than trying to think of all the characters
that "might be bad."
<P> To safely find all files with such strange characters one can
use a command like:
<PRE>
find / -name '*[^][a-zA-Z0-9#%~:,._+-]*'
</PRE>
... this defines a list of characters which I allow in my
filenames: alphanumerics (<CODE>a-zA-Z0-9</CODE>), the square brackets
(<CODE>[]</CODE>) --- note that /usr/bin/[ is a standard link to the
/usr/bin/test command --- a few bits of punctuation that are
occasionally found in filenames (such as the "dot" and "tilde"
characters).
<P> Note that even this liberal list of allowed characters isn't
liberal enough on my Debian and S.u.S.E. systems. I find
some "accented" (High ASCII) character filename links among
some of the fonts and console/kbd map packages. I find that
many MP3 files contain spaces, ampersands, and apostrophes.
<P> In order to see characters that might not be displayed correctly
by your terminal you can use the "-v" option to the cat command
like so:
<PRE>
find / -name '*[^])}{([a-zA-Z0-9@#$&"'"'"'%~:,._+-]*' | cat -v
</PRE>
<P> ... here I've even further liberalized my character set even
to allow single and double quotes to be allowed. The part of
this that might be confusing bears explanation:
<PRE>
[^])}{([a-zA-Z0-9@#$&"'"'"'%~:,._+-]
^^^^^^
</PRE>
<P> Here I'm adding the double quote (which is quoted from the
shell by the single quote way back at the beginning of this
argument), then I'm ending the current single quoted context
and immediately starting a double quoted one context. This is
still part of the same shell argument (since I haven't introduced
any unquoted whitespace, or anything that is in a normal IFS).
Then I have a single quote (which is quoted by the double quotes)
and a terminating double quoted (ending that string), and another
opening single quote which goes to the end of the argument.
<P> It's ugly, but it is the easiest way to put a literal single
quote into a shell argument. (There are a number of characters
that are "special" or that have "metasyntactic" implications
when they are in a double quoted context, but only the single
quote is significant inside of a single quoted context.
<P> Note also that I use the dash character as the last one inside my
character class. That to indicate to the regex/globbing engine
that this particular dash represents itself (a literal dash) and
that it is NOT operating to indicate a range of other characters,
as it is when it appears in the a-z, A-Z, and 0-9 sequences.
Similarly I have the closing bracket as the first "normal"
character after the opening of the class and the "negation"
operator. The regex/globbing engine that's used by find, bash and
the GNU utilities is well written enough to distinguish between the
literal inclusion of these "special" characters and their other
uses within the regex/glob character class defining syntax. To
allow the use of the "^" (circumflex or "caret" ) character we can
include an additional instance of it later in the class definition
(anywhere other than the first or last character of the sequence).
<P> This regex "class definition" sequence is quite an advanced topic,
so it is easiest to use it as an example so long as you understand
what it does. In other words you can safely use this example even
if you don't understand how to create such a pattern --- just be
sure that you know what it DOES.
<P> To safely remove a file with special characters in its name
one can use a syntax like:
<PRE>
find . -maxdepth 1 -name .... -print0 | xargs -0 rm
</PRE>
... note that those are "zeros" in the -print0 'find' directive
and the -0 option to 'xargs' These "zero" arguments work together
to ensure that the filenames are passed from the 'find' process to
the rm command as NUL terminated strings. The ASCII NUL character
(the 0-th in that encoding system) is really special and it really
can't be embedded in a filename.
<P> There are some other GNU utilities that accept a -0 or --null
option to allow 'find' to pass NUL-terminated arguments to them
including GNU tar and cpio.
<P> The ellipses in this example can be replaced with any globbing
pattern that exclusively matches the file(s) to be removed. Use
the find command into a 'cat -v' process first to be sure that it
only lists those file that you really intend to remove. Of course
the . argument could be replaced with any directory name or list of
names.
<P> Incidentally, the reason I came across this is because I'm starting
work on a "Linux Tips fortune cookie" file.
<H4>Mendel Cooper responds:</H4>
<P> That is correct, in the sense that all administrative tools, utilities,
and scripts are dangerous, especially those affecting the filesystem. Any
script coming from an outside source that is used blindly and without
understanding is dangerous.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">2C Tip
</FONT> </H3>
Wed, 12 Jan 2000 18:18:58 +0100 (CET)
<BR>From: Flavio Poletti <<A HREF="mailto:poletti@writeme.com">poletti@writeme.com></A>
<P> I've read the 2C Tip from Pat Bateman <pat99@linustart.com> and I found
it useful. I wrote a small Perl script that inspects all open ports and reports
about them. I want to share it with the others - and also ask you to check if
it works or if it is not useful!!!
<P> <A HREF="misc/tips/showports.pl.txt">showports.pl</A>
<P> Good bye,
<P> Flavio Poletti.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Quick html browse / edit
</FONT> </H3>
Wed, 19 Jan 2000 00:22:45 +0100
<BR>From: Paco <<A HREF="mailto:fmunoz@geocities.com">fmunoz@geocities.com></A>
<P> If you want to edit your HTML code you have some choices, most of them
only allow you to change your bare code in a non Visual method. This can be
viewed as drawback but after the design of the 1st file of a given set must of
the work is Cut & Paste, so you can use the Netscape editor to create the
template them clear all the junk code that it write and then use one of the
following options:
<PRE>
- Just an editor and and your favorite browser
Lynx, Netscape, konkeror ..... and another windows with vi, pico, joe, emacs or
somethings more "WYGIWYSish"
Use: Just from X, lauch all that you want and don't forget to reload your pages
after saving them
- mc
midnight command can let you see html files (rendered by lynx) and edit them
with cooledit (Warning this a a console tool !! If you use one of them too
much you could end as a Computer Guru years later ! )
Use: Just open a console and tipe mc (Most distros) browse with the arrows,
read files with F3/enter and edit them with F4
- emacs : This "editor" have some features that help you to browse and edit your
html files. Is there anything that can't be programed in it? ;-)
Use: Just read all the emacs docs, and launch it (either in X or console)
- Amaya lets you update your changes automagically and give you a treelike
view of your code's structure. (nice feature if you use a lots of tables) Made
by the w3 consortium, see http://www.w3.org
Use: Launched from X
- One of the KDE tools :
KDreamSite see http://www.raverx.seite.ms
WebMaker see http://www.services.ru/linux/webmaker
KWebDeb see http://mason.gmu.edu/~ebanker/kwebdev/index.html
Use: Launched from X
Galway (good !, GNOME html editor) see http://erin.netpedia.net/
Use: Launched from X
There are also others
CoffeCup (good but not Open Source) ,
tkHTML
asWedit
plexel
ASHE
Bluefish (Nice!) see http://bluefish.linuxbox.com/
Bulldozer (designed by the NASA!)
ewin
</PRE>
<P> You can allways go to http://www.freshmeat.net or even www.linuxberg.org and
search there for more stuff, I'm sure that this list is not complete.
<P> I strongly sugest you to use some short of scripting or templates to create
your pages. The target is to tipe your have your new text as plain text and get
nicely formated html pages just a "click/script" away. (Perl anyone?)
<P> Un saludo
Francisco Muoz
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Yet another tip
</FONT> </H3>
Sun, 23 Jan 2000 16:22:57 -0700 (MST)
<BR>From: Mendel Cooper <<A HREF="mailto:thegrendel@theriver.com">thegrendel@theriver.com></A>
<P> Hello again, LG people.
<P> Here is another one for your 'tips' column.
<P> It seems that "whois" queries are no longer quite the same. A simple
"whois xyz.com" defaults to the Network Solutions server, but due to
political machinations these guys are playing it tight lipped and have
sharply restricted the amount of info returned on a "whois". If you
need the in-depth goods on a domain name, you now have to turn to an
alternate whois server, such as ripe.net.
<P> The following script, named 'wh', will do a domain name lookup on any of three
alternate whois servers. As root, save 'wh' to /usr/local/bin, and then create
three symbolic links in that directory, like so:
<PRE>
[root /usr/local/bin]# ln -s /usr/local/bin wh /usr/local/bin/wh-ripe
[root /usr/local/bin]# ln -s /usr/local/bin wh /usr/local/bin/wh-cw
[root /usr/local/bin]# ln -s /usr/local/bin wh /usr/local/bin/wh-radb
</PRE>
<P> The script can be invoked as 'wh zzz.com', which does a lookup of
zzz.com on the ripe.net server. If invoked as 'wh-cw zzz.com', it looks
up zzz.com on the cw.net server. If invoked as 'wh-radb zzz.com', it
looks up zzz.com on the radb server.
<P> These alternate servers unfortunately do not list as many domain names
as the Network Solutions server, but they do provide a great deal more
info on the ones they have.
<P> <A HREF="misc/tips/wh.sh.txt">wh</A>
<!-- END tips -->
<P> <hr> <P>
<!--================================================================-->
<H4><font color="maroon">
Tips in the following section are answers to questions printed in the Mail
Bag column of previous issues.
</font></H4>
<!-- BEGIN tips.answers -->
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Linux clickability in windows NT Domain
</FONT> </H3>
Fri, 31 Dec 1999 15:09:38 -0600
<BR>From: <<A HREF="mailto:tdierkes@home.com">tdierkes@home.com></A>
<P> As a new feller, I'm flabbergasted that a question was asked that I KNEW!
<P> Network Neighborhood is using WINS to resolve the IP addresses. The NT
machines may have the correct domain name in there (DNS tab), but, on the
WINS Addressing tab (start | settings | control panel | network |
protocols | TCPIP | Properties | WINS Addressing) there is a check tab
for
<P> "Enable DNS for Windows Resolution"
<P> That must be checked.
<P> Or, you could have your Linux machine name added to the WINS server.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Making Linux talk to an NT network
</FONT> </H3>
Fri, 31 Dec 1999 16:08:52 -0600
<BR>From: <<A HREF="mailto:tdierkes@home.com">tdierkes@home.com></A>
<P> David,
<P> Use the Diagnostics found on
http://us1.samba.org/samba/docs/DIAGNOSIS.html
<P> You might be better to at least read the FAQ first
http://us1.samba.org/samba/docs/FAQ/
<P> I just got most of my Samba issues resolved this week. I also felt like
I was spinning my wheels for a while. The Diagnostics will, besides help
you identify your problems, will also point out what you need to do MOST,
and that is, break your connectivity problems down into smaller bytes.
<P> ie. Let us start with the 1st problem of your 10 Easy Step guide you
suggested. Come back with the 1st specific problem and we can go from
there.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">linux on a laptop
</FONT> </H3>
Fri, 31 Dec 1999 16:53:47 -0600
<BR>From: <<A HREF="mailto:tdierkes@home.com">tdierkes@home.com></A>
<P> Do not forget to check http://www.linuxgazette.com/wgindex.html which is
the Linux Gazette search engine for anwers before asking. I searched
on ATI rate and got a lot of responses.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Not a tip, but rather a question
</FONT> </H3>
Fri, 31 Dec 1999 19:08:30 -0500
<BR>From: Gerard Beekmans <<A HREF="mailto:glb@dds.nl">glb@dds.nl></A>
<P> Hi,
<BLOCKQUOTE>
<P> I'm looking to add "disk mirroring" (RAID-1) to a SUSE 6.1 system with
an AHA-2940U2W.. I must be
looking in the wrong places, but it seems like information about this
particular issue is scarce at best.
Any ideas?
</BLOCKQUOTE>
<P> An idea is to use Software-RAID. This eliminates the need of a hardware
RAID controller.
<P> What you need to do, is read the Sofware-RAID mini HOWTO. You can get
this document from http://www.linuxdoc.org/
<P> You might have the file in /usr/doc/HOWTO/mini/ (or whever your system
stores HOWTOs) but there's a chance your local version is outdated. So
download the one from the LDP site mentioned above to ensure yourself of
reading the latest version.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">pulse vs tone dialing
</FONT> </H3>
Fri, 31 Dec 1999 19:14:33 -0500
<BR>From: Gerard Beekmans <<A HREF="mailto:glb@dds.nl">glb@dds.nl></A>
<P> Hi,
<BLOCKQUOTE>
<P> currently my modem dials using tone, but my phone line needs pulse, how
do fix it?
</BLOCKQUOTE>
<P> You need to modify your modem's dial string.
<P> Currently, it says something like ATDT<here phonenumber>
<P> Change this to ATDP<here phonenumber> and it'll dial in pulse-mode
rather than in tone-mode.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Access 97
</FONT> </H3>
Sat, 1 Jan 2000 12:41:58 -0600
<BR>From: McKown, John <<A HREF="mailto:JMckown@Insurdata.com">JMckown@Insurdata.com></A>
<P> First, happy new year!
<P> To the best of my, admittedly limited, knowledge, there is not a way to run
Access 97 directly on Linux. I think that I have seen some Linux ODBC
drivers which allow a Linux client to access an Access97 database running on
another computer. In particular, on
http://freshmeat.net/appindex/1999/12/07/944590737.html . This says that it
allows a Linux client to talk to any NT ODBC data source. This, of course,
requires running WindowsNT. You can do that by having two machines, one
running Linux the other running WindowsNT. Network them together with a
normal Ethernet connection. Or, you can purchase a product called VMWare
(http://www.vmware.com). This product allows you to install and run a
WindowsNT (or 95 or 98) system under Linux. Note - this DOES require you to
buy WindowsNT! It is not an emulator of WindowsNT, it simply allows a real
WindowsNT machine to run along with Linux on the same physical machine. I
have used this product to run Windows98 under Linux and it does work quite
well for me. VMWare allows the WindowsNT "virutal machine" to talk to Linux
via a "virtual" ethernet connection.
<P> Question, why must you use Access97? Linux has some nice database software
that is free. I'm thinking mainly of PostgreSQL and MySQL. The main thing
that they lack is a "builtin" GUI interface. But I'm sure that there are
some out there. Probably in Perl or Python, both of which can "talk" to
either of those database systems.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Re: pulse vs tone dialing
</FONT> </H3>
Sun, 2 Jan 2000 23:44:41 -0500
<BR>From: Pierre Abbat <<A HREF="mailto:phma@oltronics.net">phma@oltronics.net></A>
<P> You need to change "atdt" to "atdp". Where you change this depends on how you
are dialing and perhaps on your distribution. On a Red Hat or Mandrake system
using "ifup ppp0" or UserNet, this is in
/etc/sysconfig/network-scripts/chat-ppp0. In kppp, hit Setup, Modem tab, Modem
Commands button. The config file is ~/.kde/share/config/kppprc if you need to
edit it by hand or program.
<P> phma
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Running Microsoft Windows Apps on Linux.
</FONT> </H3>
2 Jan 00 12:38:23 ARST
<BR>From: Ivan Andres Hernandez Puga <<A HREF="mailto:iahp@usa.net">iahp@usa.net></A>
<P> Dear Rick:
<P> Try with WINE (http://www.winehq.org).
I have heard that you can run MS-Office and VisualBasic 6 using that program.
<P> Luck.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Re: SNA Server
</FONT> </H3>
Tue, 04 Jan 2000 20:05:17 +0000
<BR>From: Burkhard Perkens-Golomb <<A HREF="mailto:perkens@sdm.de">perkens@sdm.de></A>
<P> Just use metacrawler:
<P> http://www.metacrawler.com/index.html?nocookie
<P> and search for "sna linux" (without quotes).
<P> There's even an GPLed SNA Server available.
<P> Burkhard
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Linux Red Hat installation kernel panic Unable to mount root
</FONT> </H3>
Thu, 6 Jan 2000 13:58:39 +0100
<BR>From: Ewan Gatherer (ECS) <<A HREF="mailto:Ewan.Gatherer@ecs.ericsson.se">Ewan.Gatherer@ecs.ericsson.se></A>
<P> Hi
<P> You should boot your linux box with the boot disk you created, or where meant to create when installing Linux. Once booted, if all goes well, you will have you linux box up and running. Then re-install lilo or your favourite boot manager by typing lilo. If you want to set the dos partition to startup by default use lilo -D dos.
<P> If this does not solve your problem or things do not go as I mentioned above drop me a mail.
<P> Best regards
<P> Ewan Gatherer
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Linksys Ether16 NIC installation issues, as asked in the Answer Guy,
LG Jan 2k
</FONT> </H3>
Thu, 06 Jan 2000 14:33:19 -0700
<BR>From: Marcus Post <<A HREF="mailto:marcus.post@wcom.com">marcus.post@wcom.com></A>
<BLOCKQUOTE>
<P> From Chuck Whinney on Sun, 05 Dec 1999
I cant seem to get my Linksys Ether16 LAN card to work under linux. I turned
off the PnP liek teh linksys website said, and I turned the motherboard
setting from PnP on that IRW to the ISA setting. Linux still never
recognizes it.
Any ideas? Thanks! Chuck
</BLOCKQUOTE>
<P> I wanted to comment on this because some easy items where missed in
answering this customer. THe chipset is fully supported, being an NE2000
clone that works just fine. If he is having difficulty installing it, here's
where he should check:
<P> #1 Conflicts. This is not likely a problem, since the Ether software that
sets the IRQ and I/O of the card checks for conflicts before setting the
resources. If you have not installed new hardware, or turned on any extra on
board peripherals (Serial, Parallel, or USB ports), this shouldn't be an
issue.
<P> #2 How the driver is loaded. As a shot in the dark, you are likely using
redhat, in which case the best choice is to use Linux Config to set up the
module to load at boot. Most distros will work the same way, but some you
have to manually edit rc.* files. THere is a linux-conf topic for network
interfaces, but I forget what it is called ATM. If you have to edit the rc.*
files, look for a rc.modules file; most distrobutions have one with the
network card modules already specified, but commented out. Find the one with
your module ( ne2k.o I believe) and uncomment it. In either case, don't
worry about specifying the IRQ; you only need to note the I/O address for
this card. *VERY IMPORTANT* when specifying the I/O port, use "0x320"
instead of "320". You have to specify the number is hex, which is '0x'. So,
if the software that disabled your plug n play on the card said it was using
port "330", tell linux that the port is "0x330" Don't expect the module to
autodetect the card: on this card, it almost never works (I own three of
them personally), while autodetect works on other cards, such as my SMC. I
don't know why, but don't count on the module to detect the card.
<P> #3. I dont know about ISA IRQ changes you made in the BIOS. From personal
experience, they just aren't needed. You sound comfortable enough with them,
so you may want to change them back to normal once you are positve the Linux
configurations are correct and complete.
<P> #4 Standard troubleshooting: If you dont get an error when booting, check
'ifconfig'. You may just need to assign the card an address, subnet, et al.
Or, run dhcpcd if you have a DHCP server/cable modem/DSL router/whatever.
Try a different ISA slot. If all looks good locally, but you cant reach
outside of your own box, check your cables, subnet mask. First answer if the
problem is hardware or software. Tackle it logically.
<P> Best of luck,
Toodles
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Win98 ICS + Linux
</FONT> </H3>
Fri, 07 Jan 2000 23:11:51 +0100
<BR>From: Anders Hoglund <<A HREF="mailto:anders.hoglund@linux.nu">anders.hoglund@linux.nu></A>
<P> Hello!
<P> It's easy to do that, run netcfg and click on "interfaces". Edit your
"eth0" with
"interface configuration protocol - dhcp", save and restart.
After that it should work!
<P> Sorry for my bad english!
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Diamond SupraExpress 56i V PRO
</FONT> </H3>
Wed, 12 Jan 2000 15:40:19 +0100
<BR>From: Alberto Caso <<A HREF="mailto:caso@intermail.es">caso@intermail.es></A>
<P> Hi,
I read your question on Linux Gazette #48 about installing a Diamond
SupraExpress 56i V PRO under Linux and I have to give you bad news: it's
a winmodem. Well, it is not a full winmodem, as it does data compression
on the modem rather than on the PC, but it is partialy
software-controled, so it will only work with the proper drivers
installed. As the technical staff at Diamond told me (yes, I had a
SupraExpress 56i V PRO), there are no plans to provide drivers for
platforms other than Win32. I also emailed the developer support staff,
but I got no answer from them.
Alberto.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Suggestion and ideas
</FONT> </H3>
Wed, 19 Jan 2000 01:37:34 +0100
<BR>From: Paco <<A HREF="mailto:fmunoz@geocities.com">fmunoz@geocities.com></A>
<P> Just read a Linux newbie guide and an Instalation guide. :-)
Try not to read all the other stuff ... untill you need it or had finished the
instalation (and everything is working)
<P> 1 To get out from a manual just hit q (From the origins of the Unix world q
was the key to quit :-) You are right, This is said in noplace. I have figured
in and old VAX some years ago just after 10 minutes (You have to log out
before you could leave the terminal)
<P> 2 To copy a file use (much like the old MSDOS copy, well not really) use:
<CODE>cp file1 target</CODE>
where target can be a file or a directory (just type man cp, now that you know
how to exit tit :-)
<P> 3 Pico is nice, In console mode I use the midnight commander to navigate the
directories and just hit F4 to launch cooledit and edit files (Funtions keys
hints are at the bottom of the screen) Very easy. I miss it a lot when I use
the University Solaris box.
<P> 4 ????
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Re: HELP with LT Win Modem and SB 16 >Sound Blaster wanted!
</FONT> </H3>
Thu, 20 Jan 2000 15:49:55 +1300
<BR>From: Greig McGill <<A HREF="mailto:rider@wave.co.nz">rider@wave.co.nz></A>
<P> Following up from your january issue, specifically:
<BLOCKQUOTE>
From: Gerard Beekmans
<P> It's true; Winmodems don't work under Linux. Winmodems are
specially designed to work with Microsoft Windows and are not supported
in Linux. The only way to get a modem to work is to buy a
non-winmodem.
</BLOCKQUOTE>
<P> This is not strictly true...
<P> Go to www.linmodems.org.
<P> I managed to get my LT Winmodem going on my Acer notebook - runs sweeter than it did under win98.
<!-- END tips.answers -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.
Copyright © 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<font color="maroon">
<H1>Web Applications with Database Connectivity</H1>
<h2>- getting started -</h2>
</FONT>
<H4>By <a href="mailto:mandreiana@yahoo.com">Marius Andreiana</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p><h3>Abstract</h3>
<p>Almost any company with a presence on the web uses some kind of database to
ease the content maintaining. This article will introduce a way to develop database-backed
web sites using open-source software : Linux, Apache, PostgreSQL, PHP3.<p>
Although this is written for a Red Hat Linux system, most of it ( if not all )
applies to other distributions.
<p>
<h3>Contents</h3>
<UL>
<LI><a href="#linux">Linux</a>
<LI><a href="#apache">Apache</a>
<LI><a href="#postgres">PostgreSQL</a>
<LI><a href="#php3">PHP3</a>
<LI><a href="#all">Putting it all together</a>
<LI><a href="#res">Resources</a>
</UL>
<h2><p><a name="linux">Linux</a></h2>
<p>We all know about Linux... You could also check my
<a href="http://www.linuxstart.com/~marius/intro/">Introduction to Linux</a>
<p>
<h2><p><a name="apache">Apache</a></h2>
<p>Apache is the most used web server on the internet. Originally based on NCSA,
it evolved into a far superior system which can rival (and probably surpass)
almost any other UNIX based HTTP server in terms of functionality, efficiency
and speed. Apache is an entirely volunteer effort, completely funded by its
members, not by commercial sales.
<p>Your Linux distribution includes Apache. Install it ( if it isn't already
installed ) and start the HTTP daemon.
It's a very simple installation, so it won't be covered here. Test it by typing
in your web browser : <b>http://localhost/</b>. You should see a page which tells
you that the installation was successful.
<p>
<h2><p><a name="postgres">PostgreSQL</a></h2>
<p>PostgreSQL is an advanced Object-Relational database management system (DBMS)
that supports almost all SQL constructs (including transactions, subselects and
user-defined types and functions).
Postgres, developed originally in the UC Berkeley Computer Science Department,
pioneered many of the object-relational concepts now becoming available in some
commercial databases. It provides SQL92/SQL3 language support, transaction
integrity, and type extensibility. PostgreSQL is a public-domain, open source
descendant of this original Berkeley code.
<p>The easiest way to set up PostgreSQL is from
<a href="ftp://ftp.redhat.com/pub/RedHat/6.1/RPMS/">RedHat's 6.1 RPMs</a>.
Install everything beginning with <b>postgres</b>.
<p>I recommend not to store your database files in the default location,
<b>/var/lib/pgsql/</b>, but in <b>/home/postgresdb</b> ( or somewhere
in <b>/usr/local</b> ). That way, if you have to reinstall the system, you
woun't lose the data ( you do have a separate partition for <b>/home</b>,
don't you ? ).
<p>So how do you do this ?
After installing the RPMs, user <b>postgres</b>
is the database administrator ( not <b>root</b> !). Logged in as root, set
up a password for <b>postgres</b> :
<p><b># passwd postgres</b>
<p>
Next, create the directory and change it's
owner to be the PostgreSQL administrator :
<p>
<b># mkdir /home/postgresdb<br>
# chown postgres.postgres /home/postgresdb
</b>
<p>The location of database files is specified by PGDATA environment variable.
You should set this up so it's available to all users. Add this at the end
of <b>/etc/profile</b> file :
<p><b>PGDATA=/home/postgresdb<br>
PGLIB=/usr/lib/pgsql<p>
export PGDATA PGLIB
</b><p>
In order to use the database, the <b>postmaster</b> must be running.
You'll probably want it to run all the time, so let's add it to the
start-up daemons :
<p>
<b># setup</b>
<p>Select <b>Sytem services</b>, then make sure <b>postgresql</b> is
marked with a *.
<p>
Okay, one more thing. We must modify in <b>/etc/rc.d/init.d/postgresql</b>
( which is run at start-up ) the database directory. Replace every
occurence of <b>/var/lib/pgsql</b> with <b>/home/postgresdb</b>
<p>Now you are ready to go. Start the <b>postgresql</b> service :
<p><b>
# /etc/rc.d/init.d/postgresql start
</b>
<p>
Being the first time it is run, the base database files will be created. Then
the postmaster will be started ( by default, TCP/IP communication is enabled ).
<p>
It's time to test the instalation. Create a user <b>pguser</b> :
<p><b>
# adduser pguser<br>
# passwd pguser
</b><p>
Logged in as <b>postgres</b>, create the same user for PostgreSQL :
<p><b>
$ createuser pguser
</b><p>
Answer to the questions by not allowing this user to create databases, don't let it
be a superuser and create a database for him.
<p>
Log in as <b>pguser</b> and run <b>psql</b>. Create a table and insert
a few records :
<p><b>
pguser=> create table friends ( name varchar(30), email varchar(90) );<br>
pguser=> insert into friends values ( 'John', 'john@johnny.com' );<br>
pguser=> insert into friends values ( 'Mary', 'mary@linuxmail.com' );<br>
pguser=> select * from friends;<br>
</b>
<p>You could do this from <b>PgAccess</b> ( included in Postgres ) if
you want a graphical user interface, but for now try the command line
( and don't forget the semi-colon at the end ).
<p>
Time to move forward.
<p>
<h2><p><a name="php3">PHP3</a></h2>
<p>PHP is a server-side HTML-embedded scripting language with a strong
database integration layer. Writing a database-enabled web page is incredibly
simple. Supported databases include PostgreSQL, MySQL, Oracle, Sybase, Informix.
<p>Again, the easiest way to set up PHP is from
<a href="ftp://ftp.redhat.com/pub/RedHat/6.1/RPMS/">RedHat's 6.1 RPMs</a>.
Install <b>php</b>, <b>php-manual</b>, <b>php-pgsql</b>.
<p>
Now let's tell Apache about PHP. Uncomment the follwing lines in
<b>/etc/httpd/conf/httpd.conf<p>
LoadModule php3_module modules/libphp3.so<br>
AddModule mod_php3.c
<p></b> and <b>/etc/httpd/conf/srm.conf<p>
AddType application/x-httpd-php3 .php3<br>
AddType application/x-httpd-php3-source .phps
</b><p>
You could also add to <b>DirectoryIndex</b> index.php3 ( in <b>srm.conf</b> )
<p>
<p>Choose a place which will hold our work. For start you could use <b>/home/httpd/html/</b>
( if that's your DocumentRoot defined in <b>srm.conf</b> ).
<p>
Let's test with a simple document named <b>test.php3</b> ( the extension is
very important ) with a single line : <b><?php phpinfo() ?></b>
<p>
Access this file from your web browser from <b>http://localhost/test.php3</b>
<br>
You should see lots of information about PHP, your server ...
<p>
<h2><p><a name="all">Putting it all together</a></h2>
<p>Everything is set, let's get some results !
<p>Our friends John and Mary are still there, waiting for you.
Create a file named <b>friends.php3</b>.
<a href="misc/andreiana/friends.php.txt">Here it is</a>, with
lots of comments.
<p>
<FONT color=#000000><FONT color="#0000BB">
<?php<br><br></FONT><I><FONT color="#FF8000" size="-1">
//define variables used with the database</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//usually this goes in an include file</FONT></I><FONT color="#0000BB">
<br>$PG_HOST=<FONT color="#DD0000">
<STRONG>"localhost"</STRONG></FONT><FONT color="#007700">;</FONT><br>$PG_PORT=5432<FONT color="#007700">;</FONT><br>$PG_DATABASE=<FONT color="#DD0000">
<STRONG>"pguser"</STRONG></FONT><FONT color="#007700">;</FONT><br>$PG_USER=<FONT color="#DD0000">
<STRONG>"pguser"</STRONG></FONT><FONT color="#007700">;</FONT><br><br>$PG_PASS=<FONT color="#DD0000">
<STRONG>""</STRONG></FONT><FONT color="#007700">;</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//let's open the database</FONT></I><FONT color="#0000BB">
<br>$dbconn=pg_connect<FONT color="#007700">(</FONT> <FONT color="#DD0000">
<STRONG>"dbname=$PG_DATABASE host=$PG_HOST port=$PG_PORT user=$PG_USER password=$PG_PASS"</STRONG></FONT> <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">if</FONT> <FONT color="#007700">(</FONT> ! $dbconn <FONT color="#007700">)</FONT> <FONT color="#007700">{</FONT><br> <FONT color="#007700">echo</FONT> <FONT color="#DD0000">
<STRONG>"Error connecting to the database !<br> "</STRONG></FONT> <FONT color="#007700">;</FONT><br> printf<FONT color="#007700">(</FONT><FONT color="#DD0000">
<STRONG>"%s"</STRONG></FONT>, pg_errormessage<FONT color="#007700">(</FONT> $dbconn <FONT color="#007700">)</FONT> <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br> exit<FONT color="#007700">(</FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//the database handle is $dbconn</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//run a sql command to insert another record</FONT></I><FONT color="#0000BB">
<br>$sqlcom=<FONT color="#DD0000">
<STRONG>"insert into friends values ('Marius', 'marius@marius.com')"</STRONG></FONT><FONT color="#007700">;</FONT><br><br>$dbres = pg_exec<FONT color="#007700">(</FONT>$dbconn, $sqlcom <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">if</FONT> <FONT color="#007700">(</FONT> ! $dbres <FONT color="#007700">)</FONT> <FONT color="#007700">{</FONT><br> <FONT color="#007700">echo</FONT> <FONT color="#DD0000">
<STRONG>"Error : "</STRONG></FONT> + pg_errormessage<FONT color="#007700">(</FONT> $dbconn <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br> exit<FONT color="#007700">(</FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//let me know I've been added to the database by sending me an email</FONT></I><FONT color="#0000BB">
<br>mail<FONT color="#007700">(</FONT><FONT color="#DD0000">
<STRONG>"marius@marius.com"</STRONG></FONT>, <FONT color="#DD0000">
<STRONG>"Lucky winner !"</STRONG></FONT>, <br><FONT color="#DD0000">
<STRONG>"You've just won a row in our database. Congratulations !"</STRONG></FONT>, <FONT color="#DD0000">
<STRONG>"From : boss@db.com"</STRONG></FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br></FONT><I><FONT color="#FF8000" size="-1">
//yes, it's that simple</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//( sending an email I mean, it's not so easy to win :)</FONT></I><FONT color="#0000BB">
<br><br></FONT><I><FONT color="#FF8000" size="-1">
//what do we have now in the database ?<br></FONT></I><FONT color="#0000BB">
<br>$sqlcom=<FONT color="#DD0000">
<STRONG>"select * from friends"</STRONG></FONT><FONT color="#007700">;</FONT><br><br>$dbres = pg_exec<FONT color="#007700">(</FONT>$dbconn, $sqlcom <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">if</FONT> <FONT color="#007700">(</FONT> ! $dbres <FONT color="#007700">)</FONT> <FONT color="#007700">{</FONT><br> <FONT color="#007700">echo</FONT> <FONT color="#DD0000">
<STRONG>"Error : "</STRONG></FONT> + pg_errormessage<FONT color="#007700">(</FONT> $dbconn <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br> exit<FONT color="#007700">(</FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//and interpret the results</FONT></I><FONT color="#0000BB">
<br>$row=0<FONT color="#007700">;</FONT><br>$rowmax=pg_NumRows<FONT color="#007700">(</FONT>$dbres<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><br><FONT color="#007700">while</FONT> <FONT color="#007700">(</FONT>$row<$rowmax<FONT color="#007700">)</FONT><br><FONT color="#007700">{</FONT><br> $do = pg_Fetch_Object<FONT color="#007700">(</FONT>$dbres, $row<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br> <br> $s=<FONT color="#DD0000">
<STRONG>"<p>$do->name | $do->email\n"</STRONG></FONT><FONT color="#007700">;</FONT><br> printf<FONT color="#007700">(</FONT><FONT color="#DD0000">
<STRONG>"%s"</STRONG></FONT>, $s<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br> <br> $row++<FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//close the database</FONT></I><FONT color="#0000BB">
<br>pg_close<FONT color="#007700">(</FONT> $dbconn <FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//That's all. This isn't a tutorial to PHP, I wanted to show you how</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//it can be done. As you can see, it isn't hard at all</FONT></I><FONT color="#0000BB">
<br>?><br></FONT></FONT>
<p>
<p>
You can find more on the web. All of this is open-source, remember ? You'll
easily find scripts made by various people doing lots of things
and more open-source projects ( go get your shopping cart :)
<h2><a name="res">Resources</a></h2>
<UL>
<LI><a href="http://www.apache.org">Apache</a>
<LI><a href="http://www.postgresql.org">PostgreSQL</a>
<LI><a href="http://www.postgresql.org/docs/awbook.html">PostgreSQL: Introduction and Concepts</a>
<LI><a href="http://w3.one.net/~jhoffman/sqltut.htm">SQL Tutorial</a>
<LI><a href="http://www.php.net">The PHP Home</a>
</UL>
<p>
<p>Well, that's it. You are now able to start developing database-enabled
web applications. Of course, you should learn more. Much more.
<p>
<p>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Marius Andreiana<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Interview with Mike Cowpland, Corel Corporation</font></H1>
<H4>By <a href="mailto:prakash@freeos.com">Prakash Advani</a></H4>
</center>
<BLOCKQUOTE> <EM>
[Originally published on the FreeOS site as
<A HREF="http://www.freeos.com/linux/interviews/mikecowpland.ephtml">
http://www.freeos.com/linux/interviews/mikecowpland.ephtml</A>. Reprinted here
at the author's request. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!-- END header -->
<p align="left"><font face="Arial, Helvetica, sans-serif">Dr. Michael Cowpland,
president and CEO of <a href="http://www.corel.com">Corel</a> Corporation,
hardly needs an introduction. An engineer by qualification, Dr Cowpland
began his career at Bell Northern Research in 1964. In 1985, he founded
Corel one of the largest software companies in the world.
The company is now helping develop the fast growing Linux platform;
in fact, Corel plans to port a majority of its applications to Linux.
Mike Cowpland talks of his plans for Corel and his views on Linux to <a href="http://www.freeos.com">FreeOS.com</a>.
</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What is Corel doing with
Linux?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">Corel is
basically offering really comprehensive solutions to Linux. We are doing more
than any other company and are also providing complete connectivity to the Windows
world. We have recently launched Corel Linux for the desktop. This is currently
available in North America and can be downloaded from our Web site. We have
made an extremely easy to use distribution that can be installed even quicker
than Windows. The user can also connect seamlessly to the all the Windows files
on the network including Microsoft public files. With the announcement that
we made a few weeks ago, he can also connect to Windows applications to run
those. If someone has the legacy applications that they want to connect and
still enjoy the benefits of Linux, they can do that by having a single application
server serving up the group. So you can have a cluster of Linux desktops and
one Windows NT server and they can all load up their Windows applications from
there and while using their own native Linux applications on the desktop. So
that provides a complete solution where we provide the basic software, which
is the browser, the office suite and the graphic suite. Then they may have their
human resource or accounting software that they still have on Windows. They
can run on their server without having to run them on the desktop.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Will Corel become a Linux
company in the near future?<br>
</b>Well, we are already very heavily a Linux company. That is supported by
the fact that we are we are the most popular download on the Web. If you look
at CNET the number one download site, we have been the number one Linux download
consistently so effectively we are already a Linux company. We are introducing
our Linux suite very shortly and that would give us more exposure and capability
in Linux. </font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Where do you see Linux
5 years from now?<br>
</b>In 5 years, Linux will become the more dominant operating system in terms
of Unix. Windows will be more involved with back-end applications like it is
today.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Why did Corel decide
to develop its own distribution rather than adopting or embracing an existing
one?<br>
</b>We did look at several distributions but found them very limited. They were
difficult to install and use and required an expert, which we did not find acceptable.
In Linux, when something is not happening, the best thing is to do it yourself
and that is exactly what we did. As compared to any other distribution, we received
the highest rating of 9 from CNET in addition to being CNET's Editor's Choice,
whereas Red Hat has received a rating of 8.</font></p>
<p><b><font face="Arial, Helvetica, sans-serif" size="2">Corel is primarily known
as a company developing Graphic suites and Office suites. Does this give a feeling
that Corel is losing its focus of developing applications?</font></b><font face="Arial, Helvetica, sans-serif" size="2"><br>
</font><font face="Arial, Helvetica, sans-serif" size="2">Not really, a tremendous
amount of User Interface has been worked at with programs such as CorelDraw.
In Linux, it is a world team effort with each organization doing what its best
at. The kernel is still being developed by the kernel people and we simply use
it. We don't have to reduplicate that work. We are best at the user interface
and we are doing that. With our 50 million Windows users worldwide we have very
rich experience with that. We have made the user interface really easy to use
and the fact that our distribution has been well received proves it.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Corel has been a Windows
developers and is now a Linux developer. Does it affect your relationship with
Microsoft?<br>
</b>We have always had a good relationship with Microsoft and continue to do
so. We use Visual Basic and they use our components. We can focus in certain
other areas, which I think in some ways it is going to be good for Microsoft.
They are, as you know, getting hammered for being a monopoly. Microsoft will
do better when they have competition OS around.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What do you think is
better. Being a Linux Developer or being a Windows developer?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">We
actually like being a multi-platform developer. Otherwise one company has too
much control over computer manufacturers - they can dictate terms. They can
insist that you bundle certain things or put logos in certain places, which
Microsoft has been known to do. I don't think that's good for anybody. Being
in the multi-platform world is healthier while maintaining connectivity, because
you don't want to have different islands which cannot talk to each other. We
consider connectivity as the biggest thing that Corel is doing for Linux. We
have our Windows experience and while we don't expect Windows to go away, we
do expect Linux to be just as important as Windows. Much of the work that we
will be doing on applications will be shared between the platforms.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>How is Corel helping
the Linux community?</b><br>
</font><font face="Arial, Helvetica, sans-serif" size="2">We have been doing
work with Corel Linux in the GPL or Mozilla open source licenses. The Wine work
that we are doing is been put back into the community. The Corel File Manager,
all of which we wrote ourselves, has been put back into the community. We are
actually very supportive of the open source concept. On the applications side
we don't see those as being open source because there are dozens and dozens
of third party utilities that we select, tune-up and include. That's what makes
a very rich applications because the core software is only part of the source.
It is the other utilities that make them useful. As we have to pay royalties
for many of these, its impossible to give them free.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Which are the big vendors
who have agreed to pre-install Corel Linux on their systems?</b><br>
PC Chips, that makes more motherboards than anybody else is installing Corel
Linux as we speak. We are working with other big vendors too which we will make
announcements over the next 6 months. I think a lot of end-user computer manufacturers
are waiting for applications such as Corel's office applications and graphic
applications to be available before they can really offer a consumer product.
We will have those available soon and we expect them to make announcements then.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>There are some installation-related
issues regarding Corel Linux 1.0. What is Corel doing about those?<br>
</b>There are some issues regarding legacy hardware such as ISA, which has not
been as automated as the latest Bus. The fact is that developers are now focusing
on the high volume situation first. It will take a lot before it can cover every
legacy hardware and this is typical of any Linux distribution.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Corel had the Netwinder
Project, which for some reason did not take-off and Corel decided to spin it
off. What was the reason behind that?<br>
</b>The project has divested to rebel.com, and we are an active partner there.
They are doing very well and just went through a private round of financing.
They have a product similar to Cobalt, which has a market capitalization of 3-4
billion US$. We are very happy with our 25% ownership of rebel that we got in
the Netwinder project. We just felt it was better off as a separate company
because hardware does require a separate focus.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Will Corel do something
similar with Corel Linux?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">No,
because we are enabling 90% of the work between Windows applications
and Linux applications and to some extent Macintosh applications. That is more
proficient than other companies doing both Linux applications and Windows applications.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Are all Corel applications
going to be available for Linux? <br>
</b>Yes, absolutely. We are also considering acquisition of other applications of
Windows to port over to Linux, to make our portfolio even more complete. We
are also looking at companies who have a dual platform strategy. It is easier
to buy technologies than to buy the whole company in a non-exclusive way.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><i>(Mike Cowpland refused
to give any further details about the companies that they plan to or are considering
to acquire. Said it was too pre-mature to discuss this now.)</i></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Corel Office for Linux
was expected by the year-end of 1999? Apart from Word Perfect none of the other
applications are ported to Linux yet. What is the progress on that?</b><br>
It should be available in beta form in a week's time and that's very close to
year-end.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What about the competition
to your office suite from Star Office?<br>
</b>The downloads of their office suite are running at 10% of our volumes which
is not very competitive. If you look at Sun's history of software it has been
dismal. Even now people complain that they are not even freeing up Java. IBM
is very upset that they are charging 3% license fees for anybody using Java
program. Sun's history on software has been the pits.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What would happen if
Microsoft office were available for Linux?<br>
</b>That would be good for the industry. More the applications on Linux, the
better. In fact we are working on that. With our GraphOn Bridges you will be
able to run Microsoft applications on Corel Linux without Microsoft having to
do any work. You still have to pay Microsoft's license but it will enable people
to rely on Linux without giving up on their favorite Windows applications.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Both Microsoft and Sun
are offering their office suites over the servers with the concept of application
service providers. What are Corel's plans?<br>
</b>We are doing that too. We have an offering for ASP's as that provides very
low cost of ownership.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Does Corel plan to sell
computers with Linux and Corel apps preinstalled?<br>
</b>No we would rather work with partners to do that.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>There have been some
controversies about the Corel Linux licensing which wasn't 100% GPL?<br>
</b>Even Richard Stallman has been happy with our license. Being a big commercial
company, we have to be more careful of copyright than other smaller companies.
We had certain terms, which had to be introduced to ensure that everything was
legal.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Will Corel support other
free operating systems in the future?<br>
</b>No. We think it is important to focus on Linux, as it is clearly the one.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>There were some talks
about Red Hat taking over Corel, is that going to happen?<br>
</b>No, I don't think they would do that, because Red Hat is a much smaller
company than Corel. They have only 40-50 developers where as we have got 800
developers. We understand the Windows market, Red Hat does not.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What if it happens?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">It
is not going to happen (laughs).</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>If you had a choice to
be taken over by a company, which company would you prefer?<br>
</b>None (laughs).</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>How does Corel plan to
make money out of the open source model?<br>
</b>Corel has always been known to offer enormous value for money and thereby
the paradigm suits us very well. If you put a software in a box along with a
manual, it typically costs between 50 and 100 US$ and that's what an upgrade
sells for. It is really no different to our Windows model. The only difference
is that you get a good CD in the market with free downloads and that's why we
have had 2 million Word Perfect downloads, the number one rate of free download
of Corel Linux.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2">In my point of view, it
is very similar to the Windows model. It goes even faster and you still make
money on the boxes because some people don't want to wait for the downloads.
They want the CD and the manuals or they want the extra bells and whistles such
as the high level of support or may be some more bells and whistles such as
content. For example, on our Web site we have 50,000 images but if you want
to access 2 million then you have to join up and pay 30 US$ a year as
subscription. So it fits into a subscription model. We are looking at the Web
site as a revenue generator and are keen to develop a lot more traffic to our
portal <a href="http://www.corelcity.com">Corelcity.com</a>.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Is Corel's Web site powered
by Corel Linux?<br>
</b>Some part of it is on Solaris and Window NT, but the trend would be towards
moving to Corel Linux.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What are Corel's plans
for India?<br>
</b>We are optimistic about the potential of the Indian market and are very
very keen on it. It is a huge market and English is commonly used. We also think
India is natural for Linux because it needs computers at the lowest possible
cost. Why would they want to pay the high price of Windows when they don't have
to? At the same time it is full of computer scientist who can improve Linux
because they have access to the source code. So India can become a major contributor
to Linux since they can all see the source code, use the source code and be
a part of the improvement. So it's much more exciting for India than simply
being a part of Microsoft's monopoly.</font></p>
<EM>
<p><font face="Arial, Helvetica, sans-serif" size="2">Do you have any interesting
questions to Mike Cowpland which haven't been answered in this interview? Send
an email to <a href="mailto:prakash@freeos.com">Prakash Advani</a> and the top
5 questions will be forwarded to Mike Cowpland.</font></p>
<P> <font face="Arial, Helvetica, sans-serif" size="2">
<A HREF="http://Freeos.com">Freeos.com</A> islooking for people who can
provide news, articles and updates to our the Web site. If you are interested
in contributing in any way please e-mail <A
HREF="mailto:prakash@freeos.com">prakash@freeos.com</A>.</FONT>
</EM>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Prakash Advani<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<IMG ALT="HelpDex logo" SRC="../gx/collinge/HelpDex.gif"
WIDTH="78" HEIGHT="50" ALIGN="left">
<IMG ALT="HelpDex logo" SRC="../gx/collinge/HelpDex.gif"
WIDTH="78" HEIGHT="50" ALIGN="right">
<center>
<H1><font color="maroon">HelpDex</font></H1>
<H4>By <a href="mailto:shane_collinge@yahoo.com">Shane Collinge</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<BLOCKQUOTE><EM>
[</EM>Linux Gazette<EM> is proud to present the Linux comic strip
</EM>HelpDex<EM> by cartoonist Shane Collinge. Each
</EM>Gazette<EM> issue will
contain the Author's and Editor's favorite cartoons from the previous
month. All cartoons may be seen at
<A HREF="http://mrbanana.hypermart.net/Linux.htm">
http://mrbanana.hypermart.net/Linux.htm</A>. A new cartoon is posted
there daily Monday-Friday. -Ed.]
</EM></BLOCKQUOTE>
<P> HelpDex is a VERY lame Linux pun on "help desk". Follow Carol and Tux,
her stuffed penguin toy, as they force their way through the corporate
programming world with style, panache and um, er, stuffed toys. -SC
<P>
<IMG ALT="HelpDex1.jpg" SRC="gx/collinge/HelpDex1.jpg"
WIDTH="750" HEIGHT="299">
<BR CLEAR="all">
<IMG ALT="HelpDex6.jpg" SRC="gx/collinge/HelpDex6.jpg"
WIDTH="750" HEIGHT="297">
<BR CLEAR="all">
<IMG ALT="HelpDex8.jpg" SRC="gx/collinge/HelpDex8.jpg"
WIDTH="750" HEIGHT="297">
<BR CLEAR="all">
<IMG ALT="HelpDex10.jpg" SRC="gx/collinge/HelpDex10.jpg"
WIDTH="750" HEIGHT="296">
<BR CLEAR="all">
<IMG ALT="agbdab.jpg" SRC="gx/collinge/agbdab.jpg"
WIDTH="750" HEIGHT="304">
<BR CLEAR="all">
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Shane Collinge<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<font color="maroon">
<H1>Creating A Linux Certification Program, Part 8</H1>
<H2>"Dreams Become a Reality"</H2>
</font>
<H4>By <a href="mailto:rferrari@rainmanintl.com">Ray Ferrari</a></H4>
<BLOCKQUOTE> <EM>
[ This is the continuation of a series begun by by Dan York. -ed.]
</EM> </BLOCKQUOTE>
</center>
<P> <HR> <P>
<!-- END header -->
<P>On Tuesday,
January 11, 2000, the culmination of hard work by a dedicated group
of volunteers worldwide has produced the first in a series of
certification tests for the Linux* community. The Linux Professional
Institute(LPI; <A HREF="http://www.lpi.org/">http://www.lpi.org</A>
)which was incorporated (nonprofit) in Ontario, Canada in October,
1999; has released its T1A Exam
<P>(<A HREF="http://www.lpi.org/t1alaunch.html">
http://www.lpi.org/t1alaunch.html</A> ) to the world through the
<A HREF="http://www.vue.com/linux">
Virtual University Enterprises'</A> (VUE)
1700 plus testing centers. The exam qualifies the participant
towards certification at Level 1 (Junior-Level/ Linux system
administrator). This first exam is just one in a series which will be
available for the individual looking to add credentials to their
Linux knowledge and experience.
<P>In October 1998,
the concept of Linux certification was launched with the leadership
of Evan Leibovitch(current LPI Executive Director) and Dan
York(current Board Chairman)who were
introduced to each other by Jon "maddog" Hall of Linux
International. After many months of hard work and thousands of
volunteers, Evan Leibovitch proclaims, "This
is what we've been
working towards since the day we started." "We've tried to
make our program challenging, vendor-neutral and accessible, and I
believe we've succeeded on all fronts" according to Evan. Scott
Murray(Director of Exam Development) adds "Our volunteers are a
crucial part of LPI, and the delivery of quality exams reflects the
hard work and care they have contributed to the program." "We
want to provide a certification that is supported and respected by
it's community" he says. And further acknowledgment comes from Dan
York; "We've learned an amazing amount...and truly demonstrated
the power of a group of people working together to accomplish a
common goal!" "All that we can say is THANK YOU for helping
to make this dream a reality" he says.
<P><BR>
<P>We would like to
thank the many people who have worked on the technical aspects of the
tests(submitting and reviewing test questions), those who have
staffed our booths at the shows around the globe, those who have
responded through our different channels of communication(web site,
e-mails, etc.), our participants in the Advisory Council, and most
importantly our financial sponsors; both individual, and
corporate(listed alphabetically) ; Caldera Systems, IBM, Linuxcare,
SGI, SuSE, TurboLinux, and Wave Technologies. Our association with
Wave Technologies and ProsoftTraining.com have helped us greatly. We
have an extensive listing of our volunteers at
<A HREF="http://www.lpi.org/thanks99.html">http://www.lpi.org/thanks99.html</A>
.
<P><BR>
<P>Those
interested in taking the first exam(T1A) will need to register with
VUE;
<A HREF="http://www.vue.com/linux/">http://www.vue.com/linux/</A>
and pay a fee of $100. The test will take approximately 1-2 hours. To
find the location nearest you go to
<A HREF="http://www.vue.com/testing/index.html">http://www.vue.com/testing/index.html</A>
.
<P>A call for help is
still being echoed for the submission of questions for the T2series
of exams. If you can help write questions for these tests, please
visit our <A HREF="http://www.lpi.org/cgi-bin/tips.py">"TIPS
system"</A>. We could also use help reviewing all of the
questions for these advanced tests. Plus, volunteers would be
greatly appreciated to help staff upcoming events. For a schedule of
events which we will be participating in, please see
<A HREF="http://www.lpi.org/i-events.html">http://www.lpi.org/i-events.html</A>.
Some events include the Linux World Expos, Linux Business Expos,
Atlanta Linux Showcase, and the following:
<P>
On February 2-4, we will be at Linux World in New York City and
Linux World
Paris(contact <A HREF="mailto:tom@lpi.org">tom@lpi.org</A> ),
February 24-March 3 in Hannover, Germany for the
CeBIT show( <A HREF="mailto:tom@lpi.org">tom@lpi.org</A>
), March 7-10 in Sydney, Australia for the Open Source
Expo and Conference(contact
<A HREF="mailto:jon@cybersite.com.au">Jonathan Coombs</A>), and the
Linux Business Expo(with
Comdex) in Chicago on April
17-20, 2000. Please contact the above persons or Dan
York <A HREF="mailto:dan@lpi.org">dan@lpi.org</A>)
if you can staff any of the booths for these shows.
<P><BR>
<P>Stay
tuned to the Linux Gazette and Linux Professional Institute,
as we move forward to making these dreams a reality within the Linux
community.
<P><BR>
<P>*Linux is a
trademark of Linus Torvalds; Linux Professional Institute is a
trademark of the Linux Professional Institute Inc.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Ray Ferrari<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">From Pico to Nano</font></H1>
or
<h3>The Slightly Bigger Editor</h3>
<H4>By <a href="mailto:guckes-nano@math.fu-berlin.de">Sven Guckes</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>
The program "Pine" has become a popular program for both Email and News.
It makes use of a small and simple editor named "pico".
<p>
Pico's command set only has a dozen commands and it shows the most useful
commands in the last two lines of the display:
<p>
<table>
<tr>
<td>
<pre> </pre>
<td bgcolor="#e0e0e0">
<FONT COLOR="#000000">
<pre>
UW PICO(tm) 3.5 New Buffer
[...]
<b>^G</b> Get Help <b>^O</b> WriteOut <b>^R</b> Read File <b>^Y</b> Prev Pg <b>^K</b> Cut Text <b>^C</b> Cur Pos
<b>^X</b> Exit <b>^J</b> Justify <b>^W</b> Where is <b>^V</b> Next Pg <b>^U</b> UnCut Text<b>^T</b> To Spell
</pre>
</FONT>
</td>
</tr>
</table>
<p>
However, the source code for Pico is closely linked to the source code of Pine;
therefore you cannot download Pico on its own - you have to donwload
the source of the complete newsreader to install the little editor.
Worse: Although Pine is freely available you should know this:
<p>
<center>
Pine and Pico are <b>not</b> "OpenSource"
</center>
<p>
<hr>
<h1> Pico is dead - long live Nano </h1>
Yes, you cannot just download the source for Pico and install on its own.
However, many users would like to use this kind of editor
and simply copy it everywhere for personal use.
<p>
That's why there is now an OpenSource project for a "Pico clone" -
"<b>Nano</b>".
(Think of it as "'<b>n ano</b>ther editor", if you like.)
<p>
The goal of Nano is to make a small editor like Pico available under
the GNU General Public Licence and to add some important commands,
while keeping the design, ie "small and beautiful".
<p>
<hr>
<h1>The Editor's New Clothes</h1>
Here is a screenshot of nano:
<p>
<table>
<tr>
<td>
<pre> </pre>
<td bgcolor="#e0e0e0">
<FONT COLOR="#000000">
<pre>
<pre>
nano 0.8.1 New Buffer
.
^O Write Out ^_ Goto Line ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^\ Replace ^W Where Is ^V Next Page ^U Uncut Txt ^T To Spell
</pre>
</FONT>
</td>
</tr>
</table>
<p>
The difference to <tt>pico</tt> is subtle -
no more copyright by the University of Washington ["UW ... (tm)"]. :-)
<p>
Also, the <tt>WriteOut</tt> command now is above the <tt>Exit</tt> command,
so you can see both "exit commands" in one column.
<p>
The new commands are in the second column -
<tt>GotoLine</tt> and <tt>Replace</tt>.
<p>
The <tt>Help</tt> command is still available with <tt>Control-G</tt> -
but when you invoke it then you will see this message:
<p>
<pre>
[ Help function not yet implemented, nyah! ]
</pre>
But as with all program which develop fast -
the documentation is usually missing.
<p>
But do not despair - there's help on the command line:
<p>
<xmp>
$ nano -h
Usage: nano [GNU long option] [option] +LINE <file>
Option Long option Meaning
-V --version Print version information and exit
-c --const Constantly show cursor position
-h --help Show this message
-i --autoindent Automatically indent new lines
-s [prog] --speller=[prog] Enable alternate speller
-t --tempfile Auto save on exit, don't prompt
-v --view View (read only) mode
-w --nowrap Don't wrap long lines
-x --nohelp Don't show help window
-z --suspend Enable suspend
+LINE Start at line number LINE
</xmp>
All these switches are pretty nice, of course. Try them!
Maybe we will see these lines in some Unix programs from now on:
<pre>
set editor="nano -citxz"
</pre>
<hr>
<h1> What's your version? </h1>
One of the things I like about program is that they
identify themself by their version (and relase date):
<p>
<pre>
$ nano -V
nano version 0.8.0 by Chris Allegretta
</pre>
Soon this will hopefully show both important addresses -
that of the website and the email address:
<p>
<pre>
$ nano -V
nano 0.8.0 http://go.to/nano-editor nano-editor@go.to by Chris Allegretta
</pre>
<hr>
<h1> Smaller, Faster, Better </h1>
You may now that "nano" and "pico" are used in the
decimal system for fractions like "centi" and "milli";
"nano" stands for "a billionth" (ie 10^(-9)), and
"pico" stands for "one trillionth" (ie 10^(-12)).
<p>
So, although "nano" is bigger than "pico"
I hope that nano will both be smaller in source
as well as in binary size.
<p>
<hr>
<h1> A quick look at history </h1>
As of Jan 31th, 2000, the current version is nano-0.8.1
and the tape GNU-zipped archive has about 72 kilobytes.
<p>
<pre>
date size name-version
==== ==== ============
000110 56k nano-0.7.4
000113 56k nano-0.7.5
000116 58k nano-0.7.7
000119 60k nano-0.7.8
000123 67k nano-0.7.8
000124 68k nano-0.7.9
000125 70k nano-0.8.0
000129 72k nano-0.8.1
</pre>
On average each version adds 2K - so when nano-1.0.0
gets released it should be around 110k. ;-)
<p>
<hr>
<h1> Installation </h1>
The author distributes RPMs for Nano now.
However, there is no ftp site which carries Nano yet.
So if you would like to install your own nano binary
then you could use a browser to download Nano -
or simply the nice tool "wget":
<p>
<pre>
wget http://faculty.plattsburgh.edu/astyanax/nano/dist/nano-0.8.1.tar.gz
</pre>
Unpack with GNU tar:
<pre>
gtar xvvzf nano-0.8.1.tar.gz
</pre>
.. and run the configure script and make the binary:
<pre>
cd nano-0.8.1
./configure
make
</pre>
The installation is pretty fast. :-)
<p>
Now strip the binary:
<p>
<pre>
guckes@linux> ls -l nano
-rwx--x--x 1 guckes users 120357 Jan 31 21:31 nano
guckes@linux> strip nano
guckes@linux> ls -l nano
-rwx--x--x 1 guckes users 38232 Jan 31 21:34 nano
</pre>
Only 38K!
<p>
<pre>
guckes@linux> ls -l =pico
-rwxr-xr-x 1 root root 159576 Aug 13 02:23 /usr/bin/pico
</pre>
Yes, Pico is bigger!
<p>
And if someone asks you why people delight in nanotechnology -
now you know. Enjoy Nano!
<p>
<hr>
<h1> Discussing Nano </h1>
As far as I know there is no mailing list for the development of Nano yet.
Therefore please use the newsgroup
<a href="news:comp.editors">comp.editors</a>
to discuss <tt>Nano</tt>.
<p>
However, I am pretty sure that the news about Nano
will hit the newsgroup comp.mail.pine pretty soon.
I expect many users of Pine to switch to using Nano instead of Pico.
Expect crossposts - so please direct followups from comp.mail.pine:
<pre>
Followup-To: comp.editors
</pre>
<p>
Thankyou.
<p>
<hr>
<h1> The Big Future </h1>
The author, Chris Allegretta, is currently working towards
"<b>Internationalization</b>" (I18N) of nano you should be able to edit
and see text of other languages which require the space
of two characters to make up one symbol in language.
<p>
Also, an interface to "<b>spell checking</b>" is in the works.
This needs lots of testing , of course.
So all you nerds with strange language -
please help checking and testing this code!
<p>
Personally, I hope that these commands will be added:
<p>
<ul>
<li> Visualization of the edit buffer's end.
<li> Visualization of trailing whitespace (noone ever sees it which is bad!).
<li> Visualization of _underlined_ and *ephasized* text. (very simple)
<li> Commands to jump to line before/after current paragraph.
<li> Command to "pipe" the current text to another (external) command.
<li> Substitution ("Subst", aka "search and replace") with these options:
substitution starts at line 1 or optionally on current line;
skip current match; perform substitution on all further matches.
</ul>
<hr>
<a name="links"></a>
<h1>Links and addresses</h1>
<pre>
Chris Allegretta allegrcr@plattsburgh.edu
Nano editor maintainer
<a href="http://go.to/nano-editor"
>http://go.to/nano-editor</a> or (currently)
<a href="http://faculty.plattsburgh.edu/astyanax/nano/"
>http://faculty.plattsburgh.edu/astyanax/nano/</a>
Nano editor HomePage (run by Chris Allegretta)
<a href="http://faculty.plattsburgh.edu/astyanax/nano/dist/"
>http://faculty.plattsburgh.edu/astyanax/nano/dist/</a>
Nano editor distribution location (only HTTP - no FTP or FTP mirrors yet)
<a href="http://faculty.plattsburgh.edu/astyanax/nano/dist/RPMS/"
>http://faculty.plattsburgh.edu/astyanax/nano/dist/RPMS/</a>
Nano editor RPMs
<a href="http://www.math.fu-berlin.de/~guckes/pico/"
>http://www.math.fu-berlin.de/~guckes/pico/</a>
Pico editor page (run by Sven Guckes)
Sven Guckes guckes-nano@math.fu-berlin.de
Author of this article and evangelist for text based programs
such as elm, irc, lynx, mutt, nn, screen, slrn, vim, zsh.
Email since 1989, Usenet since 1992. Webmaster of slrn.org, vim.org.
<a href="http://www.math.fu-berlin.de/~guckes/"
>http://www.math.fu-berlin.de/~guckes/</a>
</PRE>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Sven Guckes<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Linux Site O' The Month: Unix Guru Universe</font></H1>
<H4>By <a href="mailto:slambo@linuxstart.com">Sean Lamb</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<H2>What's This?</H2>
<P> This article is the the current installment in an ongoing series of site
reviews for the Linux community. Each month, I will highlight a Linux-related
site and tell you all about it. The intent of these articles is to let you
know about sites that you might not have been to before, but they will all have
to do with some aspect of Linux. Now, on with the story...
<H2>Unix Guru Universe - "The Official Home Page for Unix System Administrators"</H2>
<h3><a href="http://www.ugu.com/">http://www.ugu.com</a></h3>
<P> I can hear you yelling now - "Hey waittaminnitt! This is <i>Linux</i> Gazette,
not <i>UN*X</i> Gazette!" Just hold your horses, and listen for a moment. Linux
was originally written as a UNIX clone, right? All right, that may be an
oversimplification, but the ls command will work the same in UNIX
as in AIX or *BSD or Linux, right? Well, let's take a look at what we can find.
<P> Unix Guru Universe (UGU) is a clearing house of information for a great majority of
UNIX-like operating systems in use today. This includes Solaris, HP-UX, OpenBSD and,
of course, our beloved Linux. If we follow the link from the UGU home page to the
list of 80 UNIX flavors (yes, there really are that many), then the link to Linux, we
are provided with a wealth of information about configuring, adminning and just using
Linux.
<P> Included in the Linux Articles section are the Network Administrator's Guide, the
Firewall and Proxy Server HOWTO and the Linux DNS Howto. The Linux-specific section of
UGU also has a list of useful FTP and User Group sites as well as links to many of the larger
distributions (not just Redhat, Caldera and SuSE, but others too like Walnut Creek and
Yggdrasil). There is also a Linux-specific web bulletin board under the Newsgroup link.
<P> However, don't forsake the rest of UGU just to get to the Linux-specific information.
If we look under the Beginners & Users Start Here link, we find helpful general information
including a brief history of UNIX, an Introduction To The UNIX Operating System, Commonly
Used Commands, and UNIX Commands For DOS Users.
<P> Even with these beginner documents, UGU is aimed at the sysadmin who is looking for a
handy reference on a wide variety of UNIX platforms. UGU's about page says it best:
<blockquote>
... UGU was developed for the System Administrators who don't have time to surf/cruise/browse
the internet looking across the world for the information they seek. It was developed so an
Admin could go in find what they are looking for quickly and easily and get out. The page is
for ALL Admins beginners to guru's alike to share.
</blockquote>
<P> On the Internet of today, it's hard to find sites that have more and better content than
flash. UGU faces up to this challenge excellently; this site, aside from the home page, is
almost entirely graphics free. This means, of course, that the site is exceedingly fast
loading on even the pokiest of today's dial up connections (it's even tolerable at 2400 baud).
UGU also avoids the use of tables and doesn't use frames so you can browse the site using almost
any browser currently available.
<P> Regular readers of this column will know that I like search engines. For a newbie to any
site, it is much easier to get a feel for what's available by letting the search engine
highlight the content that the user is looking for. UGU's search engine is under the Find It
Fast, Find It Now link on the home page and the Search link at the bottom of each content page.
UGU's search provided quick and relevant results to my searches, returning information on the
UGU site as well as links to software developers' sites for further information.
<P> So, once you get your box up and running and you need information on how to admin it
efficiently and securely, check out the information at UGU.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Sean Lamb<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Large Objects and Perl DBI</font></H1>
<H4>By <a href="mailto:zing@tcu-inc.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
If this document changes, it will be available here:
<a href="http://genericbooks.com/Literature/Articles/2">
http://genericbooks.com/Literature/Articles/2
</a>.
<h2>Index:</h2>
<ol>
<li><a href="#Resources"> Resources</a>
<li><a href="#Intro"> Introduction</a>
<li><a href="#DBI"> Using Perl DBI</a>
<li><a href="#Large"> Using Large Objects and Perl</a>
<li><a href="#Web">Using the database server with a webserver.</a>
<li><a href="#Comments"> Comments</a>
</ol>
<hr> <a name="Resources"></a> <h2>Resources</h2>
I assume that you have DBI and DBD::Pg installed with Perl.
<ol>
<li> man DBI
<li> man DBD::Pg
<li> <a href="ftp://ftp.perl.com/CPAN/modules/by-category/07_Database_Interfaces/">
ftp://ftp.perl.com/CPAN/modules/by-category/07_Database_Interfaces/
</a>
<li> <a href="http://www.postgresql.org/cgi/htsearch?config=pgsql-questions&restrict=&exclude=&method=and&format=builtin-long&sort=score&words=large+object+dbi"> A search for "large" and "dbi"</a> on one of the postgresql
newsgroups.
<li> <a href="http://www.postgresql.org/doxlist.html"> http://www.postgresql.org/doxlist.html</a> -- A chapter on Large Objects in the Programmer's
Guide for PostgreSQL.
<li> <a href="http://www.postgresql.org/docs/programmer/largeobjects3386.htm"> Two examples using psql</a> which explain how to use large objects.
</ol>
<hr> <a name="Intro"></a> <h2>Introduction</h2>
I work at ZING Is Not GNU. We sell and distribute free books or literature.
Well, besides selling books inexpensively, we also want people to download
the books. This creates a problem when you need to take megabytes of data
and put them into a database. I have programmed putting large amounts
of data into databases before, but only 100k or less of data per transaction.
This was the first time I needed to put really large files into a database.
My biggest problem was the fact it really isn't
documented well when you use Perl. Also, I never needed to use
Large Objects with PostgreSQL before. I have used other database servers
for Large Objects, but not PostgreSQL.
<p>
What are Large Objects? Large Objects are "things" (text or binary data) which
cannot fit into a normal field in a table. For example, a 100 megabyte file
cannot really fit into a field in a table.
<p>
What were the technologies I was using? RedHat Linux, postgresql-6.5.3,
Perl 5 (with DBI, DBD::Pg, and Pg), and apache_1.3.9.
<p>
In general, how do you use Large Objects in PostgreSQL? You can save
large objects like "files" where the database server will let you input
a file and it will give you a number in return, and when you want to
retrieve the data, you use the number to export your data to a temporary
file on your hard drive. It is kind of weird. In order to extract a Large
Object, it sort of takes two steps. First, you copy the data to a file
on your computer, and then you can read it. The problem is, from my
point of view, is that data normally is read once. Here, it is read twice,
to make the file, and then to read the file. There isn't any way around this
(as far I as know), but I am just new to Large Objects in PostgreSQL (I have
used them in other database servers before though), so perhaps there
are better ways.
<hr> <a name="DBI"></a> <h2>Using Perl DBI</h2>
<a href="http://www.perl.com">
PERL</a> is a programming language used by many web and database professionals.
It took a couple of years, but now people are finally recognizing that
free and open software, like
<a href="http://www.perl.com">PERL</a>,
<a href="http://www.php.net">PHP</a>, and
<a href="http://www.python.org">Python</a>
can be used for commercial companies
as an alternative to bloated, inefficient, and unstable commercial
programming languages (which most of the time you don't have source code
for, and hence, you can never be sure what you are using truly does
everything it claims to do -- there is one company I am
talking about in particular). Being a contractor, I have noticed an
explosion of Perl jobs (it pleases me greatly to see the rise of ethically
clean software), and hence, I am sure this will be useful to other contractors
out there who would prefer to use PostgreSQL over other alternatives.
Perl DBI is a generic database interface for all database
servers or files. In order to connect to a specific database, you also
need a Perl DBD driver. For example, to connect to PostgreSQL, I use Perl
DBI and Perl DBD:Pg. Here is a brief example of how I print out
the first and last names from a PostgreSQL database using the table
"people".
<pre>
#!/usr/bin/perl
use DBI;
use vars qw($dbh);
### zing is the database I am connecting to.
$dbh ||= DBI->connect("dbi:Pg:dbname=zing");
my $Command = "select first_name,last_name from people
sort by last_name,first_name";
my $sth = $dbh->prepare($Command);
my $Result = $sth->execute;
while (my @row_ary = $sth->fetchrow_array)
{print "<br> $row_ary[0] $row_ary[1]\n";}
</pre>
The problem with PERL DBI is that the Large Object interface isn't
fined tuned yet, and you have to use the specific DBD driver for each
type of database. The problem with DBD::Pg is that Large Objects is
not well documented, and it took me a long time looking through
newsgroups to find the answer I was looking for. Eventually, I also
did manage to find
<a href="http://www.postgresql.org/docs/programmer/largeobjects3386.htm">
this note on Large Objects</a>.
<hr> <a name="Large"></a> <h2>Using Large Objects and Perl</h2>
ONE WARNING: The reason why temporary files are actually a good thing is
for the following reason, for big files, if you suck the data all into
memory at once, Perl running under Apache using mod_perl will use up
a lot of system memory and it won't give it back (even though Perl will
reuse the memory itself). Imagine if you have 10 people downloading
10 megabyte files and your Perl script loads the files into memory
before it prints them (instead of just printing them line-by-line). Apache
will use 100 megabytes of system memory (actually Perl will) and it won't
give it back. This can be bad. In other Database servers using Large Objects,
I could load the data directly into memory. I would not want to do that
with really large files anyways. Read this
<a href="http://perl.apache.org/guide/performance.html">
performance guide</a> for more info.
<p>
Okay, how do we import and export large object from PostgreSQL?
This following example comes straight from the
<a href="http://www.postgresql.org/docs/programmer/largeobjects3386.htm">this
PostgreSQL documentation</a>. This example uses the program psql.
<pre>
CREATE TABLE image (
name text,
raster oid
);
INSERT INTO image (name, raster)
VALUES ('beautiful image', lo_import('/etc/motd'));
SELECT lo_export(image.raster, "/tmp/motd") from image
WHERE name = 'beautiful image';
</pre>
<p> Now, we need to convert this into perl. Here is a perl script which
would do the exact same thing.
<pre>
#!/usr/bin/perl
use vars qw($dbh);
$dbh ||= DBI->connect("dbi:Pg:dbname=zing");
my $Command = "INSERT INTO image (name, raster)
VALUES ('beautiful image', lo_import('/etc/motd'));";
my $sth = $dbh->prepare($Command);
$sth->execute();
$Command = "SELECT lo_export(image.raster, '/tmp/motd') from image
WHERE name = 'beautiful image'";
$sth = $dbh->prepare($Command);
$sth->execute();
</pre>
<p>
Those two examples do the following. The first command loads the file
"/etc/motd" into a table. The second command takes the data in the table
and exports it to a file called "/tmp/motd". If you want to get the "oid"
of data in the table and export it to a file, you could also do this.
<pre>
## This command will return a numeric "oid" number
$Command = "SELECT raster from image WHERE name = 'beautiful image'";
$sth = $dbh->prepare($Command);
$sth->execute();
my @row_ary = $sth->fetchrow_array;
my $Oid = $row_ary[0];
## This command will export the data with the "oid" to a file
$Command = "SELECT lo_export($Oid, '/tmp/motd') from image";
$sth = $dbh->prepare($Command);
$sth->execute();
</pre>
<p>
For live examples, ZING at
<a href="http://www.genericbooks.com">www.genericboosk.com</a>
has all of its Perl Scripts available for public viewing. Look for
scripts that view documents that are extracted from the database.
ZING now has setup scripts to let people upload and download documents,
so we should have real live examples floating around on the website.
<hr> <a name="Web"></a> <h2>Using the database server with a webserver.</h2>
Okay, what problems can you encounter when you use a webserver to
input/output the data from a database server? Well, the biggest problem
I saw, was that if the database server and the webserver run under two
different accounts (like "www" and "pgsql"), the webserver and database
server may have problem reading the others temporary files.
Here is a list of problems
and their solutions.
<ol>
<li> The webserver cannot upload the file to PostgreSQL because it doesn't
have super user privileges to use lo_import and lo_export. Well, give the
webserver its own database server (same account), give the webserver
super user status with the database server, or look into client-side
commands that I never had a chance to look at yet, concerning lo_import
and lo_export.
<li> The webserver cannot delete the exported files once the database
server has exported them and the webserver doesn't need them anymore.
Make the webserver and database server run under the same account,
setup a "group" where the webserver can delete the database server
files, or setup a cron job to delete the files every once in a while and
save the files by the pid of the webserver so that they will tend
to get overwritten by new processes later. ZING just saves files by their pid
number so that the next time a document is pulled, it will overwrite the
previous one (which isn't needed anymore).
</ol>
<p> At ZING, we export the files by the pid number of the child process
of the webserver. When the webserver needs to export another document,
it hands the process to one of its children, and if the child already
has exported a document before, it will just overwrite the previous one
which makes it so we don't end up with tons of exported undeleted files.
Then, once an hour, we go through and delete any files older than 15 minutes.
It is not as elegant as I would like, but it works fine.
<p>
In general, it is a bad idea to let your webserver have super user
status or to have the webserver and database server run under the same
username. For security, you don't want your webserver having the power
to blow away the database server. Oh well.
<hr> <a name="Comments"></a> <h2>Comments</h2>
I really don't like the way Large Objects are handled in PostgreSQL, or
any other database server I have used. There should be a way to treat
importing and exporting data from a database server as STDIN or STDOUT
where you can just grab the stuff line by line and not the whole darn
thing at once. I don't like the fact that we have to use intermediate files
to get to the data. It would be nice if we could choose to directly dump data
directly into memory or use temporary files if the data is too big to hold
in memory. CHOICE is the key word here.
What does this mean? Since PostgreSQL is the best
free and open database server out there, help the guys out by
<a href="http://www.postgresql.org/devel-contrib.html">
becoming a developer for PostgreSQL!</a> Perhaps there is a way to directly
dump Large Objects into memory using PostgreSQL, and if there is, write
a follow-up to this article and prove me wrong! Actually, being able to
get Large Objects one line at a time would really be cool.
<p>
Anyways, I will try to find better solutions, so
<a href="mailto:zing@tcu-inc.com">let me know</a> if you hear
of any!
<p>
Large Objects have always been a pain for me. I have always wanted to
use Large Objects in PostgreSQL. Now that I had a reason, I finally
did it. Hopefully it will save other people headaches. If it saved you
from headaches, donate time or money to
<a href="http://www.genericbooks.com">ZING</a>, or do something charitable
for some other cause! If we all do a little, it makes a big impact.
<p>
My next goal is to do handle Large Objects in PostgreSQL using the
programming languages PHP and Python. After that, I want to see if there
is a way to use Large Objects without being a super user.
After that, I want to compare this
to MySQL. For licensing reasons and since PostgreSQL has always been
100% free and open, I prefer PostgreSQL over MySQL. However I want to
compare and contrast them to help make PostgreSQL better. Recently, MySQL
has relaxed its license, but I am going to stick with PostgreSQL since
they have always had the best license.
<hr>
<a href="http://www.tcu-inc.com/mark">Mark Nielsen</a> works for
<a href="http://www.tcu-inc.com">The Computer Underground</a> as a
receptionist and as a
book binder at <a href="http://www.genericbooks.com">
ZING</a>.
In his spare time, he does volunteer stuff, like writing
these documents for The Linux Gazette (and other magazines).
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Mark Nielsen<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Creating Installation CDs from various Linux Distributions</font></H1>
<H4>By <a href="mailto:mark@tcu-inc.com">Mark Nielsen</A> and <a href="mailto:kris@tcu-inc.com">Krassimir Petrov</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
If this document changes, it will be available here:
<a href="http://www.tcu-inc.com/mark/articles/cdburn.html">
http://www.tcu-inc.com/mark/articles/cdburn.html</a>
<h3> Index </h3>
<ol>
<li><a href="#Ref"> References</a>
<li><a href="#Intro"> Introduction to CD-ROM burning</a>
<li><a href="#ide"> Installing an IDE CD-ROM writer</a>
<li><a href="#programs"> Cdrecord and Xcdroast</a>
<li><a href="#download"> Download your favorite distributions.</a>
<li><a href="#write"> Write the CD-ROM</a>
<li><a href="#conclusions"> Conclusions and future articles</a>
</ol>
<hr>
<a name="Ref"></a>
<h1>References</h1>
<ol>
<li> <a href="http://www.guug.de/~winni/linux/cdr/html/">
CD-Writing HOWTO</a> by Winfried Trmper
<li> <a href="http://www.linuxdoc.org/HOWTO/mini/LILO.html">Lilo mini-Howto</a>
<li><a href="http://www.fh-muenchen.de/rz/xcdroast"> Xcdroast</a>
</ol>
<hr>
<a name="Intro"></a>
<h1>Introduction to CD-ROM burning</H1>
The purpose of this article is to explain how to create an installation CD-ROM from one of the Linux distributions. We will limit ourselves to IDE CD-ROM writers, any ftp program, the program cdrecord, and the pre-made ISO images from various Linux distributions. We will also be touching the /etc/lilo.conf file.
<p>
This document may be modified and distributed with or without the permission of its authors. The authors disclaim any warranties with regard to this document: use it at your own risk.
<hr>
<a name="ide"></a>
<h1>Installing an IDE CD-ROM writer</H1>
Using SCSI CD-ROM writers is usually easy, but most people have IDE CD-ROM writers and it is what we are using. Thus, we will talk only about IDE CD-ROM writers.
<p>
First, there are two types of CD-ROM writers, CD-ROM recorders and CD-ROM re-writers. Either will work fine. CD-ROM recorders only write once to the cheap ($2 or cheaper) write-once CD-ROMs. The CD-ROM re-writers can also delete and re-write the more expensive rewriting CD-ROMs. CD-ROM rewriters also can behave as CD-ROM recorders.
<p>
Second, in order to use an IDE CD-ROM writer, you must fool the computer into believeing that it is a SCSI CD-ROM writer. You do this by attaching a Linux kernel module called "ide-scsi" to your IDE CD-ROM wrtier and then by loading the ide-scsi module. There are two ways of attaching the ide-scsi module, by the lilo prompt or inside the /etc/lilo.conf file. We will assume your CD-ROM writer is at /dev/hdd. Here is a list that explains what /dev/hdd is.
<ol>
<li> If your CD-ROM writer is the master drive on the primary controller, it uses /dev/hda.
<li> If your CD-ROM writer is the slave drive on the primary controller, it uses /dev/hdb.
<li> If your CD-ROM writer is the master drive on the secondary controller, it uses /dev/hdc.
<li> If your CD-ROM writer is the slave drive on the secondary controller, it uses /dev/hdd.
</ol>
Now here are the two ways of attaching the ide-scsi module to your CD-ROM writer.
<ol>
<li> At the lilo prompt when your Linux boots up, hit the tab key. This will give you a list of kernels you can use. For example, we will use the word "linux" to represent a kernel on our system. If your kernel is called "linux" also, then type in
<br> linux hdd=ide-scsi
<br> and the CD-ROM writer located at /dev/hdd will become a scsi CD-ROM writer
located at /dev/scd0.
<li> If you want to use lilo to configure your CD-ROM writer, you need to put the following line in /etc/lilo.conf file:
<br> append="hdd=ide-scsi"
<br> and a sample file is here
<pre>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.5-15
label=linux
root=/dev/hda1
initrd=/boot/initrd-2.2.5-15.img
append="hdd=ide-scsi"
read-only
</pre>
and then after you are done editing this file, type the command "lilo" to install lilo. Then reboot.
</ol>
<p>
In order to load the ide-scsi module, type "insmod ide-scsi" at the prompt.
You can also put this command at the bottom of /etc/rc.d/rc.local (for RedHat people)
to have it load at boot time.
<p>
Remember! After you can properly configured the IDE CD-ROM writer, your CD-ROM writer will be located at "/dev/scd0". If you want to keep it this way, do this:
<pre>
rm -f /dev/CD-ROM
ln -s /dev/scd0 /dev/CD-ROM
</pre>
Certain programs expect your CD-ROM to be at /dev/CD-ROM, and thus, this links (or creates an alias) your CD-ROM to /dev/CD-ROM.
</p>
<hr>
<a name="programs"></a>
<h1>Cdrecord and Xcdroast</h1>
There are two programs to make CD-ROMs in Linux. The first is cdrecord and the second is a GUI program called Xcdroast. We will limit ourselves to the program cdrecord. However, here is a link for <a href="http://www.fh-muenchen.de/rz/xcdroast"> Xcdroast</a> if you want further information. One note about Xcdroast, you will need a spare primary partition (about 1 gig) to normally use Xcdroast.
<p>
After you have attached your CD-ROM writer to the ide-scsi module and you have loaded the ide-scsi module, you want to see if your CD-ROM writer is recognized by cdrecord.
The command cdrecord has a special option that will attempt to recognize your device. To recognize the device, the format of the command is: # cdrecord -scanbus.
<p>
If you have not installed the IDE CD-ROM writer properly, you will probably get this response:
<pre>
# cdrecord -scanbus
cdrecord: No such file or directory. Cannot open SCSI driver.
</pre>
If you properly installed your IDE CD-ROM writer, issuing the command "cdrecord -scanbus" should produce something like this:
<pre>
# cdrecord -scanbus
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'ATAPI " 'CD-R/RW CRW6206A' '1.2A' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
.............
0,7,0 7) *
</pre>
This basically means that the system recognized the Acer 6206A CD-RW as a SCSI device and is ready to record. There is something important to notice here: the triplet <0,0,0> which identifies the CD-R device. This triplet will be necessary for the proper use of cdrecord.
<hr>
<a name="download"></a>
<h1>Download your favorite Linux distribution</H1>
At this step, we download a distribution. In order to write a CD, we need a CD-image, better known as an ISO-image. Getting a distribution's ISO-image is fairly easy if you have used Netscape or any ftp program.
<p>
The easiest way to search around for distributions is by browsing the Internet. You can use for that Netscape. You can go to a Linux metasite containing most of the distributions or you can go to the website of a specific distribution and download it either from there or from one of their mirrors. In our case, we went to Redhat's website but we preferred to download from one of the mirrors since they may be not as overloaded as Redhat's website. Our choice was
<a href="ftp://sunsite.utk.edu/">ftp://sunsite.utk.edu</a> and here is the
<a href="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso">image for RedHat 6.1</a> on an Intel platform.
One note, for you Linux users, if you use Netscape to download an ISO image from an ftp site, press the "shift" key while you are pressing on the link for the ISO image, otherwise it will print the ISO image inside your browser and you will just see garbage.
<p>
If you want to use another program besides Netscape to download files from an ftp site, use "ncftp" or "gftp". Remember, if your ftp program doesn't automatically detect binary or ascii mode, tell it to choose "binary" mode. Typing in "bin" at the prompt of your ftp program usually takes care of this.
<p>
Here is a small list of ISO images. We didn't test the suse, caldera, or
Slackware images. We are not sure if the Slackware images are the latest
versions.
<ol>
<li><a href="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso">
ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso</a>
<li> <a href="ftp://sunsite.utk.edu/pub/linux/Mandrake/iso/mandrake70.iso">
ftp://sunsite.utk.edu/pub/linux/Mandrake/iso/mandrake70.iso</a>
<li> <a href="ftp://ftp.suse.com/pub/suse/i386/evaluation-6.3.iso">
ftp://ftp.suse.com/pub/suse/i386/evaluation-6.3.iso</a>
<li> <a href="ftp://ftp.caldera.com/pub/openlinux/2.3/iso-images/">
ftp://ftp.caldera.com/pub/openlinux/2.3/iso-images/</a>
<li> <a href="ftp://ftp.CD-ROM.com/pub/linux/slackware/iso/">
ftp://ftp.CD-ROM.com/pub/linux/slackware/iso/</a>
</ol>
<p>
We like
ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso
because downloads are sometimes very fast. At 7am ET, we can achieve on average 380 KB/sec, which means that the download of almost 650 MB can be done in about 1/2 hour. We like it also for another reason: once you get into pub/Linux directory, you will notice there other Linux distributions: Mandarke and Debian.
<p>
We downloaded the file 6.1-i386.iso in the folder /tmp
<p>
Now, that we have the CD-R setup and the file downloaded, we can proceed with writing the CD.
<p>
<hr>
<a name="write"></a>
<h1>Write the CD-ROM</h1>
You can use Xcdroast to install the image, but we will use cdrecord for this example.
<p>
We put a blank CD-ROM writer in the CD-ROM writer drive, navigated with cd to /tmp directory, and issued the cdrecord command:
<pre>
cd /tmp
cdrecord -v speed=2 dev=0,0,0 6.1-i386.iso
</pre>
We now explain what the command means. First, cdrecord is the command itself. Second, -v is the option for verbose operation: this means that we will receive message from the kernel as the command executes. Third, speed=2 indicates the speed with which the recorder writes. Naturally, you should not use a speed higher than that of your own recorder. Our Acer has speed rating of 2x2x6 which means that our maximum write speed is 2. Fourth, you must designate in the command explicitly the CD-R device. We used dev=0,0,0. This is the "triplet" that we wrote about earlier. You use the output from your "cdrecord -scanbus" command to get this information. Finally, 6.1-i386.iso is the ISO image file that is to be written on the CD.
<hr>
<a name="conclusions"></a>
<h1>Conclusions and future articles</h1>
One note, professionals tend to use SCSI CD-ROM writers. SCSI systems are much better than standard IDE systems.
<p>
In order to use some advanced CD-ROM writing capabilities, like re-writing and multi-session writing, you will need to use cdrecord and NOT Xcdroast (unless Xcdroast has changed in the meantime).
<p>
This article was really just a simple article to pave the way for the next
few articles we are going to do.
For our future articles, we will talk about how to make a bootable CD-ROM (instead of booting off of the hard drive or floppy drive), how to make a live filesystem on a bootable CD-ROM (some Linux distributions have examples), and how to make diskless Linux workstations.
<hr>
<a href="mailto:kris@tcu-inc.com"> Dr. Krassimir Petrov</a> recently graduated from OSU.
<a href="mailto:mark@tcu-inc.com">Mark Nielsen</a> works for
<a href="http://www.tcu-inc.com">The Computer Underground</a> as a clerk and as a book binder at
<a href="http://www.genericbooks.com">ZING</a>.
In his spare time, he does volunteer stuff,
like writing articles for The Linux Gazette and developing ZING's website.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Mark Nielsen and Krassimir Petrov<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Sharing Your Home</font></H1>
<H4>By <a href="mailto:jpollman@bigfoot.com">JC Pollman</A> and
<A HREF="mailto:bill.mote@bigfoot.com">Bill Mote</A></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>You move from computer to computer and from OS to OS but you need to
always be in your home directory. This article will show you how - in both
Linux and Microsoft Windows.
<br>
<p><b>Disclaimer: </b>This article provides information we have gleamed
from reading the books, the HOWTOs, man pages, usenet news groups, and
countless hours banging on the keyboard. It is not meant to be an all inclusive
exhaustive study on the topic, but rather, a stepping stone from the novice
to the intermediate user. All the examples are taken directly from
our home networks so we know they work.
<p><b>How to use this guide:</b>
<ul>
<li>
Words encapsulated by square brackets like [Enter] indicate the depression
of a key on the keyboard or a mouse button [Mouse1]</li>
<li>
Words encapsulated by squiggly brackets like {your name here} indicate
data that will/should be substituted with "real" data</li>
<br>Text depicted in italics are commands you, the user, should type at
a prompt</ul>
<b>Prerequisites:</b> In order to have your home directory wherever you
go, you have to have it on your server, so make certain you have an account
on your server. You will also need the samba, nfs client, and nfs server
installed.
<p><b>Protocols:</b> We have seen the question: how do I share a linux
drive to window so many times in the newsgroups that it should never have
to be asked again. But it still continues to be asked. Windows use the
smb protocol to share drives - not tcp/ip. So to share a linux resource
you have to run the smb protocol on linux. Samba is the program that does
this. Linux, on the other hand, uses the tcpip protocol, and the nfs program
is used to share the resources. The protocols are completely different,
but they can be run at the same time and share the same resources. There
is a serious problem with locking the files if both protocols are sharing
the same resource at the same time, but for home use this really should
not be a problem. Security is also a concern and we would strongly recommend
that your "/home server" be behind a firewall and tcp wrappers be running.
<p><a href="misc/pollman/samba.html">Sharing home to a windows box</a>
<p><a href="misc/pollman/nfs.html">Sharing home to another linux box</a>
<p><a href="misc/pollman/final-thoughts.html">Some final thoughts</a>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, JC Pollman and Bill Mote<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Source file management in a complex networked environment</font></H1>
<H4>By <a href="mailto:jrogers@visnetinc.com?subject=Re:cvs-ssh">James M. Rogers</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
When you have more than one person working on a project you need to
make sure that they don't overwrite each others changes. When you
only have a few directories then <A href="http://www.gnu.org/order/ftp.html">Revision Control System (RCS)</a> is
fine. But when you have dozens of projects with ten programmers and
your development environment is spread over several boxes, you have a project
management nightmare that RCS is just not up to handling.
<p>What you need is <A href="http://www.gnu.org/order/ftp.html">Concurent Version System (CVS)</A>. CVS is great
because it is network aware, works with entire directory trees and allows
multiple people to work on the same file at the same time without loosing
anyones changes. CVS is already installed in Redhat 6.0+.
<p>As great as CVS is it still allows your source code to go across the
internet without encrypting it. This month I am going to talk about
setting up a secure networked repository using Secure Shell (ssh).
Next month I will show you how to import your current projects into the
repository, how to check your code out, update files and check your code
back into the repository.
<br>
<ol>
<li>
Setup ssh on all of your boxes. This program is available <a href="ftp://sunsite.unc.edu/pub/packages/security/ssh/">here</a>. The company that makes ssh can be found <a href="http://ssh.com">here</a>.
</li>
<li>
Setup sshd to run on the machine that will host the repository.</li>
<li>
Create a new user account for each group of programmers on the machine
that is hosting the repository account. For this example create a
new user called repository.</li>
<li>
Create a .ssh directory on everyone ones accounts, including the new repository
accounts.</li>
<li>
Run 'chmod 700 .ssh' as the owner of the home directory on everyones account,
including the repository accounts.</li>
<li>
Have everyone create a public and private key using ssh-keygen.</li>
<li>
Collect everyones ~/.ssh/identity.pub files and place these into the ~/.ssh/authorized_keys
in the repository account if they are allowed to work on that project.</li>
<li>
Run 'chmod 700 ~/.ssh/authorized_keys' as the repository account.</li>
<li>
Test to make sure that people can use 'ssh repository@repository_host'
where repository is the name of the group directory and repository host
is the name of the host that has the repository.</li>
<li>
Create a directory called ~/cvsroot in the repository home directory.</li>
<li>
Setup the followint two environmental variables in whatever shell script
rc file you need to. For me it was my ~/.bashrc file:</li>
<p><br>export CVS_RSH=ssh
<br>export CVSROOT=repository@repository_home:/home/repository/cvsroot
<br>
<li>
Login to another window to ensure that you still can login and that these
environmental variables got set correctly.</li>
<li>
Do a 'cvs init' command as any user authorized to use this repository and
you should get no error messages.</li>
<li>
If you get any error messages, start over from scratch and repeat directions
until you get it works.</li>
<li>
If you have any questions please contact me.</li>
<li>
Take this oportunity to play with both SSH and CVS. Read the documentation,
see if you can think up of new ways of using them. If anyone has
another way of setting up cvs repositories, please share with us!
I am especially interested in finding out how to setup a public cvs repository
like I see on the internet all the time.</li>
</ol>
And if anyone was paying attention, this is also how you can setup all of your own accounts so that you only have to log on once to a secure machine and then connect to anyother machine without logging in again. I will discuss how to set that up in my next article in this series.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, James M. Rogers<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Developing Web Applications - Part III</font></H1>
<H4>By <a href="mailto:afsilva@liberty.edu">Anderson Silva</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<br> At this time, I will close the <b>Developing Web
Applications</b> series with a very helpful example that if you understand
it, you will be able to apply the same type of application to several other
types of online applications. I am talking about <b>creating your own online
bookmark</b>. Once you understand this example, you will be able to do
basic <b>mySQL</b> operations with php3.
<p> But before I get to the php3 code for the bookmark application,
you will need to create a mysql table to store your bookmarks.
There are several ways to administrate mySQL databases:
<ul>
<li>
Command Line: You can create all your tables, insert data, and query them
out from the mysql client. To do this, I would suggest you read the mySQL
Language reference at <a href=http://www.mysql.com>http://www.mysql.com</a></li>
<li>
GUI Based: You can download several different types of graphical interface
to administrator a mysql database. For example: xmysql and kmysql. To download
this tools, I would suggest: <a href=http://www.tuxfinder.com>http://www.tuxfinder.com</a></li>
<li>
Online Interface: This is definitely my favorite option. There is a very
nice tool called phpMyAdmin, which allows you to administrate one
or more mySQL database remotely through your browser. Here is the URL:
<a href=http://www.phpwizard.net/phpMyAdmin>http://www.phpwizard.net/phpMyAdmin</a></li>
</ul>
Choose whatever fits you better. For this small project,
I will give you the configuration that fits the needs for this application.
<p> Database Host: <b>myserver</b>
<br> Username: <b>myusername</b>
<br><b> </b>Password: <b>mypassword</b>
<br><b> </b>Database Name: <b> mydatabase</b>
<br><b> </b>Table Name: <b>bookmark</b>
<br> Fields in the <b>bookmark</b> table: <b>id,
url, description</b>
<p> All the information above is relevant when
coding the application. <b>Note:</b> The fields are the columns on the
database. The id was defined to allow every entry in your database to be
unique (<b>primary key</b>), it should be defined to be unique, and auto-increment.
<p> Once you have your database defined and working,
you may start coding your application, and here is how it goes:
<br>
<p> The HTML form that will capture the data and send
it in to the database:
[<A HREF="misc/silva/book_form.html.txt">text copy of this listing</A>]
<pre>
<HTML>
<head>
<title>Anderson's bookmark</title>
</head>
<body bgcolor=white>
<form ACTION="sendbook.php3" METHOD="Post">
<center><p>Enter The Bookmark Title:</font>
<input TYPE="text" SIZE="40" NAME="description"> </p>
<center><p>Enter The Bookmark URL:</font>
<input TYPE="text" SIZE="40" NAME="URL"> </p></center>
<p><input TYPE="Submit" VALUE="Check"><br>
</form>
<a href="book.php3">View Bookmarks</a>
</body>
</html>
</pre>
The above form will have to text fields: one for the
URL, the other for the URL description. The <b>form </b>tag will be responsable
for telling the browser what to do when the <b>Submit</b> button is pressed.
In this case it will call the php3 script <b>sendbook.php3</b>, and send
the data to that script.
<p> The following script is the <b>sendbook.php3</b>.
This script will open a connection to the mySQL database, and send the
data from the HTML form to the database.
[<A HREF="misc/silva/sendbook.php3.txt">text copy</A>]
<pre>
<?php
//if any of the two fields is left blank, don't send data, but send an error message.
if(!($description=="") || !($URL==""))
{
//connects to database server
mysql_connect(myserver, myusername, mypassword);
//connects to the database
mysql_select_db('mydatabase');
//this is the query command to insert into the bookmark
// table the values from $description and $URL
// inside the Columns description and URL
mysql_query("insert into bookmark(description, URL) values ('$description', '$URL')");
//closes connection to database.
mysql_close();
//After the data is inserted, the browser will form a web page with
// the following information.
echo "Thanks for adding the bookmark<br>";
echo "<a href=book.php3>View BookMraks</a><br>";
echo "<a href=sendbook.html>Add Another One</a><br>";
}else{
echo "You need to go to the form: <a href=sendbook.html>Sendbook</a>";
}
?>
</pre>
The third and last script is called <b>book.php3</b>.
This script will query the data entered by sendbook.php3, and display on
the screen all of your bookmarks.
[<A HREF="misc/silva/book.php3.txt">text copy</A>]
<pre>
<? echo "<HTML>";
echo "<HEAD><TITLE>Afsilva's Bookmark</title></head>";
echo "<body bgcolor=white>";
echo "<IMG SRC=bookmark.jpg><br><br>";
</pre>
<pre>
//Connect to DB server
mysql_connect(myserver, myusername, mypasword);
//Connect to Database
mysql_select_db("mydatabase");
//Query the database for everything(*) that is on it.
$result = mysql_query("SELECT * FROM bookmark");
</pre>
<pre>
//mysql_num_rows() returns the number of bookmarks found.
$rows = mysql_num_rows($result);
echo "Number of bookmarks:";
//outputs the number of records (rows)
echo $rows;
echo "<br><br>";
$i=0;
echo "<a href=sendbook.html>Insert More BookMarks</a>\n<br><br>";
echo "<table border=1>";
</pre>
<pre>
//This allows you to access the query in a form of an array.
//The array index is the name of the field of the database.
while ($row = mysql_fetch_array($result))
{
echo "<tr><td>\n";
// The . operator adds string together.
echo "<a href=".$row["URL"].">".$row["description"]."</a>\n";
echo "</td></tr>";
}
echo"</table>";
mysql_close();
echo"<a href=../index.html target=_top>";
echo "</HTML>";
?>
</pre>
With these three files you should be able to get your
first bookmark application working, but just don't stop there. Work upon
it, and make your bookmark better, and smarter. From this example, you
should be able to build several other types of online utilities, like:
guestbooks, counters, surveys, etc.
<p> I hope that this article was useful, and taught you
something new. Feel free to email me at: <a href=mailto:afsilva@liberty.edu>afsilva@liberty.edu</a>, and send me your comments
and questions.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Anderson Silva<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Artificial Intelligence and Linux (2<SUP>nd</SUP> Edition)</font></H1>
<H4>By <a href="mailto:afsilva@liberty.edu">Anderson Silva</a></H4>
</center>
<BLOCKQUOTE><EM>
[This is a revision of my article that came out in July 1999. The
article had a few errors and was missing its
conclusion. I have fixed these errors in this revision and added a few
references for anyone who is interested in looking deeper into the
field of AI. One thing I would like to stress is that this
article covers only a very minimal area in AI. -AS]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!-- END header -->
<p>Artificial Intelligence is a very controversial subject, but the way
I will approach it in this article is simple and fast. The way I have been
approaching AI is not through the philosophical or biological aspect, but
just as a computational subject. When humans want to fly, they don't need
to study the birds to learn how to do it, they just get into an airplane.
This is my way of approaching AI. We want to solve puzzles and games through
a computer without really comparing the way a human accomplishes tasks
differently from a computer.
<p>For the first time in the history of my school, there was going to be
offered an Artificial Intelligence (AI) class. I was very excited about
this class because you hear a lot about AI, but you don't really see a
lot of material for it on magazines and online articles.
<p>Probably the greatest example of an AI application is Turing's Test.
The test consists in a person being a room with a computer terminal, and
this person would start to chat with the computer. At the end the person
would have to figure out if he talked to a real person on the other end
of the terminal or with a computer program. And if the user confuses the
person with the computer then we would have reached AI.
<p>At LU we chose Prolog to be the implementation tool for AI. Our labs
at school are Windows NT based and we have only one Linux machine which
is designated to students. But I have been a Linux user for almost 2 years,
and I wanted to implement all my Prolog assignments in Linux.
<p>I did some research on the web and I found a great Prolog compiler for
Linux. Prolog is like Linux in a certain way, there are several flavors
that you can pick from. The one I chose was SWI Prolog
(<A HREF="http://www.hio.hen.nl/faq/SWI-Prolog.html">
www.hio.hen.nl/faq/SWI-Prolog.html</A>).
Prolog is a very flexible language. Unlike other languages like C, C++
or Java, Prolog is based on formal mathematical logic, in this case: Predicate
Calculus. A Prolog program is normally made of facts with a set of rules.
To reach the final solution it has to satisfy this set of rules. Interpreting
these rules allows the computer to deduce the solution by itself. In Prolog
the facts are normally stored in a separate file called the knowledge base,
and rules in another file that is the actual program.
<p>Allow me to show a very basic search algorithm known as the
<a href="gx/silva2/ai_graph.jpg">Depth First Search</a>(click for image).
<p>This program allows you to find a solution path from the START point
to some GOAL. The DFS algorithm is pretty simple so implement, since
it is a
recursive algorithm. What DFS does is go through the child of
each node in a sequential manner, therefore even though it is an easy way
to implement a
search algorithm, it is not time efficient.
<p><b>But why search a graph?</b><b></b>
<p>The nodes of a graph correspond to partial problem solution states and
the arcs correspond to steps in a problem-solving process. The graph also
defines one or more goal conditions, which are solutions to a problem instance.
The process of finding a solution path from the start to a goal is called
State space search (Luger and Stubblefield 1997).
<p>Through a graph you can find the solutions to several problems that
in our minds seems so easy. For example, an entire chess game can be represented
in graphs, mathematical problems, virtually anything that involves decision
making.
<br>
<hr>
<p>The Program below is the representation of the graph above in Prolog.
[<A HREF="misc/silva2/list1.txt">text version</A>]
<p>=========LIST #1=============
<pre>% Name: Anderson Silva
% Date: March 10, 1999
% ================================
% A graph that will be used for a
% Depth First Search Algorithm
% Knowledge Base.
% ================================
% linked/2
% A nodes and its children
linked(a, [b,c,d]).
linked(b, [e,f]).
linked(c, [g,h]).
linked(d, [i,j]).
linked(e, [k,l]).
linked(f, [l,m]).
linked(g, [n]).
linked(h, [o,p]).
linked(i, [p,q]).
linked(j, [r]).
linked(k, [s]).
linked(l, [t]).
linked(m, []).
linked(n, []).
linked(o, []).
linked(p, [u]).
linked(q, []).
linked(r, []).
linked(s, []).
linked(t, []).
linked(u, []).
% arc/2
% A rule that checks to see if
% there is an arc between two given nodes.
arc(X,Y):- linked(X,L), member(Y,L).</pre>
<hr>
<p>The algorthim that searches the graph for a specific goal:
[<A HREF="misc/silva2/list2.txt">text version</A>]
<p>=========# LIST #2=============
<pre>% Name: Anderson Silva
% Date: March 10, 1999
% ================================
% This is the Depth First Algorithm
% implemented in Prolog that will
% use the graph.pl knowledge base
% ================================
% reverse_write/1
% Inverts the order of the stack.
reverse_write([]).
reverse_write([H|T]):-reverse_write(T), write(H), nl.
% solve/2
% Gives the path in the reverse
% order since dfs is implemented as
% a stack
solve(INode, Solution):- consult('graph.pl'),
query_goal,
dfs([], INode, Solution),
reverse_write(Solution).
% query_goal/0
% Creates the goal to be reached
% during execution
% We start with abolish, so if solve is ran more
% than once, it will make sure it
% forgets the old goals and only look for the
% new on.
query_goal :- abolish(goal(Node)),
write('Goal? [Followed by a period]'),
nl,
read(Node),
assert(goal(Node)).
% goal/1
% When the program runs for the first time
% query_goal needs to abolish at least one goal
% and that is why goal(standard) is used.
goal(standard).
% dfs/3
% The Actual recursive algorithm for the
% Depth First Search
dfs(Path, Node, [Node|Path]):- goal(Node).
dfs(Path, Node, Sol):- arc(Node, Node1),
\+ member(Node1, Path),
dfs([Node|Path], Node1, Sol).
</pre>
<hr WIDTH="100%">
<p>With this Prolog program, you will be able to run a Graph Search on
your computer. Notice that LIST #1 defines the graph, therefore you
can make changes in LIST #1 and make your own graphs, and see if the
algorithm will find the node you are looking for.
<p>There are several other search algorithms to solve AI problems,
for example: Breadth-First Search, Heuristic Search, Pattern-Directed
Search, and others.
<p>As I said, this is one small topic in AI, that I thought
it would be useful for some of you that would like to learn more about
AI. If you would like some other areas to reasearch, but you do not even
know where to start, here are a few topics: Expert Systems, Robots,
Knowledge Representation, Fuzzy Logic, Natural Language, Automated Reasoning,
and others.
<p>Finally, I would like to leave you with three books that I used
in college about AI.
<OL>
<LI> Artificial Intellegence: Structures and Strategies for Complex
Problem Solving. Luger, George and Stubblefield, Willian.
<LI> Prolog Programming in Depth. Covington, Michael et al.
<LI> Are We Unique?. Trefil, James.
</OL>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright © 2000, Anderson Silva<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<center><H2>
<A HREF="http://www.linuxgazette.com/">
<IMG SRC="../gx/newlogo.jpg" width=600 height=256 border=0
ALT="Linux Gazette... making Linux just a little more fun!"></a>
</H2>
<H4>Published by <A HREF="http://www.linuxjournal.com/"><I>Linux Journal</I></A></H4>
</center>
<P> <hr> <P>
<H1><font color="maroon">The Back Page</font></H1>
<ul>
<li><a HREF="#authors">About This Month's Authors</a>
<li><a HREF="#notlinux">Not Linux</a>
</ul>
<a name="authors"></a>
<P> <HR> <P>
<!--======================================================================-->
<center><H3><font color="maroon">About This Month's Authors</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<!-- BEGIN bio -->
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Marius Andreiana</H4>
Marius is 19 years old, and a student in the first year at Politehnica
Bucharest, Romania. Besides Linux, he also loves music (from rock to dance),
dancing, having fun, spending time with friends. He is interested also in
science in general (and that quantum spooky connection :) and says, <EM>"I like
cooking (okay, maybe I don't like it a lot, but I have to cook because I live
alone while I'm at studies in Bucharest. Poor me :-) poor neighbours :-)"</EM>
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Shane Collinge</H4>
Part computer programmer, part cartoonist, part Mars Bar. At night, he runs
around in a pair of colorful tights fighting criminals. During the day... well,
he just runs around. He eats when he's hungry and sleeps when he's sleepy.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Ray Ferrari</H4>
I am a new linux enthusiast who has been following the trend for over a
year now. I have successfully installed Debian and participate in
helping bring Linux to more people. I have been working with computers
for seven years on my own, learning as much as possible. I currently am
looking for a sales position within the Linux community. Talks are under
way with VALinux; my dream company. I have been a volunteer for both
Debian and LPI.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Sven Guckes</H4>
Sven, born in 1967, lives and studies
mathematics and computer science
in Berlin, Germany,
He supports the development of text based programs which are
freely available (OpenSource), highly customizable,
available on all platforms, and well supported.
He also comments all his setup files with lots of examples
and makes available them available as "webpages".
His favourite programs as of today are:
irc (sirc), lynx+w3m, (elm) mutt, slrn (nn, gnus), (tcsh) zsh.
He is the maintainer of the webpages on
<A HREF="http://slrn.org">slrn.org</A> and <A HREF="http://vim.org">vim.org</A>.
For more info see <A HREF="http://go.to/guckes">http://go.to/guckes</A>
or write to <A HREF="mailto:guckes@go.to">guckes@go.to</A>.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Sean Lamb</H4>
I am a computer science major and LAN Admin at Lakeland College's Madison, WI,
campus as well as a member of the Wisconsin DOT Help Desk and Server Backup
teams. My previous Linux experience was solely with RedHat until installing
Caldera 2.2. I am a member of MadLUG (the Madison Linux User Group, at <A
HREF=http://madlug.jvlnet.com>http://madlug.jvlnet.com</A>) and an active
contributor to the user group's web presence. When I'm not playing with Linux,
I'm building and running my model railroad. I can be reached at <A
HREF=mailto:slambo42@my-dejanews.com> slambo42@my-dejanews.com</A>.
<p>
<h4><img align=bottom alt="" src="../gx/note.gif">Mark Nielsen</h4>
Mark founded The Computer Underground, Inc. in June of 1998. Since then,
he has been working on Linux solutions for his customers ranging from custom
computer hardware sales to programming and networking. Mark specializes in Perl,
SQL, and HTML programming along with Beowulf clusters. Mark believes in the
concept of contributing back to the Linux community which helped to start his
company. Mark and his employees are always looking for exciting projects to do.
<p>
<h4><img align=bottom alt="" src="../gx/note.gif">Krassimir Petrov</h4>
Krassimir has a PhD in Agricultural Economics from Ohio State University. He
also has an MA in Economics and a BA in Business (Finance, Accounting,
Management).
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">JC Pollman and Bill Mote</H4>
JC has been playing with Linux since kernel 1.0.59. He spend way too much
time at the keyboard and even let his day job - the military - interfere once in
a while. His biggest concern about linux is the lack of documentation for the
intermediate user. There is already too much beginner's stuff, and the
professional material is often beyond the new enthusiast.
<P> Bill is the Technical Support Services manager for a multi-billion dollar
publishing company and is responsible for providing 1st and 2nd level
support services to their 500+ road-warrior sales force as well as their
3,500 workstation and laptop users. He was introduced to Linux by a good
friend in 1996 and thought Slackware was the end-all-be-all of the OS world
... until he found Mandrake in early 1999. Since then he's used his
documentation skills to help those new to Linux find their way.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">James Rogers</H4>
James Rogers is a systems programmer specializing in the area of Cloverleaf
HL7 routers. He is also currently working on an open source library of HL7
routines. He hopes to use this library to write an open source HL7
interface engine.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Anderson Silva</H4>
<A HREF="http://www.4christ.org/anderson.html">Anderson</A>
is a Senior at Liberty University majoring in Computer Science.
Originally from Brazil, he works at
<A HREF="http://www.whetstonelogic.com">Whetstone Logic, Inc.</A> as an
Online Application Developer.
He is also a member of the Association for Computing Machinery (ACM)
and the <A HREF="http://www.lylug.org/">
Lynchburg Linux User Group</A> in Lynchburg, Virginia.
<!-- END bio -->
<a name="notlinux"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">Not Linux</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<P> In late January, I went to the 8th International
<A HREF="http://www.python.org">Python</A> conference in
Arlington, VA, and attended the
<A HREF="http://www.zope.org">Zope</A> track. I have been a Python enthusiast
for several years, and have recently gotten excited about Zope, which is a
web application server. I came back with a year's worth of projects in my
head, and zopified my personal sites (<A
HREF="http://mso.oz.net">mso.oz.net</A>) last weekend. Now comes the harder
part: actually writing applications for this platform, especially since parts
of Zope are still in an alpha stage and are changing rapidly.
<P> Eventually, the <EM>Gazette</EM> itself may migrate to a more interactive
environment like Zope. However, because the <EM>Gazette's</EM> unique
distribution network depends on it being implemented in simple HTML which can
be viewed anywhere (including off-line), we will think long and hard before
making any major changes which may limit its accessibility.
<P> The folks who brought you the WTO protests are at it again with a plan to
<STRONG>Shut Down Microsoft</STRONG>. There will be a street theater action
February 7th at 7:15am. (Ugh, so early in the morning.) If you will be in the
Seattle area and want more information on this, contact Direct Action Network
at 206-632-1656 or 206-632-9482. I will try to have a report in next month's
<EM>Gazette</EM> on how it turns out. (Does this remind anybody of the
<A HREF="http://www.svlug.org/events/tea-party-199811.shtml">
Silicon Valley Tea Party</A>, when Linux enthusiasts crashed the
housewarming party for a Microsoft developer support center in Palo Alto, CA,
in 1998? Of course, the upcoming event will not be focused specifically on
Linux.)
<P> Thanks to all our authors, not just the ones above, but also those who wrote
giving us their tips and tricks and making suggestions. Thanks also to our
new mirror sites.
<P>
Have fun!
<P> Michael Orr<br>
Editor, <A HREF="http://www.linuxgazette.com/"><i>Linux Gazette</i></A>, <A
HREF="mailto:gazette@ssc.com">gazette@ssc.com</a>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.<BR>
Copyright © 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
</BODY></HTML>
|