Hi I am extremely new to linux so if i could get simple step by step instructions that are dummed down it would really help. Right now i am extremely angry with opensuse’s creators because they created a great system, but it isn’t stable in terms of connecting to the internet. its stable because it barely crashes only thing that happens is it can freeze up sometimes for a bit and then start working again anyway getting to the point I’ve opening ports in the firewall to updating the dhcp client which worked for a bit, but when i rebooted it the problem started again i tried updating again and it still didn’t work the first time i installed it i was able browse the web but i had to reinstall because of a boot error that wouldn’t let me log in at all.
I cant connect to google at all. All i can access are opensuse pages and forums. This is my in my netconfig dns-resolver file info. #!/bin/bash
Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA
Author: Michael Calmer <mc@suse.de>
Marius Tomaschewski <mt@suse.de>
if test “$UID” != “0” -a “$USER” != root -a -z “$ROOT” ; then
echo “You must be root to start $0.” >&2
exit 1
fi
The environment variable ROOT indicates the root of the system to be
managed by SuSEconfig when that root is not ‘/’
r="$ROOT"
. “$r/etc/sysconfig/network/scripts/functions.netconfig”
PROGNAME="${0##*/}"
STATEDIR="$r/var/run/netconfig"
debug “$PROGNAME module called”
. “$r/etc/sysconfig/network/config”
unset DNS_SEARCHLIST ${!DNS_SEARCHLIST_}
unset DNS_SERVERS ${!DNS_SERVERS_}
DESTFILE="$r/etc/resolv.conf"
TMP_FILE=""
*********************
FUNCTIONS
*********************
function write_resolv_conf()
{
#
# empty search list is a valid value
#
#test -z “$1” && return 1
#
# empty nameserver is a valid value too
# (empty at least in the forwarder mode)
#
#test -z “$2” && return 1
debug "write_resolv_conf: '$1' '$2'"
local SEARCHLIST=()
local NAMESERVER=()
# DESTFILE may be a symlink on a read only /-fs
DST_FILE=`read_symlink "${DESTFILE}"`
TMP_FILE=`mktemp "${DST_FILE}.XXXXXX" 2>/dev/null || \
mktemp -t "${DST_FILE##*/}.XXXXXX"` || return 1
if test ! -s "$DST_FILE" ; then
touch "$DST_FILE" ; chmod 644 "$DST_FILE"
fi
# * copy dest => tmp to get the file attributes
# * remove the content
# * print a warning on top of this file
#cp -p "$DST_FILE" "$TMP_FILE"
# set explicit mode on tmp file instead to preserve the
# mode of original file that can be wrong (bnc#428458)
chmod 644 "$TMP_FILE"
cat << EOT > "$TMP_FILE"
$DESTFILE file autogenerated by netconfig!
Before you change this file manually, consider to define the
static DNS configuration using the following variables in the
/etc/sysconfig/network/config file:
NETCONFIG_DNS_STATIC_SEARCHLIST
NETCONFIG_DNS_STATIC_SERVERS
NETCONFIG_DNS_FORWARDER
or disable DNS configuration updates via netconfig by setting:
NETCONFIG_DNS_POLICY=’’
See also the netconfig(8) manual page and other documentation.
Note: Manual change of this file disables netconfig too, but
may get lost when this file contains comments or empty lines
only, the netconfig settings are same with settings in this
file and in case of a “netconfig update -f” call.
Please remove (at least) this line when you modify the file!
EOT
for nd in $1; do
# strip trailing dot added by dhcp 4.x dhclient(6)
[ "x$nd" != "x." ] && nd="${nd%.}"
test "x$nd" = x && continue
# skip duplicates
for od in ${SEARCHLIST[@]} ; do
[ "x$nd" == "x$od" ] && continue 2
done
# resolv.conf supports up to 6 domains
[ ${#SEARCHLIST[@]} -lt 6 ] || break
SEARCHLIST=(${SEARCHLIST[@]} ${nd})
done
if [ ${#SEARCHLIST[@]} -gt 0 ]; then
{
echo "search ${SEARCHLIST[@]}"
} >> "$TMP_FILE"
fi
for ns in $2; do
# skip duplicates
for os in ${NAMESERVER[@]} ; do
[ "x$ns" == "x$os" ] && continue 2
done
# resolv.conf supports up to 3 nameserver
[ ${#NAMESERVER[@]} -lt 3 ] || break
NAMESERVER=(${NAMESERVER[@]} ${ns})
done
if [ ${#NAMESERVER[@]} -gt 0 ]; then
{
for ns in ${NAMESERVER[@]}; do
echo "nameserver $ns"
done
} >> "$TMP_FILE"
fi
netconfig_check_md5_and_move "$TMP_FILE" "$DESTFILE" ".netconfig" TMP_FILE
return $?
}
function get_dns_settings()
{
local cfg=$1 ; shift
test “x$cfg” = x && return 1
local SERVICE DNSSEARCH DNSDOMAIN DNSSERVERS
local var idx DNS_SEARCHLIST DNS_SERVERS
debug "exec get_dns_settings: $cfg"
get_variable "SERVICE" "$cfg"
idx=`get_ranking_idx "$SERVICE" "$@"`
debug " get_dns_settings: service '$SERVICE' => rank '$idx'"
var="DNS_SEARCHLIST_$idx"
DNS_SEARCHLIST=(${!var})
get_variable "DNSSEARCH" "$cfg"
if [ "x$DNSSEARCH" != "x" ]; then
DNS_SEARCHLIST=(${DNS_SEARCHLIST[@]} $DNSSEARCH)
else
get_variable "DNSDOMAIN" "$cfg"
if [ "x$DNSDOMAIN" != "x" ]; then
DNS_SEARCHLIST=(${DNS_SEARCHLIST[@]} $DNSDOMAIN)
fi
fi
unset DNSSEARCH DNSDOMAIN
eval "${var}='${DNS_SEARCHLIST[@]}'"
debug " get_dns_settings: ${var}='${!var}'"
var="DNS_SERVERS_$idx"
DNS_SERVERS=(${!var})
get_variable "DNSSERVERS" "$cfg"
if [ "x$DNSSERVERS" != "x" ]; then
DNS_SERVERS=(${DNS_SERVERS[@]} $DNSSERVERS)
fi
unset DNSSERVERS
eval "${var}='${DNS_SERVERS[@]}'"
debug " get_dns_settings: ${var}='${!var}'"
debug "exit get_dns_settings: $cfg"
return 0
}
function manage_interfaceconfig()
{
local cfg dir="$1" ; shift
test “x$dir” != x -a -d “$dir” || return 1
debug "exec manage_interfaceconfig: $dir"
for cfg in `ls -X -r "$dir/" 2>/dev/null`; do
get_dns_settings "$dir/$cfg" "$@"
done
debug "exit manage_interfaceconfig: $dir"
return 0
}
*********************
EXECUTION STARTS HERE
*********************
just for the case we need the original value…
_NETCONFIG_DNS_RANKING="$NETCONFIG_DNS_RANKING"
case “$_NETCONFIG_DNS_RANKING” in
auto) _NETCONFIG_DNS_RANKING="$NETCONFIG_DNS_RANKING_DEFAULT" ;;
none) _NETCONFIG_DNS_RANKING="" ;;
esac
just for the case we need the original value…
_NETCONFIG_DNS_POLICY="$NETCONFIG_DNS_POLICY"
if [ “x$_NETCONFIG_DNS_POLICY” = “xauto” ]; then
if [ “x$NETWORKMANAGER” = “xyes” ] ; then
#
# Use NetworkManager policy merged data
#
_NETCONFIG_DNS_POLICY=‘STATIC_FALLBACK NetworkManager’
else
#
# We use static settings and extend them
# with interface specific if available
#
_NETCONFIG_DNS_POLICY=‘STATIC *’
fi
elif [ “x$_NETCONFIG_DNS_POLICY” = “x” ]; then
#
# empty policy means do not touch anything.
# successful exit.
#
exit 0;
fi
sf=0
_g=1
disable filename glob expansion if needed
shopt -o -q noglob || _g=0
[ $_g ] && shopt -o -s noglob
for POL in $_NETCONFIG_DNS_POLICY; do
shopt -o -u noglob
case “$POL” in
(NetworkManager)
if [ “x$NETWORKMANAGER” = “xyes” ] ; then
debug “Use NetworkManager policy merged settings”
cfg="$STATEDIR/NetworkManager.netconfig"
if [ -r “$cfg” ] ; then
get_dns_settings “$cfg” “$_NETCONFIG_DNS_RANKING”
fi
break
fi
;;
(STATIC)
debug “Keep Static”
DNS_SEARCHLIST_1="$DNS_SEARCHLIST_1 $NETCONFIG_DNS_STATIC_SEARCHLIST"
DNS_SERVERS_1="$DNS_SERVERS_1 $NETCONFIG_DNS_STATIC_SERVERS"
;;
(STATIC_FALLBACK)
debug “Static Fallback”
sf=1
;;
()
debug “Other: $POL”
for IFDIR in $STATEDIR/$POL; do
test -d “$IFDIR” -a
-d "/sys/class/net/${IFDIR##/}" || continue
# proceed every interface we find with this match
manage_interfaceconfig “$IFDIR” “$_NETCONFIG_DNS_RANKING”
done
;;
esac
done
[ $_g ] && shopt -o -u noglob
if [ $sf -eq 1 -a -z “$DNS_SEARCHLIST_0”
-a -z “$DNS_SEARCHLIST_1” ] ; then
DNS_SEARCHLIST_2="$DNS_SEARCHLIST_2 $NETCONFIG_DNS_STATIC_SEARCHLIST"
fi
if [ $sf -eq 1 -a -z “$DNS_SERVERS_0”
-a -z “$DNS_SERVERS_1” ] ; then
DNS_SERVERS_2="$DNS_SERVERS_2 $NETCONFIG_DNS_STATIC_SERVERS"
fi
check if a nameserver module is used.
If yes, don’t write nameserver. glibc is using
the name server on the local machine then …
if [ “$NETCONFIG_DNS_FORWARDER” != “resolver” -a
“$NETCONFIG_DNS_FORWARDER” != “” ]; then
# write explicitly specified loopback addresses (when any);
# everything else will go into the forwarder specific config.
lns=()
rns_0=""
rns_1=""
rns_2=""
for idx in 0 1 2 ; do
var=“DNS_SERVERS_$idx”
val=(${!var})
rns=()
for ns in ${val[li]} ; do
[/li] case $ns in
127.*|::1) lns+=("$ns") ;;
*) rns+=("$ns") ;;
esac
done
unset $var
eval “rns_$idx=’${rns[li]}’”
[/li] done
# fallback requires a localhost address, set when needed
if test “$NETCONFIG_DNS_FORWARDER_FALLBACK” = yes ;
then
test ${#lns[@]} -le 0 && lns=(127.0.0.1)
fi
# apply localhost addresses + fallback name servers
if test ${#lns[@]} -gt 0 ; then
# local addresses have top prioriry in forwarder modes
DNS_SERVERS_0="${lns[li]} $rns_0"
[/li] DNS_SERVERS_1="$rns_1"
DNS_SERVERS_2="$rns_2"
fi
fi
write_resolv_conf “$DNS_SEARCHLIST_0 $DNS_SEARCHLIST_1 $DNS_SEARCHLIST_2”
“$DNS_SERVERS_0 $DNS_SERVERS_1 $DNS_SERVERS_2”
RET=$?
if [ $RET -eq 1 ]; then
# nothing changed; we are finished
exit 0
elif [ $RET -eq 2 ]; then
user modified the config. Copy aborted
echo "ATTENTION: You have modified $DESTFILE. Leaving it untouched..."
echo "You can find my version in $TMP_FILE ..."
exit 20
fi
here we should restart services if needed
exit 0;
vim: set ts=8 sts=4 sw=4 ai et:
IDK what else to look for could be dhcp configuration problems or something else, but i need an answer very fast. I used to use ubuntu which never has this problem, but it is very unstable freezing and software crashes namely. I also have another problem with an emulator called vba express i get no sound from it at all but everything else works soundwise so its not alsa i’m sure. I would very much appreciate some help with both of these asap I also had a problem with it running the roms too fast and all of the other forums i checked didnt have a solution and there was no throttle menu but i fixed it by setting a throttle in the config file thats the only way to fix it. so what you have to do is for normal speed set throttle to 64 that sets it to 100% which is normal speed setting and i tried adjusting the sound setting by increasing the volume in the gui it didnt work. So any suggestions for one or both.