Squid installs only partially
-
2.0-BETA4 (i386)
built on Mon Oct 25 15:00:24 EDT 2010
FreeBSD 8.1-RELEASE-p1
Platform nanobsd (2g)I know it's a Bad Idea to install squid on embedded, but I have an nfs directory mounted for the cache, so it's not as dumb as first it may appear.
The problem is that when I click to install squid, the package manager shows packages going in, then the page stops responding before the process is complete. top on the console shows bsdtar happening for a while, then it goes away.
The web UI stopped responding entirely for a few minutes but my ssh session stayed active and the CPU was mostly idle. When the web UI responded again the package manager showed squid installed, but the Status|Services page had no squid entry. The Services menu lacked a "Proxy Server" entry. Is there a trick to getting squid fully installed on embedded?
-
i had the same thing on a full install: deinstall and then reinstalling was successful
-
Mine won't deinstall. Same thing, it just stalls the UI. Even after a reboot it shows as installed in the package manager but nowhere else.
-
try to rename /usr/local/pkg/squid.xml
and do normal install -
Thanks. That got the squid package installed, but then within minutes I got this notification:
There were error(s) loading the rules: pfctl: DIOCADDRULE: Device busy The line in question reads [ DIOCADDRULE]:
I see a couple similar errors reported by others in the forum, but no solution. Perhaps it`s of no consequence to me…
-
Naw, when I try to save my squid settings I get a white page with hundreds of these repeated:
Warning: chown(): Read-only file system in /usr/local/pkg/squid.inc on line 69 Warning: chgrp(): Read-only file system in /usr/local/pkg/squid.inc on line 70
and then this line right at the bottom:
Warning: file_put_contents(/usr/local/etc/squid/squid.conf): failed to open stream: Read-only file system in /usr/local/pkg/squid.inc on line 1143 Warning: Cannot modify header information - headers already sent by (output started at /usr/local/pkg/squid.inc:60) in /usr/local/www/pkg_edit.php on line 50
I
m not sure why it
s complaining of a ro filesystem, because I ran /etc/rc.conf_mount_rw right before attempting to save. -
Are you using the squid 2.x package or 3.x?
I'm not sure anyone ever touched the squid 3 package to handle NanoBSD. The rw/ro switch is done internally in the 2.x package in the right places and last time I tried it, it was still working. I haven't tried it in a little while though. It doesn't matter if you set rw by hand before installing, the package system will also try to switch it as needed.
-
2.7.9_4 from the package manager. squid3 doesn't appear as an option for me.
-
Hmm, ok.
Guess it may need some prodding on 2.0 to work then. I have some NanoBSD VMs setup I just haven't booted them up in a while. I'll dust them off, update them, and see if I can replicate this.
-
I appreciate that. Thanks.
-
Well I just installed squid on my 2.0 nanobsd VM and it went without issue, and the settings saved fine. It shows as running under services status, and everything appears fine.
What tab were you saving settings on when you saw the error?
Perhaps there was something left over from a previous install or some other issue… Have you tried to delete the package, maybe even rm all of the squid* files in /usr/local/pkg/ and then reinstall?
-
I will try that. I was trying to save settings on pkg_edit.php?xml=squid.xml&id=0 (Proxy Server: General Settings and Proxy Server: Cache Mgmt) when I got the ro errors. In fact, when I first loaded those pages I did not see the usual default values. For example, all of the fields, such as Minimum Object Size, were blank, where I'm used to seeing default values prefilled, and the cache system was set to null.
At that point squid was running, but no web pages would load for clients that are using it. I tried unsuccessfully to deselect the interface that squid was active on, but even that failed. I had to stop the service from the Services page.
I have not installed squid on this system prior to the start of this thread. I will try your suggestion.
-
Hmm, ok.
Can you look in your config.xml and look to see if you have a "<config>" tag under <squidcache>or <squid>settings?
The defaults should come up no matter what.</squid></squidcache></config>
-
I have this, but I have already entered values in the UI and saved. The values do appear to have saved here and in the UI, despite the errors.
<squidcache> <config><harddisk_cache_size>180000</harddisk_cache_size> <harddisk_cache_system>ufs</harddisk_cache_system> <harddisk_cache_location>/cf/conf/squid</harddisk_cache_location> <memory_cache_size>2000</memory_cache_size> <minimum_object_size>0</minimum_object_size> <maximum_object_size>1000000</maximum_object_size> <level1_subdirs>4</level1_subdirs> <memory_replacement_policy>lru</memory_replacement_policy> <cache_replacement_policy>heap LFUDA</cache_replacement_policy> <cache_swap_low>90</cache_swap_low> <cache_swap_high>95</cache_swap_high> <donotcache><enable_offline></enable_offline></donotcache></config> </squidcache> <squid><config><active_interface><allow_interface>on</allow_interface> <transparent_proxy>on</transparent_proxy> <private_subnet_proxy_off><defined_ip_proxy_off><defined_ip_proxy_off_dest><log_enabled><log_dir>/cf/conf/squid</log_dir> <log_rotate>5</log_rotate> <proxy_port>3128</proxy_port> <icp_port><visible_hostname>localhost</visible_hostname> <admin_email>clarknova@msn.com</admin_email> <error_language>English</error_language> <disable_xforward><disable_via><uri_whitespace>strip</uri_whitespace> <dns_nameservers><disable_squidversion></disable_squidversion></dns_nameservers></disable_via></disable_xforward></icp_port></log_enabled></defined_ip_proxy_off_dest></defined_ip_proxy_off></private_subnet_proxy_off></active_interface></config></squid>
-
Yeah that all looks fine.
-
rm all of the squid* files in /usr/local/pkg/ and then reinstall?
k, this is weird.
/etc/rc.conf_mount_rw rm -rf /usr/local/pkg/squid* rm: /usr/local/pkg/squid.inc: Read-only file system rm: /usr/local/pkg/squid.xml: Read-only file system rm: /usr/local/pkg/squid_auth.xml: Read-only file system rm: /usr/local/pkg/squid_cache.xml: Read-only file system rm: /usr/local/pkg/squid_nac.xml: Read-only file system rm: /usr/local/pkg/squid_ng.xml: Read-only file system rm: /usr/local/pkg/squid_traffic.xml: Read-only file system rm: /usr/local/pkg/squid_upstream.xml: Read-only file system rm: /usr/local/pkg/squid_users.xml: Read-only file system df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/ufs/pfsense0 935007 185378 674828 22% / devfs 1 1 0 100% /dev /dev/md0 39406 4 36250 0% /var/tmp /dev/md1 59246 13532 40976 25% /var /dev/ufs/cf 50527 1955 44530 4% /cf devfs 1 1 0 100% /var/dhcpd/dev 192.168.255.253:/mnt/squid 205980436 131216 195385988 0% /cf/conf/squid
-
run /etc/rc.conf_mount_rw first, then rm the files, then /etc/rc.conf_mount_ro when done.
-
That's exactly what I tried, but the first command appears to have no effect.
-
Ah, when I scrolled down with my mouse wheel it scrolled down that code box and I missed that.
Might have just been bad timing, if you type "mount", does it show pfsense0 as read only after running /etc/rc.conf_mount_rw ?
-
Yes.
/etc/rc.conf_mount_rw mount /dev/ufs/pfsense0 on / (ufs, local, noatime, read-only, synchronous) devfs on /dev (devfs, local) /dev/md0 on /var/tmp (ufs, local) /dev/md1 on /var (ufs, local) /dev/ufs/cf on /cf (ufs, local) devfs on /var/dhcpd/dev (devfs, local) 192.168.255.253:/mnt/squid on /cf/conf/squid (nfs)